Skip to content

Commit cee494a

Browse files
committed
Upgrade to Intern 4.
1 parent 6e93bcf commit cee494a

File tree

14 files changed

+276
-220
lines changed

14 files changed

+276
-220
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
node_modules
1+
node_modules
2+
.idea

.jshintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
"maxlen": 120,
6868
"indent": 4,
6969
"maxerr": 250,
70-
"predef": [ "require", "define" ],
70+
"predef": [ "require", "define", "intern" ],
7171
"quotmark": "double",
7272
"maxcomplexity": 10
7373
}

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ install:
77
- npm install
88
- bower install
99
script:
10-
- grunt jshint test:remote
10+
- grunt jshint
11+
- npx intern config=@sauce
1112
env:
1213
global:
1314
# ibm-js

Gruntfile.js

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,72 +2,20 @@
22
module.exports = function (grunt) {
33
grunt.initConfig({
44
pkg: grunt.file.readJSON("package.json"),
5-
5+
66
jshint: {
77
src: [
88
"**/*.js", "!{node_modules,dev}/**"
99
],
1010
options: {
1111
jshintrc: ".jshintrc"
1212
}
13-
},
14-
15-
intern: {
16-
// run tests on local desktop browser(s)
17-
local: {
18-
options: {
19-
runType: "runner",
20-
config: "tests/intern/local",
21-
reporters: ["runner"]
22-
}
23-
},
24-
// run tests on remote cloud service
25-
remote: {
26-
options: {
27-
runType: "runner",
28-
config: "tests/intern/saucelab",
29-
reporters: ["runner"]
30-
}
31-
}
3213
}
3314
});
3415

3516
// Load plugins
36-
grunt.loadNpmTasks("intern");
3717
grunt.loadNpmTasks("grunt-contrib-jshint");
3818

3919
// Aliases
4020
grunt.registerTask("default", ["jshint"]);
41-
42-
// Testing.
43-
// always specify the target e.g. grunt test:remote, grunt test:remote
44-
// then add on any other flags afterwards e.g. console, lcovhtml
45-
var testTaskDescription = "Run this task instead of the intern task directly! \n" +
46-
"Always specify the test target e.g. \n" +
47-
"grunt test:local\n" +
48-
"grunt test:local.android\n" +
49-
"grunt test:local.ios\n" +
50-
"grunt test:remote\n\n" +
51-
"Add any optional reporters via a flag e.g. \n" +
52-
"grunt test:local:console\n" +
53-
"grunt test:local:lcovhtml\n" +
54-
"grunt test:local:console:lcovhtml";
55-
grunt.registerTask("test", testTaskDescription, function (target) {
56-
function addReporter(reporter) {
57-
var property = "intern." + target + ".options.reporters",
58-
value = grunt.config.get(property);
59-
if (value.indexOf(reporter) !== -1) {
60-
return;
61-
}
62-
value.push(reporter);
63-
grunt.config.set(property, value);
64-
}
65-
if (this.flags.lcovhtml) {
66-
addReporter("lcovhtml");
67-
}
68-
if (this.flags.console) {
69-
addReporter("console");
70-
}
71-
grunt.task.run("intern:" + target);
72-
});
7321
};

intern-requirejs-loader.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// From https://stackoverflow.com/questions/54925478/how-do-i-configure-intern-4-to-use-requirejs/54927704#54927704
2+
/* globals Promise, requirejs */
3+
intern.registerLoader(function (options) {
4+
function initLoader(requirejs) {
5+
// Configure requireJS -- use options passed in through the intern.json
6+
// config, and add anything else.
7+
requirejs.config(options);
8+
9+
// This is the function Intern will actually call to load modules.
10+
return function (modules) {
11+
return new Promise(function (resolve, reject) {
12+
requirejs(modules, resolve, reject);
13+
});
14+
};
15+
}
16+
17+
if (typeof window !== "undefined") {
18+
return intern.loadScript("decor/node_modules/requirejs/require.js").then(function () {
19+
return initLoader(requirejs);
20+
});
21+
} else {
22+
return initLoader(require("requirejs"));
23+
}
24+
});

