Skip to content

Commit d2bfb81

Browse files
committed
Update webdriver configs to GruntFile
1 parent 649cdd4 commit d2bfb81

3 files changed

Lines changed: 59 additions & 52 deletions

File tree

Gruntfile.js

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/*global module:false*/
2+
var _ = require('lodash');
3+
24
module.exports = function(grunt) {
35

46
var meta = {
@@ -82,18 +84,56 @@ module.exports = function(grunt) {
8284
jshint: {
8385
all: ['src/**/*.js', '!src/promise.js'],
8486
options: grunt.file.readJSON('./.jshintrc')
87+
},
88+
webdriver: {
89+
chrome: {
90+
browserName: "chrome",
91+
platform: "Windows 7",
92+
version: "34"
93+
},
94+
firefox: {
95+
browserName: "firefox",
96+
version: "15",
97+
platform: "Windows 7"
98+
},
99+
ie9: {
100+
browserName: "internet explorer",
101+
version: "9",
102+
platform: "Windows 7"
103+
},
104+
ie10: {
105+
browserName: "internet explorer",
106+
version: "10",
107+
platform: "Windows 8"
108+
},
109+
ie11: {
110+
browserName: "internet explorer",
111+
version: "11",
112+
platform: "Windows 8.1"
113+
},
114+
safari6: {
115+
browserName: "safari",
116+
version: "6",
117+
platform: "OS X 10.8"
118+
},
119+
safari7:{
120+
browserName: "safari",
121+
platform: "OS X 10.9",
122+
version: "7"
123+
},
124+
chromeOSX:{
125+
browserName: "chrome",
126+
platform: "OS X 10.8",
127+
version: "34"
128+
}
85129
}
86130
});
87131

88-
grunt.registerTask('webdriver', 'Browser render tests', function(arg1) {
132+
grunt.registerTask('webdriver', 'Browser render tests', function() {
89133
var selenium = require("./tests/selenium.js");
90134
var done = this.async();
91-
92-
if (arguments.length) {
93-
selenium[arg1].apply(null, arguments);
94-
} else {
95-
selenium.tests().onValue(done);
96-
}
135+
var browsers = (this.args.length) ? [grunt.config.get(this.nameArgs.replace(":", "."))] : _.values(grunt.config.get(this.name));
136+
selenium.tests(browsers).onValue(done);
97137
});
98138

99139
// Load tasks

package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,18 @@
2020
"url": "https://github.com/niklasvh/html2canvas/issues"
2121
},
2222
"devDependencies": {
23+
"baconjs": "0.7.11",
24+
"base64-arraybuffer": ">= 0.1.0",
2325
"grunt": ">=0.4.0",
2426
"grunt-contrib-concat": "*",
25-
"grunt-contrib-uglify": "*",
27+
"grunt-contrib-connect": "0.7.1",
2628
"grunt-contrib-jshint": "*",
2729
"grunt-contrib-qunit": "*",
30+
"grunt-contrib-uglify": "*",
2831
"grunt-contrib-watch": "~0.5.1",
29-
"base64-arraybuffer": ">= 0.1.0",
32+
"lodash": "^2.4.1",
3033
"png-js": ">= 0.1.1",
31-
"baconjs": "0.7.11",
32-
"wd": "0.2.21",
33-
"grunt-contrib-connect": "0.7.1"
34+
"wd": "0.2.21"
3435
},
3536
"scripts": {
3637
"test": "grunt travis --verbose"

tests/selenium.js

Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,9 @@
157157
}));
158158

159159
resultStream.onError(function(error) {
160-
console.log(colors.red, "ERROR", test.capabilities.browserName, error);
161-
browserStream.push(formatResultName(test.capabilities));
160+
var name = formatResultName(test.capabilities);
161+
console.log(colors.red, "ERROR", name, error.message);
162+
browserStream.push(name);
162163
});
163164

164165
resultStream.onValue(function(result) {
@@ -192,43 +193,8 @@
192193
return array;
193194
}
194195

195-
function runWebDriver(cases) {
196+
function runWebDriver(browsers, cases) {
196197
var availableBrowsers = new Bacon.Bus();
197-
var browsers = [
198-
{
199-
browserName: "chrome",
200-
platform: "Windows 7",
201-
version: "34"
202-
},{
203-
browserName: "firefox",
204-
version: "15",
205-
platform: "Windows 7"
206-
},{
207-
browserName: "internet explorer",
208-
version: "9",
209-
platform: "Windows 7"
210-
},{
211-
browserName: "internet explorer",
212-
version: "10",
213-
platform: "Windows 8"
214-
},{
215-
browserName: "internet explorer",
216-
version: "11",
217-
platform: "Windows 8.1"
218-
},{
219-
browserName: "safari",
220-
version: "6",
221-
platform: "OS X 10.8"
222-
},{
223-
browserName: "safari",
224-
platform: "OS X 10.9",
225-
version: "7"
226-
},{
227-
browserName: "chrome",
228-
platform: "OS X 10.8",
229-
version: "34"
230-
}
231-
];
232198
var result = Bacon.combineTemplate({
233199
capabilities: Bacon.fromArray(browsers).zip(availableBrowsers.take(browsers.length), function(first) { return first; }),
234200
cases: cases
@@ -241,7 +207,7 @@
241207
return result.fold([], pushToArray);
242208
}
243209

244-
exports.tests = function() {
245-
return getTests("tests/cases").fold([], pushToArray).flatMap(runWebDriver).mapError(false);
210+
exports.tests = function(browsers) {
211+
return getTests("tests/cases").fold([], pushToArray).flatMap(runWebDriver.bind(null, browsers)).mapError(false);
246212
};
247213
})();

0 commit comments

Comments
 (0)