testem 3.6.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/config.js +13 -3
- package/lib/reporters/teamcity_reporter.js +2 -2
- package/lib/reporters/xunit_reporter.js +1 -1
- package/lib/utils/browser-args.js +3 -3
- package/lib/utils/known-browsers.js +6 -0
- package/package.json +13 -13
- package/public/.eslintrc.js +2 -1
- package/public/testem/testem_client.js +1 -2
- package/public/testem/testem_connection.js +1 -1
package/lib/config.js
CHANGED
|
@@ -140,9 +140,19 @@ class Config {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
readJS(configFile, callback) {
|
|
143
|
-
|
|
144
|
-
if (
|
|
145
|
-
|
|
143
|
+
let exportedConfig = require(this.resolveConfigPath(configFile));
|
|
144
|
+
if (typeof exportedConfig === 'function') {
|
|
145
|
+
Promise.resolve(exportedConfig()).then(obj => {
|
|
146
|
+
this.fileOptions = obj;
|
|
147
|
+
if (callback) {
|
|
148
|
+
callback.call(this);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
} else {
|
|
152
|
+
this.fileOptions = exportedConfig;
|
|
153
|
+
if (callback) {
|
|
154
|
+
callback.call(this);
|
|
155
|
+
}
|
|
146
156
|
}
|
|
147
157
|
}
|
|
148
158
|
|
|
@@ -106,8 +106,8 @@ module.exports = class TeamcityReporter {
|
|
|
106
106
|
|
|
107
107
|
if (
|
|
108
108
|
hasError &&
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
Object.prototype.hasOwnProperty.call(result.error, 'expected') &&
|
|
110
|
+
Object.prototype.hasOwnProperty.call(result.error, 'actual')
|
|
111
111
|
) {
|
|
112
112
|
attributes.type = 'comparisonFailure';
|
|
113
113
|
attributes.expected = (result.error.negative ? 'NOT ' : '') + escape(result.error.expected);
|
|
@@ -80,7 +80,7 @@ class XUnitReporter {
|
|
|
80
80
|
var errorMessage = '';
|
|
81
81
|
var errorSection = '';
|
|
82
82
|
|
|
83
|
-
if (
|
|
83
|
+
if (Object.prototype.hasOwnProperty.call(error, 'actual') && Object.prototype.hasOwnProperty.call(error, 'expected')) {
|
|
84
84
|
errorMessage = 'Assertion Failed';
|
|
85
85
|
|
|
86
86
|
errorSection += 'Expected:\n';
|
|
@@ -15,8 +15,8 @@ function warn(message) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
function hasOldBrowserArgsFormat(args) {
|
|
18
|
-
return
|
|
19
|
-
|
|
18
|
+
return Object.prototype.hasOwnProperty.call(args, 'mode') ||
|
|
19
|
+
Object.prototype.hasOwnProperty.call(args, 'args');
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
// Lodash's castArray function will turn `undefined` into `[undefined]`, but we want an empty array in that case.
|
|
@@ -37,7 +37,7 @@ module.exports = {
|
|
|
37
37
|
|
|
38
38
|
if (browserArgs && typeof browserArgs === 'object') {
|
|
39
39
|
for (browserName in browserArgs) {
|
|
40
|
-
if (
|
|
40
|
+
if (Object.prototype.hasOwnProperty.call(browserArgs, browserName)) {
|
|
41
41
|
let args = browserArgs[browserName];
|
|
42
42
|
|
|
43
43
|
if (typeof args === 'object' && !Array.isArray(args)) {
|
|
@@ -249,6 +249,9 @@ module.exports = function knownBrowsers(platform, config) {
|
|
|
249
249
|
{
|
|
250
250
|
name: 'Edge',
|
|
251
251
|
possiblePath: edgePaths(),
|
|
252
|
+
possibleExe: [
|
|
253
|
+
'microsoft-edge'
|
|
254
|
+
],
|
|
252
255
|
args(config, url) {
|
|
253
256
|
return chromeArgs(this.browserTmpDir(), url);
|
|
254
257
|
}
|
|
@@ -256,6 +259,9 @@ module.exports = function knownBrowsers(platform, config) {
|
|
|
256
259
|
{
|
|
257
260
|
name: 'Headless Edge',
|
|
258
261
|
possiblePath: edgePaths(),
|
|
262
|
+
possibleExe: [
|
|
263
|
+
'microsoft-edge'
|
|
264
|
+
],
|
|
259
265
|
args(config, url) {
|
|
260
266
|
return headlessChromeArgs(this.browserTmpDir(), url);
|
|
261
267
|
}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"unittest",
|
|
8
8
|
"browser"
|
|
9
9
|
],
|
|
10
|
-
"version": "3.
|
|
10
|
+
"version": "3.9.0",
|
|
11
11
|
"author": "Toby Ho <airportyh@gmail.com>",
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
},
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@xmldom/xmldom": "^0.
|
|
24
|
+
"@xmldom/xmldom": "^0.8.0",
|
|
25
25
|
"backbone": "^1.1.2",
|
|
26
26
|
"bluebird": "^3.4.6",
|
|
27
27
|
"charm": "^1.0.0",
|
|
28
28
|
"commander": "^2.6.0",
|
|
29
29
|
"compression": "^1.7.4",
|
|
30
|
-
"consolidate": "^0.
|
|
30
|
+
"consolidate": "^0.16.0",
|
|
31
31
|
"execa": "^1.0.0",
|
|
32
32
|
"express": "^4.10.7",
|
|
33
33
|
"fireworm": "^0.7.0",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"lodash.clonedeep": "^4.4.1",
|
|
40
40
|
"lodash.find": "^4.5.1",
|
|
41
41
|
"lodash.uniqby": "^4.7.0",
|
|
42
|
-
"mkdirp": "^0.
|
|
43
|
-
"mustache": "^
|
|
44
|
-
"node-notifier": "^
|
|
45
|
-
"npmlog": "^
|
|
42
|
+
"mkdirp": "^1.0.4",
|
|
43
|
+
"mustache": "^4.2.0",
|
|
44
|
+
"node-notifier": "^10.0.0",
|
|
45
|
+
"npmlog": "^6.0.0",
|
|
46
46
|
"printf": "^0.6.1",
|
|
47
|
-
"rimraf": "^
|
|
47
|
+
"rimraf": "^3.0.2",
|
|
48
48
|
"socket.io": "^4.1.2",
|
|
49
49
|
"spawn-args": "^0.2.0",
|
|
50
50
|
"styled_string": "0.0.1",
|
|
@@ -76,15 +76,15 @@
|
|
|
76
76
|
"chai-shallow-deep-equal": "^1.4.4",
|
|
77
77
|
"cheerio": "^1.0.0-rc.2",
|
|
78
78
|
"dirty-chai": "^2.0.0",
|
|
79
|
-
"eslint": "^
|
|
80
|
-
"eslint-plugin-chai-expect": "^
|
|
81
|
-
"eslint-plugin-mocha": "^
|
|
82
|
-
"mocha": "^
|
|
79
|
+
"eslint": "^8.12.0",
|
|
80
|
+
"eslint-plugin-chai-expect": "^3.0.0",
|
|
81
|
+
"eslint-plugin-mocha": "^10.0.3",
|
|
82
|
+
"mocha": "^9.2.0",
|
|
83
83
|
"phantomjs": "^2.1.7",
|
|
84
84
|
"request": "^2.51.0",
|
|
85
85
|
"saucie": "^3.3.3",
|
|
86
86
|
"shelljs": "^0.8.2",
|
|
87
|
-
"sinon": "^
|
|
87
|
+
"sinon": "^14.0.0",
|
|
88
88
|
"sinon-chai": "^3.2.0",
|
|
89
89
|
"socket.io-client": "^4.1.2",
|
|
90
90
|
"tape": "^5.2.2"
|
package/public/.eslintrc.js
CHANGED
|
@@ -7,10 +7,9 @@ The client-side script that reports results back to the Testem server via Socket
|
|
|
7
7
|
It also restarts the tests by refreshing the page when instructed by the server to do so.
|
|
8
8
|
|
|
9
9
|
*/
|
|
10
|
-
/* globals document, window */
|
|
11
10
|
/* globals module */
|
|
12
11
|
/* globals jasmineAdapter, jasmine2Adapter, mochaAdapter */
|
|
13
|
-
/* globals qunitAdapter, decycle
|
|
12
|
+
/* globals qunitAdapter, decycle */
|
|
14
13
|
/* exported Testem */
|
|
15
14
|
'use strict';
|
|
16
15
|
|