intern.json

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
{
2+
"environments": [
3+
{
4+
"browserName": "chrome",
5+
"chromeOptions": {
6+
"args": ["headless", "disable-gpu"]
7+
},
8+
"fixSessionCapabilities": "no-detect"
9+
}
10+
],
11+
12+
"leaveRemoteOpen": false,
13+
14+
"basePath": "../",
15+
16+
"node": {
17+
"loader": {
18+
"script": "./intern-requirejs-loader.js",
19+
"options": {
20+
"baseUrl": "."
21+
}
22+
}
23+
},
24+
25+
"browser": {
26+
"loader": {
27+
"script": "dpointer/intern-requirejs-loader.js",
28+
"options": {
29+
"baseUrl": "../../..",
30+
"packages": [
31+
{ "name": "intern", "location": "dpointer/node_modules/intern" }
32+
]
33+
}
34+
}
35+
},
36+
37+
"suites": [
38+
"dpointer/tests/unit/dpointer-utils"
39+
],
40+
41+
"functionalSuites": [
42+
],
43+
44+
"coverage": [
45+
"**/*.js",
46+
"!nls/**",
47+
"!node_modules/**",
48+
"!samples/**",
49+
"!tests/**",
50+
"!intern*",
51+
"!Gruntfile.js"
52+
],
53+
54+
"tunnelOptions": {
55+
"drivers": [ "firefox", "internet explorer", "MicrosoftEdge" ]
56+
},
57+
58+
"WAIT_TIMEOUT": 30000,
59+
"POLL_INTERVAL": 500,
60+
61+
"defaultTimeout": 120000,
62+
"functionalTimeouts": {
63+
"connectTimeout": 60000,
64+
"executeAsync": 30000,
65+
"find": 10000,
66+
"pageLoad": 60000
67+
},
68+
69+
"configs": {
70+
"chrome-debug": {
71+
"description": "Run locally with Chrome visible and leave it open at end",
72+
"leaveRemoteOpen": true,
73+
"environments": [
74+
{ "browser": "chrome", "fixSessionCapabilities": false }
75+
]
76+
},
77+
78+
"firefox": {
79+
"description": "Run locally with Firefox",
80+
"environments": [
81+
{
82+
"browserName": "firefox",
83+
"fixSessionCapabilities": false,
84+
"moz:firefoxOptions": {
85+
"args": [
86+
"-headless", "--window-size=1024,768"
87+
]
88+
}
89+
}
90+
]
91+
},
92+
93+
"firefox-debug": {
94+
"description": "Run locally with Firefox visible and leave it open at end",
95+
"leaveRemoteOpen": true,
96+
"environments": [
97+
{ "browser": "firefox", "fixSessionCapabilities": false }
98+
]
99+
},
100+
101+
"safari": {
102+
"description": "Run locally with Safari visible and leave it open at end",
103+
"leaveRemoteOpen": true,
104+
"environments": [
105+
{ "browser": "safari", "fixSessionCapabilities": false }
106+
]
107+
},
108+
109+
"grid": {
110+
"description": "Run tests against selenium grid, must specify serverUrl and tunnelOptions.hostname on command line",
111+
"tunnel": "null",
112+
"environments": [
113+
{ "browser": "chrome" }
114+
]
115+
},
116+
117+
"browserstack": {
118+
"description": "Run tests on BrowserStack.",
119+
"tunnel": "browserstack",
120+
"maxConcurrency": 2,
121+
"capabilities": {
122+
"idle-timeout": 60,
123+
"fixSessionCapabilities": "no-detect"
124+
},
125+
"environments": [
126+
{ "browser": "internet explorer", "version": ["11"] },
127+
{
128+
"browser": "firefox",
129+
"version": ["latest"],
130+
"platform": ["WINDOWS"]
131+
},
132+
{
133+
"browser": "chrome",
134+
"version": ["latest"],
135+
"platform": ["WINDOWS"]
136+
},
137+
{ "browser": "safari", "version": ["10"] }
138+
]
139+
},
140+
141+
"browserstack-ie": {
142+
"description": "Run tests on IE on BrowserStack.",
143+
"extends": ["browserstack"],
144+
"environments": [
145+
{ "browserName": "internet explorer", "version": "11", "name": "dpointer"}
146+
]
147+
},
148+
149+
"sauce": {
150+
"description": "Run tests on SauceLabs",
151+
"environments": [
152+
{ "browserName": "MicrosoftEdge", "fixSessionCapabilities": false, "name": "dpointer"},
153+
{ "browserName": "internet explorer", "version": "11", "fixSessionCapabilities": false, "name": "dpointer"},
154+
{ "browserName": "firefox", "platform": [ "Windows 10" ], "fixSessionCapabilities": false, "name": "dpointer" },
155+
{ "browserName": "chrome", "platform": [ "Windows 10" ], "fixSessionCapabilities": false, "name": "dpointer" },
156+
{ "browserName": "safari", "fixSessionCapabilities": false, "name": "dpointer" }
157+
],
158+
159+
"proxyPort": 9000,
160+
"maxConcurrency": 5,
161+
"coverage": false,
162+
"tunnel": "saucelabs"
163+
},
164+
165+
"sauce-chrome": {
166+
"description": "Run tests on Chrome/Windows 10 on SauceLabs",
167+
"environments": [
168+
{ "browserName": "chrome", "platform": [ "Windows 10" ], "fixSessionCapabilities": false, "name": "dpointer" }
169+
],
170+
171+
"proxyPort": 9000,
172+
"maxConcurrency": 5,
173+
"coverage": false,
174+
"tunnel": "saucelabs"
175+
},
176+
177+
"sauce-firefox ": {
178+
"description": "Run tests on Firefox/Windows 10 on SauceLabs",
179+
"environments": [
180+
{ "browserName": "firefox", "platform": [ "Windows 10" ], "fixSessionCapabilities": false, "name": "dpointer" }
181+
],
182+
183+
"proxyPort": 9000,
184+
"maxConcurrency": 5,
185+
"coverage": false,
186+
"tunnel": "saucelabs"
187+
},
188+
189+
"sauce-ie": {
190+
"description": "Run tests on IE on SauceLabs.",
191+
"extends": ["sauce"],
192+
"environments": [
193+
{ "browserName": "internet explorer", "version": "11", "fixSessionCapabilities": "no-detect",
194+
"name": "dpointer" }
195+
],
196+
"coverage": null
197+
},
198+
199+
"sauce-safari": {
200+
"description": "Run tests on Safari (Mac) on SauceLabs",
201+
"environments": [
202+
{ "browserName": "safari", "fixSessionCapabilities": false, "name": "dpointer" }
203+
],
204+
205+
"proxyPort": 9000,
206+
"maxConcurrency": 5,
207+
"coverage": false,
208+
"tunnel": "saucelabs"
209+
},
210+
211+
"sauce-ios": {
212+
"description": "Run tests on iOS on SauceLabs (currently hangs).",
213+
"extends": [
214+
"sauce"
215+
],
216+
"environments": [
217+
{ "browserName": "Safari", "platformName": "iOS", "platformVersion": "12.2", "deviceName": "iPad Simulator",
218+
"fixSessionCapabilities": "no-detect", "name": "dpointer" }
219+
],
220+
"coverage": null
221+
},
222+
223+
"sauce-android": {
224+
"description": "Run tests on android on SauceLabs.",
225+
"extends": [
226+
"sauce"
227+
],
228+
"environments": [
229+
{ "browserName": "android", "platform": "Linux", "version": "6.0", "deviceName": "Android Emulator",
230+
"deviceType": "tablet", "fixSessionCapabilities": "no-detect", "name": "dpointer" }
231+
],
232+
"coverage": null
233+
}
234+
235+
}
236+
}

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
"name": "dpointer",
33
"version": "0.5.2",
44
"devDependencies": {
5-
"intern": "1.6.x",
5+
"intern": "4.4.x",
66
"grunt": "~0.4.2",
7-
"grunt-contrib-jshint": "~0.6.3"
7+
"grunt-contrib-jshint": "~0.6.3",
8+
"requirejs": "2.1.x"
89
},
910
"licenses": [
1011
{

tests/intern/TestUtils.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)