UNPKG

4.22 kBJavaScriptView Raw
1var assert = require('assert');
2
3var allBrowsers = require('../fixtures/all-browsers.js');
4var flattenBrowser = require('../../lib/flatten_browser');
5
6test('flatten browser:simple', function(done) {
7 var request = [
8 {name: 'iphone', version: '7.0..latest'},
9 {name: 'android', version: '4.1'},
10 {name: 'ipad', version: '7.0..latest'}
11 ];
12
13 var expected = [
14 {name: 'iphone', version: '7.0', platform: 'Mac 10.9'},
15 {name: 'iphone', version: '7.1', platform: 'Mac 10.9'},
16 {name: 'iphone', version: '8.0', platform: 'Mac 10.10'},
17 {name: 'iphone', version: '8.1', platform: 'Mac 10.10'},
18 {name: 'iphone', version: '8.2', platform: 'Mac 10.10'},
19 {name: 'android', version: '4.1', platform: 'Linux'},
20 {name: 'ipad', version: '7.0', platform: 'Mac 10.9'},
21 {name: 'ipad', version: '7.1', platform: 'Mac 10.9'},
22 {name: 'ipad', version: '8.0', platform: 'Mac 10.10'},
23 {name: 'ipad', version: '8.1', platform: 'Mac 10.10'},
24 {name: 'ipad', version: '8.2', platform: 'Mac 10.10'}
25 ];
26
27 assert.deepEqual(
28 flattenBrowser(request, allBrowsers),
29 expected,
30 'We found the browsers to test'
31 );
32
33 done();
34});
35
36test('flatten browser:stable', function(done) {
37 var request = [
38 {name: 'chrome', version: '40..latest', platform: 'Windows 2012 R2'}
39 ];
40
41 var expected = [
42 {name: 'chrome', version: '40', platform: 'Windows 2012 R2'},
43 {name: 'chrome', version: '41', platform: 'Windows 2012 R2'},
44 {name: 'chrome', version: '42', platform: 'Windows 2012 R2'}
45 ];
46
47 assert.deepEqual(
48 flattenBrowser(request, allBrowsers),
49 expected,
50 'We found the browsers to test'
51 );
52
53 done();
54});
55
56test('flatten browser:negative', function(done) {
57 var request = [
58 {name: 'chrome', version: '-3..latest', platform: 'Windows 2012 R2'},
59 {name: 'safari', version: '-1..latest'},
60 {name: 'ipad', version: '-2..8.1', platform: 'Mac 10.10'}
61 ];
62
63 var expected = [
64 {name: 'chrome', version: '39', platform: 'Windows 2012 R2'},
65 {name: 'chrome', version: '40', platform: 'Windows 2012 R2'},
66 {name: 'chrome', version: '41', platform: 'Windows 2012 R2'},
67 {name: 'chrome', version: '42', platform: 'Windows 2012 R2'},
68 {name: 'safari', version: '7', platform: 'Mac 10.9'},
69 {name: 'safari', version: '8', platform: 'Mac 10.10'},
70 {name: 'ipad', version: '7.1', platform: 'Mac 10.10'},
71 {name: 'ipad', version: '8.0', platform: 'Mac 10.10'},
72 {name: 'ipad', version: '8.1', platform: 'Mac 10.10'}
73 ];
74
75 assert.deepEqual(
76 flattenBrowser(request, allBrowsers),
77 expected,
78 'We found the browsers to test'
79 );
80
81 done();
82});
83
84test('flatten browser:negative with arrays', function(done) {
85 var request = [
86 {name: 'ipad', version: ['7.1', '-2..8.2', '-2..latest']},
87 {name: 'ipad', version: '-2..latest'}
88 ];
89
90 var expected = [
91 {name: 'ipad', version: '7.1', platform: 'Mac 10.9'},
92 {name: 'ipad', version: '8.0', platform: 'Mac 10.10'},
93 {name: 'ipad', version: '8.1', platform: 'Mac 10.10'},
94 {name: 'ipad', version: '8.2', platform: 'Mac 10.10'}
95 ];
96
97 assert.deepEqual(
98 flattenBrowser(request, allBrowsers),
99 expected,
100 'We found the browsers to test'
101 );
102
103 done();
104});
105
106test('flatten browser:oldest', function(done) {
107 var request = [
108 {name: 'chrome', version: 'oldest', platform: 'Windows 2012 R2'},
109 {name: 'firefox', version: 'oldest..4', platform: 'Windows 2012 R2'}
110 ];
111
112 var expected = [
113 {name: 'chrome', version: '26', platform: 'Windows 2012 R2'},
114 {name: 'firefox', version: '3.0', platform: 'Windows 2012 R2'},
115 {name: 'firefox', version: '3.5', platform: 'Windows 2012 R2'},
116 {name: 'firefox', version: '3.6', platform: 'Windows 2012 R2'},
117 {name: 'firefox', version: '4', platform: 'Windows 2012 R2'}
118 ];
119
120 assert.deepEqual(
121 flattenBrowser(request, allBrowsers),
122 expected,
123 'We found the browsers to test'
124 );
125
126 done();
127});