1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
var async = require('async');
describe('matchHeight webdriver', function() {
var capabilities = browser.desiredCapabilities,
urls = capabilities.urls,
viewports = capabilities.viewports,
browserInfo = capabilities.browserName;
if (capabilities.browser) {
browserInfo = capabilities.browser + ' ' + capabilities.browser_version;
}
var runAllTests = function(pageUrls, width, height, done) {
var next = browser;
if (typeof width === 'number' && typeof height === 'number') {
next = next.setViewportSize({ width: width, height: height })
.windowHandlePosition({ x: 0, y: 0 });
} else {
done = width;
}
async.eachSeries(pageUrls, function(pageUrl, callback) {
next = next.url(pageUrl)
.waitForExist('.jasmine_html-reporter', 60000)
.execute(function() {
return {
total: window.specsPassed.concat(window.specsFailed),
passed: window.specsPassed,
failed: window.specsFailed
};
})
.then(function(ret) {
var message = ret.value.failed.join(', ') + ' failed on ' + browserInfo + ' on ' + pageUrl;
expect(ret.value.passed.length).toBe(ret.value.total.length, message);
if (browser.options.pauseOnFail && ret.value.passed.length !== ret.value.total.length) {
console.log(message);
console.log('paused on failure...');
next = next.pause(99999999);
}
})
.then(callback);
}, done);
};
if (viewports) {
for (var i = 0; i < viewports.length; i += 1) {
(function(width, height) {
it('passes matchHeight.spec.js at viewport ' + width + 'x' + height, function(done) {
runAllTests(urls, width, height, function() {
done();
});
});
})(viewports[i][0], viewports[i][1]);
}
} else {
it('passes matchHeight.spec.js', function(done) {
runAllTests(urls, function() {
done();
});
});
}
});
|