@wdio/jasmine-framework 7.20.7 → 8.0.0-alpha.213

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/build/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="expect-webdriverio/types/expect-webdriverio" />
3
+ /// <reference types="expect-webdriverio/types/standalone" />
3
4
  import Jasmine from 'jasmine';
4
- import { EventEmitter } from 'events';
5
+ import { EventEmitter } from 'node:events';
5
6
  import type { Options, Services, Capabilities } from '@wdio/types';
6
7
  import type { JasmineOpts as jasmineNodeOpts, ResultHandlerPayload, FrameworkMessage, FormattedMessage } from './types';
7
8
  declare type HooksArray = {
@@ -24,13 +25,13 @@ declare class JasmineAdapter {
24
25
  private _hasTests;
25
26
  private _lastTest?;
26
27
  private _lastSpec?;
27
- private _jrunner?;
28
+ private _jrunner;
28
29
  constructor(_cid: string, _config: WebdriverIOJasmineConfig, _specs: string[], _capabilities: Capabilities.RemoteCapabilities, reporter: EventEmitter);
29
30
  init(): Promise<this>;
30
- _loadFiles(): void;
31
+ _loadFiles(): Promise<void>;
31
32
  _grep(suite: jasmine.Suite): void;
32
33
  hasTests(): boolean;
33
- run(): Promise<unknown>;
34
+ run(): Promise<number>;
34
35
  customSpecFilter(spec: jasmine.Spec): boolean;
35
36
  /**
36
37
  * Hooks which are added as true Jasmine hooks need to call done() to notify async
@@ -46,7 +47,7 @@ declare const adapterFactory: {
46
47
  };
47
48
  export default adapterFactory;
48
49
  export { JasmineAdapter, adapterFactory };
49
- export * from './types';
50
+ export * from './types.js';
50
51
  declare type jasmine = typeof Jasmine;
51
52
  declare global {
52
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -1,35 +1,15 @@
1
- "use strict";
2
- /// <reference types="expect-webdriverio/jasmine" />
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
- };
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.adapterFactory = exports.JasmineAdapter = void 0;
22
- const jasmine_1 = __importDefault(require("jasmine"));
23
- const utils_1 = require("@wdio/utils");
24
- const logger_1 = __importDefault(require("@wdio/logger"));
25
- const reporter_1 = __importDefault(require("./reporter"));
1
+ import Jasmine from 'jasmine';
2
+ import logger from '@wdio/logger';
3
+ import { runTestInFiberContext, executeHooksWithArgs } from '@wdio/utils';
4
+ import JasmineReporter from './reporter.js';
26
5
  const INTERFACES = {
27
6
  bdd: ['beforeAll', 'beforeEach', 'it', 'xit', 'fit', 'afterEach', 'afterAll']
28
7
  };
29
8
  const TEST_INTERFACES = ['it', 'fit', 'xit'];
30
9
  const NOOP = function noop() { };
31
10
  const DEFAULT_TIMEOUT_INTERVAL = 60000;
32
- const log = (0, logger_1.default)('@wdio/jasmine-framework');
11
+ const FILE_PROTOCOL = 'file://';
12
+ const log = logger('@wdio/jasmine-framework');
33
13
  /**
34
14
  * Jasmine runner
35
15
  */
@@ -41,28 +21,28 @@ class JasmineAdapter {
41
21
  this._capabilities = _capabilities;
42
22
  this._totalTests = 0;
43
23
  this._hasTests = true;
24
+ this._jrunner = new Jasmine({});
44
25
  this._jasmineOpts = Object.assign({
45
26
  cleanStack: true
46
27
  }, (this._config.jasmineOpts ||
47
28
  // @ts-expect-error legacy option
48
29
  this._config.jasmineNodeOpts));
49
- this._reporter = new reporter_1.default(reporter, {
30
+ this._reporter = new JasmineReporter(reporter, {
50
31
  cid: this._cid,
51
32
  specs: this._specs,
52
33
  cleanStack: this._jasmineOpts.cleanStack
53
34
  });
54
35
  this._hasTests = true;
36
+ this._jrunner.exitOnCompletion = false;
55
37
  }
56
38
  async init() {
57
39
  const self = this;
58
- this._jrunner = new jasmine_1.default({});
59
40
  const { jasmine } = this._jrunner;
60
41
  // @ts-ignore outdated
61
42
  const jasmineEnv = jasmine.getEnv();
62
- this._jrunner.projectBaseDir = '';
63
- // @ts-ignore outdated
64
- this._jrunner.specDir = '';
65
- this._jrunner.addSpecFiles(this._specs);
43
+ this._specs.forEach((spec) => this._jrunner.addSpecFile(spec.startsWith(FILE_PROTOCOL)
44
+ ? spec.slice(FILE_PROTOCOL.length)
45
+ : spec));
66
46
  // @ts-ignore only way to hack timeout into jasmine
67
47
  jasmine.DEFAULT_TIMEOUT_INTERVAL = this._jasmineOpts.defaultTimeoutInterval || DEFAULT_TIMEOUT_INTERVAL;
68
48
  jasmineEnv.addReporter(this._reporter);
@@ -101,6 +81,7 @@ class JasmineAdapter {
101
81
  failedExpectations: [],
102
82
  deprecationWarnings: [],
103
83
  status: '',
84
+ debugLogs: null,
104
85
  ...(error ? { error } : {})
105
86
  };
106
87
  this._reporter.emit('hook:' + eventType, hook);
@@ -119,13 +100,13 @@ class JasmineAdapter {
119
100
  beforeHook.push(emitHookEvent(fnName, 'start'));
120
101
  afterHook.push(emitHookEvent(fnName, 'end'));
121
102
  }
122
- (0, utils_1.runTestInFiberContext)(isTest, isTest ? this._config.beforeTest : beforeHook, hookArgsFn, isTest ? this._config.afterTest : afterHook, hookArgsFn, fnName, this._cid);
103
+ runTestInFiberContext(isTest, isTest ? this._config.beforeTest : beforeHook, hookArgsFn, isTest ? this._config.afterTest : afterHook, hookArgsFn, fnName, this._cid);
123
104
  });
124
105
  /**
125
106
  * for a clean stdout we need to avoid that Jasmine initialises the
126
107
  * default reporter
127
108
  */
128
- jasmine_1.default.prototype.configureDefaultReporter = NOOP;
109
+ Jasmine.prototype.configureDefaultReporter = NOOP;
129
110
  /**
130
111
  * wrap Suite and Spec prototypes to get access to their data
131
112
  */
@@ -143,22 +124,19 @@ class JasmineAdapter {
143
124
  self._lastTest.start = new Date().getTime();
144
125
  executeMock.apply(this, args);
145
126
  };
146
- this._loadFiles();
127
+ await this._loadFiles();
147
128
  /**
148
- * import and set options for `expect-webdriverio` assertion lib once
149
- * the framework was initiated so that it can detect the environment
129
+ * expect-webdriverio needs to be dynamically imported here so that it can
130
+ * attach its matchers to the jasmine expect library
150
131
  */
151
- const { setOptions } = require('expect-webdriverio');
132
+ const { setOptions } = await import('expect-webdriverio');
152
133
  setOptions({
153
134
  wait: this._config.waitforTimeout,
154
135
  interval: this._config.waitforInterval, // interval between attempts
155
136
  });
156
137
  return this;
157
138
  }
158
- _loadFiles() {
159
- if (!this._jrunner) {
160
- throw new Error('Jasmine not initiate yet');
161
- }
139
+ async _loadFiles() {
162
140
  try {
163
141
  if (Array.isArray(this._jasmineOpts.requires)) {
164
142
  // @ts-ignore outdated types
@@ -169,9 +147,9 @@ class JasmineAdapter {
169
147
  this._jrunner.addHelperFiles(this._jasmineOpts.helpers);
170
148
  }
171
149
  // @ts-ignore outdated types
172
- this._jrunner.loadRequires();
173
- this._jrunner.loadHelpers();
174
- this._jrunner.loadSpecs();
150
+ await this._jrunner.loadRequires();
151
+ await this._jrunner.loadHelpers();
152
+ await this._jrunner.loadSpecs();
175
153
  // @ts-ignore outdated types
176
154
  this._grep(this._jrunner.env.topSuite());
177
155
  this._hasTests = this._totalTests > 0;
@@ -198,26 +176,24 @@ class JasmineAdapter {
198
176
  return this._hasTests;
199
177
  }
200
178
  async run() {
201
- const result = await new Promise((resolve, reject) => {
202
- if (!this._jrunner) {
203
- return reject(new Error('Jasmine not initiate yet'));
204
- }
205
- // @ts-expect-error
206
- this._jrunner.env.beforeAll(this.wrapHook('beforeSuite'));
207
- // @ts-expect-error
208
- this._jrunner.env.afterAll(this.wrapHook('afterSuite'));
209
- this._jrunner.onComplete(() => resolve(this._reporter.getFailedCount()));
210
- this._jrunner.execute();
211
- });
212
- await (0, utils_1.executeHooksWithArgs)('after', this._config.after, [result, this._capabilities, this._specs]);
179
+ // @ts-expect-error
180
+ this._jrunner.env.beforeAll(this.wrapHook('beforeSuite'));
181
+ // @ts-expect-error
182
+ this._jrunner.env.afterAll(this.wrapHook('afterSuite'));
183
+ await this._jrunner.execute();
184
+ const result = this._reporter.getFailedCount();
185
+ await executeHooksWithArgs('after', this._config.after, [result, this._capabilities, this._specs]);
213
186
  return result;
214
187
  }
215
188
  customSpecFilter(spec) {
216
189
  const { grep, invertGrep } = this._jasmineOpts;
217
190
  const grepMatch = !grep || spec.getFullName().match(new RegExp(grep)) !== null;
218
191
  if (grepMatch === Boolean(invertGrep)) {
219
- // @ts-ignore outdated types
220
- spec.pend('grep');
192
+ // @ts-expect-error internal method
193
+ if (typeof spec.pend === 'function') {
194
+ // @ts-expect-error internal method
195
+ spec.pend('grep');
196
+ }
221
197
  return false;
222
198
  }
223
199
  return true;
@@ -226,31 +202,29 @@ class JasmineAdapter {
226
202
  * Hooks which are added as true Jasmine hooks need to call done() to notify async
227
203
  */
228
204
  wrapHook(hookName) {
229
- return () => (0, utils_1.executeHooksWithArgs)(hookName, this._config[hookName], [this.prepareMessage(hookName)]).catch((e) => {
205
+ return () => executeHooksWithArgs(hookName, this._config[hookName], [this.prepareMessage(hookName)]).catch((e) => {
230
206
  log.info(`Error in ${hookName} hook: ${e.stack.slice(7)}`);
231
207
  });
232
208
  }
233
209
  prepareMessage(hookName) {
234
- var _a, _b;
235
210
  const params = { type: hookName };
236
211
  switch (hookName) {
237
212
  case 'beforeSuite':
238
213
  case 'afterSuite':
239
214
  params.payload = Object.assign({
240
- file: (_a = this._jrunner) === null || _a === void 0 ? void 0 : _a.specFiles[0]
215
+ file: this._jrunner?.specFiles[0]
241
216
  }, this._lastSpec);
242
217
  break;
243
218
  case 'beforeTest':
244
219
  case 'afterTest':
245
220
  params.payload = Object.assign({
246
- file: (_b = this._jrunner) === null || _b === void 0 ? void 0 : _b.specFiles[0]
221
+ file: this._jrunner?.specFiles[0]
247
222
  }, this._lastTest);
248
223
  break;
249
224
  }
250
225
  return this.formatMessage(params);
251
226
  }
252
227
  formatMessage(params) {
253
- var _a;
254
228
  let message = {
255
229
  type: params.type
256
230
  };
@@ -263,7 +237,7 @@ class JasmineAdapter {
263
237
  message.error = params.payload.failedExpectations[0];
264
238
  }
265
239
  if (params.payload.id && params.payload.id.startsWith('spec')) {
266
- message.parent = (_a = this._lastSpec) === null || _a === void 0 ? void 0 : _a.description;
240
+ message.parent = this._lastSpec?.description;
267
241
  message.passed = params.payload.failedExpectations.length === 0;
268
242
  }
269
243
  if (params.type === 'afterTest') {
@@ -307,14 +281,13 @@ class JasmineAdapter {
307
281
  };
308
282
  }
309
283
  }
310
- exports.JasmineAdapter = JasmineAdapter;
311
284
  const adapterFactory = {};
312
- exports.adapterFactory = adapterFactory;
313
285
  adapterFactory.init = async function (...args) {
314
286
  // @ts-ignore pass along parameters
315
287
  const adapter = new JasmineAdapter(...args);
316
288
  const instance = await adapter.init();
317
289
  return instance;
318
290
  };
319
- exports.default = adapterFactory;
320
- __exportStar(require("./types"), exports);
291
+ export default adapterFactory;
292
+ export { JasmineAdapter, adapterFactory };
293
+ export * from './types.js';
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { EventEmitter } from 'events';
2
+ import type { EventEmitter } from 'node:events';
3
3
  import type { ReporterOptions, TestEvent, SuiteEvent } from './types';
4
4
  export default class JasmineReporter {
5
5
  private _reporter;
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAe,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMlF,MAAM,CAAC,OAAO,OAAO,eAAe;IAY5B,OAAO,CAAC,SAAS;IAXd,YAAY,CAAC,EAAE,UAAU,CAAA;IAEhC,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAa;gBAGnB,SAAS,EAAE,YAAY,EAC/B,MAAM,EAAE,eAAe;IAO3B,YAAY,CAAE,KAAK,EAAE,OAAO,CAAC,WAAW;IAwBxC,WAAW,CAAE,IAAI,EAAE,OAAO,CAAC,UAAU;IAyBrC,QAAQ,CAAE,IAAI,EAAE,OAAO,CAAC,UAAU;IAiClC,SAAS,CAAE,KAAK,EAAE,OAAO,CAAC,WAAW;IA8CrC,IAAI,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS;IAwBpD,cAAc;IAId,mBAAmB,CAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAIlE,UAAU,CAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB;CAU/C"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAe,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMlF,MAAM,CAAC,OAAO,OAAO,eAAe;IAY5B,OAAO,CAAC,SAAS;IAXd,YAAY,CAAC,EAAE,UAAU,CAAA;IAEhC,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAa;gBAGnB,SAAS,EAAE,YAAY,EAC/B,MAAM,EAAE,eAAe;IAO3B,YAAY,CAAE,KAAK,EAAE,OAAO,CAAC,WAAW;IAwBxC,WAAW,CAAE,IAAI,EAAE,OAAO,CAAC,UAAU;IAyBrC,QAAQ,CAAE,IAAI,EAAE,OAAO,CAAC,UAAU;IAiClC,SAAS,CAAE,KAAK,EAAE,OAAO,CAAC,WAAW;IAgDrC,IAAI,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS;IAwBpD,cAAc;IAId,mBAAmB,CAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAIlE,UAAU,CAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB;CAU/C"}
package/build/reporter.js CHANGED
@@ -1,12 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const logger_1 = __importDefault(require("@wdio/logger"));
7
- const log = (0, logger_1.default)('@wdio/jasmine-framework');
1
+ import logger from '@wdio/logger';
2
+ const log = logger('@wdio/jasmine-framework');
8
3
  const STACKTRACE_FILTER = /(node_modules(\/|\\)(\w+)*|@wdio\/sync\/(build|src)|- - - - -)/g;
9
- class JasmineReporter {
4
+ export default class JasmineReporter {
10
5
  constructor(_reporter, params) {
11
6
  this._reporter = _reporter;
12
7
  this._parent = [];
@@ -110,7 +105,8 @@ class JasmineReporter {
110
105
  deprecationWarnings: [],
111
106
  passedExpectations: [],
112
107
  status: 'unknown',
113
- pendingReason: ''
108
+ pendingReason: '',
109
+ debugLogs: null
114
110
  });
115
111
  this.specDone({
116
112
  id,
@@ -122,7 +118,8 @@ class JasmineReporter {
122
118
  status: 'failed',
123
119
  duration: null,
124
120
  properties: {},
125
- pendingReason: ''
121
+ pendingReason: '',
122
+ debugLogs: null
126
123
  });
127
124
  }
128
125
  this._parent.pop();
@@ -167,4 +164,3 @@ class JasmineReporter {
167
164
  return error;
168
165
  }
169
166
  }
170
- exports.default = JasmineReporter;
package/build/types.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "name": "@wdio/jasmine-framework",
3
- "version": "7.20.7",
3
+ "version": "8.0.0-alpha.213+c5fb6d57e",
4
4
  "description": "A WebdriverIO plugin. Adapter for Jasmine testing framework.",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-jasmine-framework",
7
7
  "license": "MIT",
8
- "main": "./build/index",
8
+ "type": "module",
9
+ "exports": "./build/index.js",
10
+ "types": "./build/index.d.ts",
11
+ "typeScriptVersion": "3.8.3",
9
12
  "engines": {
10
- "node": ">=12.0.0"
13
+ "node": "^16.13 || >=18"
11
14
  },
12
15
  "repository": {
13
16
  "type": "git",
@@ -25,13 +28,13 @@
25
28
  "url": "https://github.com/webdriverio/webdriverio/issues"
26
29
  },
27
30
  "dependencies": {
28
- "@types/jasmine": "3.10.3",
31
+ "@types/jasmine": "4.0.3",
29
32
  "@types/node": "^18.0.0",
30
- "@wdio/logger": "7.19.0",
31
- "@wdio/types": "7.20.7",
32
- "@wdio/utils": "7.20.7",
33
- "expect-webdriverio": "^3.0.0",
34
- "jasmine": "3.10.0"
33
+ "@wdio/logger": "8.0.0-alpha.213+c5fb6d57e",
34
+ "@wdio/types": "8.0.0-alpha.213+c5fb6d57e",
35
+ "@wdio/utils": "8.0.0-alpha.213+c5fb6d57e",
36
+ "expect-webdriverio": "^3.4.0",
37
+ "jasmine": "^4.2.1"
35
38
  },
36
39
  "peerDependencies": {
37
40
  "@wdio/cli": "^7.0.0"
@@ -39,6 +42,5 @@
39
42
  "publishConfig": {
40
43
  "access": "public"
41
44
  },
42
- "types": "./build/index.d.ts",
43
- "gitHead": "21b8b61453f4749d87eca3e4d7d6e5e2cb60f043"
45
+ "gitHead": "c5fb6d57e168d8bf939a5aa5c2ada5abaceec5eb"
44
46
  }