@wdio/jasmine-framework 7.21.0 → 8.0.0-alpha.239

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,6 @@
1
1
  /// <reference types="node" />
2
- /// <reference types="expect-webdriverio/types/expect-webdriverio" />
3
2
  import Jasmine from 'jasmine';
4
- import { EventEmitter } from 'events';
3
+ import { EventEmitter } from 'node:events';
5
4
  import type { Options, Services, Capabilities } from '@wdio/types';
6
5
  import type { JasmineOpts as jasmineNodeOpts, ResultHandlerPayload, FrameworkMessage, FormattedMessage } from './types';
7
6
  declare type HooksArray = {
@@ -24,13 +23,13 @@ declare class JasmineAdapter {
24
23
  private _hasTests;
25
24
  private _lastTest?;
26
25
  private _lastSpec?;
27
- private _jrunner?;
26
+ private _jrunner;
28
27
  constructor(_cid: string, _config: WebdriverIOJasmineConfig, _specs: string[], _capabilities: Capabilities.RemoteCapabilities, reporter: EventEmitter);
29
28
  init(): Promise<this>;
30
- _loadFiles(): void;
29
+ _loadFiles(): Promise<void>;
31
30
  _grep(suite: jasmine.Suite): void;
32
31
  hasTests(): boolean;
33
- run(): Promise<unknown>;
32
+ run(): Promise<number>;
34
33
  customSpecFilter(spec: jasmine.Spec): boolean;
35
34
  /**
36
35
  * Hooks which are added as true Jasmine hooks need to call done() to notify async
@@ -46,7 +45,7 @@ declare const adapterFactory: {
46
45
  };
47
46
  export default adapterFactory;
48
47
  export { JasmineAdapter, adapterFactory };
49
- export * from './types';
48
+ export * from './types.js';
50
49
  declare type jasmine = typeof Jasmine;
51
50
  declare global {
52
51
  /**
@@ -108,11 +107,5 @@ declare global {
108
107
  interface JasmineOpts extends jasmineNodeOpts {
109
108
  }
110
109
  }
111
- namespace jasmine {
112
- interface Matchers<T> extends ExpectWebdriverIO.Matchers<any, T> {
113
- }
114
- interface AsyncMatchers<T, U> extends ExpectWebdriverIO.Matchers<Promise<void>, T> {
115
- }
116
- }
117
110
  }
118
111
  //# sourceMappingURL=index.d.ts.map
@@ -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":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EACR,WAAW,IAAI,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAC3F,MAAM,SAAS,CAAA;AAahB,aAAK,UAAU,GAAG;KACb,CAAC,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;CACvF,CAAA;AAED,UAAU,wBAAyB,SAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,UAAU,CAAC,EAAE,UAAU;IAC7F,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;CACnD;AAED;;GAEG;AACH,cAAM,cAAc;IAWZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa;IAbzB,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,SAAS,CAAC,CAAK;IACvB,OAAO,CAAC,SAAS,CAAC,CAAK;IAEvB,OAAO,CAAC,QAAQ,CAAkB;gBAGtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,YAAY,CAAC,kBAAkB,EACtD,QAAQ,EAAE,YAAY;IAmBpB,IAAI;IAkIJ,UAAU;IA4BhB,KAAK,CAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IAY3B,QAAQ;IAIF,GAAG;IAaT,gBAAgB,CAAE,IAAI,EAAE,OAAO,CAAC,IAAI;IAepC;;OAEG;IACH,QAAQ,CAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC,aAAa;IAUhD,cAAc,CAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC,aAAa;IAqBtD,aAAa,CAAE,MAAM,EAAE,gBAAgB;IAgCvC,2BAA2B,CAAE,OAAO,EAAE,OAAO,CAAC,OAAO;IAWrD,wBAAwB,CAAE,WAAW,EAAE,QAAQ,UAEpB,QAAQ,IAAI,UAAU,OAAO,QAAQ,oBAAoB;CAqBvF;AAED,QAAA,MAAM,cAAc,EAAE;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAO,CAAA;AAQ9C,eAAe,cAAc,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA;AACzC,cAAc,YAAY,CAAA;AAE1B,aAAK,OAAO,GAAG,OAAO,OAAO,CAAA;AAC7B,OAAO,CAAC,MAAM,CAAC;IACX;;;;;;;OAOG;IACH,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvH;;;;;;OAMG;IACH,SAAS,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExH;;;;;;OAMG;IACH,SAAS,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExH;;;;;OAKG;IACH,SAAS,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtG;;;;;OAKG;IACH,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErG;;;;;;OAMG;IACH,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErG;;;;;;OAMG;IACH,SAAS,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpG,UAAU,WAAW,CAAC;QAClB,UAAU,WAAY,SAAQ,eAAe;SAAG;KACnD;CACJ"}
package/build/index.js CHANGED
@@ -1,35 +1,17 @@
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 { expect } from 'expect-webdriverio';
5
+ import { _setGlobal } from '@wdio/globals';
6
+ import JasmineReporter from './reporter.js';
26
7
  const INTERFACES = {
27
8
  bdd: ['beforeAll', 'beforeEach', 'it', 'xit', 'fit', 'afterEach', 'afterAll']
28
9
  };
29
10
  const TEST_INTERFACES = ['it', 'fit', 'xit'];
30
11
  const NOOP = function noop() { };
31
12
  const DEFAULT_TIMEOUT_INTERVAL = 60000;
32
- const log = (0, logger_1.default)('@wdio/jasmine-framework');
13
+ const FILE_PROTOCOL = 'file://';
14
+ const log = logger('@wdio/jasmine-framework');
33
15
  /**
34
16
  * Jasmine runner
35
17
  */
@@ -41,28 +23,28 @@ class JasmineAdapter {
41
23
  this._capabilities = _capabilities;
42
24
  this._totalTests = 0;
43
25
  this._hasTests = true;
26
+ this._jrunner = new Jasmine({});
44
27
  this._jasmineOpts = Object.assign({
45
28
  cleanStack: true
46
29
  }, (this._config.jasmineOpts ||
47
30
  // @ts-expect-error legacy option
48
31
  this._config.jasmineNodeOpts));
49
- this._reporter = new reporter_1.default(reporter, {
32
+ this._reporter = new JasmineReporter(reporter, {
50
33
  cid: this._cid,
51
34
  specs: this._specs,
52
35
  cleanStack: this._jasmineOpts.cleanStack
53
36
  });
54
37
  this._hasTests = true;
38
+ this._jrunner.exitOnCompletion = false;
55
39
  }
56
40
  async init() {
57
41
  const self = this;
58
- this._jrunner = new jasmine_1.default({});
59
42
  const { jasmine } = this._jrunner;
60
43
  // @ts-ignore outdated
61
44
  const jasmineEnv = jasmine.getEnv();
62
- this._jrunner.projectBaseDir = '';
63
- // @ts-ignore outdated
64
- this._jrunner.specDir = '';
65
- this._jrunner.addSpecFiles(this._specs);
45
+ this._specs.forEach((spec) => this._jrunner.addSpecFile(spec.startsWith(FILE_PROTOCOL)
46
+ ? spec.slice(FILE_PROTOCOL.length)
47
+ : spec));
66
48
  // @ts-ignore only way to hack timeout into jasmine
67
49
  jasmine.DEFAULT_TIMEOUT_INTERVAL = this._jasmineOpts.defaultTimeoutInterval || DEFAULT_TIMEOUT_INTERVAL;
68
50
  jasmineEnv.addReporter(this._reporter);
@@ -101,6 +83,7 @@ class JasmineAdapter {
101
83
  failedExpectations: [],
102
84
  deprecationWarnings: [],
103
85
  status: '',
86
+ debugLogs: null,
104
87
  ...(error ? { error } : {})
105
88
  };
106
89
  this._reporter.emit('hook:' + eventType, hook);
@@ -119,13 +102,13 @@ class JasmineAdapter {
119
102
  beforeHook.push(emitHookEvent(fnName, 'start'));
120
103
  afterHook.push(emitHookEvent(fnName, 'end'));
121
104
  }
122
- (0, utils_1.runTestInFiberContext)(isTest, isTest ? this._config.beforeTest : beforeHook, hookArgsFn, isTest ? this._config.afterTest : afterHook, hookArgsFn, fnName, this._cid);
105
+ runTestInFiberContext(isTest, isTest ? this._config.beforeTest : beforeHook, hookArgsFn, isTest ? this._config.afterTest : afterHook, hookArgsFn, fnName, this._cid);
123
106
  });
124
107
  /**
125
108
  * for a clean stdout we need to avoid that Jasmine initialises the
126
109
  * default reporter
127
110
  */
128
- jasmine_1.default.prototype.configureDefaultReporter = NOOP;
111
+ Jasmine.prototype.configureDefaultReporter = NOOP;
129
112
  /**
130
113
  * wrap Suite and Spec prototypes to get access to their data
131
114
  */
@@ -143,22 +126,14 @@ class JasmineAdapter {
143
126
  self._lastTest.start = new Date().getTime();
144
127
  executeMock.apply(this, args);
145
128
  };
146
- this._loadFiles();
129
+ await this._loadFiles();
147
130
  /**
148
- * import and set options for `expect-webdriverio` assertion lib once
149
- * the framework was initiated so that it can detect the environment
131
+ * overwrite Jasmine global expect with WebdriverIOs expect
150
132
  */
151
- const { setOptions } = require('expect-webdriverio');
152
- setOptions({
153
- wait: this._config.waitforTimeout,
154
- interval: this._config.waitforInterval, // interval between attempts
155
- });
133
+ _setGlobal('expect', expect, this._config.injectGlobals);
156
134
  return this;
157
135
  }
158
- _loadFiles() {
159
- if (!this._jrunner) {
160
- throw new Error('Jasmine not initiate yet');
161
- }
136
+ async _loadFiles() {
162
137
  try {
163
138
  if (Array.isArray(this._jasmineOpts.requires)) {
164
139
  // @ts-ignore outdated types
@@ -169,9 +144,9 @@ class JasmineAdapter {
169
144
  this._jrunner.addHelperFiles(this._jasmineOpts.helpers);
170
145
  }
171
146
  // @ts-ignore outdated types
172
- this._jrunner.loadRequires();
173
- this._jrunner.loadHelpers();
174
- this._jrunner.loadSpecs();
147
+ await this._jrunner.loadRequires();
148
+ await this._jrunner.loadHelpers();
149
+ await this._jrunner.loadSpecs();
175
150
  // @ts-ignore outdated types
176
151
  this._grep(this._jrunner.env.topSuite());
177
152
  this._hasTests = this._totalTests > 0;
@@ -198,26 +173,24 @@ class JasmineAdapter {
198
173
  return this._hasTests;
199
174
  }
200
175
  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]);
176
+ // @ts-expect-error
177
+ this._jrunner.env.beforeAll(this.wrapHook('beforeSuite'));
178
+ // @ts-expect-error
179
+ this._jrunner.env.afterAll(this.wrapHook('afterSuite'));
180
+ await this._jrunner.execute();
181
+ const result = this._reporter.getFailedCount();
182
+ await executeHooksWithArgs('after', this._config.after, [result, this._capabilities, this._specs]);
213
183
  return result;
214
184
  }
215
185
  customSpecFilter(spec) {
216
186
  const { grep, invertGrep } = this._jasmineOpts;
217
187
  const grepMatch = !grep || spec.getFullName().match(new RegExp(grep)) !== null;
218
188
  if (grepMatch === Boolean(invertGrep)) {
219
- // @ts-ignore outdated types
220
- spec.pend('grep');
189
+ // @ts-expect-error internal method
190
+ if (typeof spec.pend === 'function') {
191
+ // @ts-expect-error internal method
192
+ spec.pend('grep');
193
+ }
221
194
  return false;
222
195
  }
223
196
  return true;
@@ -226,31 +199,29 @@ class JasmineAdapter {
226
199
  * Hooks which are added as true Jasmine hooks need to call done() to notify async
227
200
  */
228
201
  wrapHook(hookName) {
229
- return () => (0, utils_1.executeHooksWithArgs)(hookName, this._config[hookName], [this.prepareMessage(hookName)]).catch((e) => {
202
+ return () => executeHooksWithArgs(hookName, this._config[hookName], [this.prepareMessage(hookName)]).catch((e) => {
230
203
  log.info(`Error in ${hookName} hook: ${e.stack.slice(7)}`);
231
204
  });
232
205
  }
233
206
  prepareMessage(hookName) {
234
- var _a, _b;
235
207
  const params = { type: hookName };
236
208
  switch (hookName) {
237
209
  case 'beforeSuite':
238
210
  case 'afterSuite':
239
211
  params.payload = Object.assign({
240
- file: (_a = this._jrunner) === null || _a === void 0 ? void 0 : _a.specFiles[0]
212
+ file: this._jrunner?.specFiles[0]
241
213
  }, this._lastSpec);
242
214
  break;
243
215
  case 'beforeTest':
244
216
  case 'afterTest':
245
217
  params.payload = Object.assign({
246
- file: (_b = this._jrunner) === null || _b === void 0 ? void 0 : _b.specFiles[0]
218
+ file: this._jrunner?.specFiles[0]
247
219
  }, this._lastTest);
248
220
  break;
249
221
  }
250
222
  return this.formatMessage(params);
251
223
  }
252
224
  formatMessage(params) {
253
- var _a;
254
225
  let message = {
255
226
  type: params.type
256
227
  };
@@ -263,7 +234,7 @@ class JasmineAdapter {
263
234
  message.error = params.payload.failedExpectations[0];
264
235
  }
265
236
  if (params.payload.id && params.payload.id.startsWith('spec')) {
266
- message.parent = (_a = this._lastSpec) === null || _a === void 0 ? void 0 : _a.description;
237
+ message.parent = this._lastSpec?.description;
267
238
  message.passed = params.payload.failedExpectations.length === 0;
268
239
  }
269
240
  if (params.type === 'afterTest') {
@@ -307,14 +278,13 @@ class JasmineAdapter {
307
278
  };
308
279
  }
309
280
  }
310
- exports.JasmineAdapter = JasmineAdapter;
311
281
  const adapterFactory = {};
312
- exports.adapterFactory = adapterFactory;
313
282
  adapterFactory.init = async function (...args) {
314
283
  // @ts-ignore pass along parameters
315
284
  const adapter = new JasmineAdapter(...args);
316
285
  const instance = await adapter.init();
317
286
  return instance;
318
287
  };
319
- exports.default = adapterFactory;
320
- __exportStar(require("./types"), exports);
288
+ export default adapterFactory;
289
+ export { JasmineAdapter, adapterFactory };
290
+ 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.21.0",
3
+ "version": "8.0.0-alpha.239+00a68ded0",
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,20 +28,20 @@
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",
33
+ "@wdio/globals": "8.0.0-alpha.239+00a68ded0",
30
34
  "@wdio/logger": "7.19.0",
31
- "@wdio/types": "7.21.0",
32
- "@wdio/utils": "7.21.0",
33
- "expect-webdriverio": "^3.0.0",
34
- "jasmine": "3.10.0"
35
+ "@wdio/types": "7.20.7",
36
+ "@wdio/utils": "7.20.7",
37
+ "expect-webdriverio": "^4.0.0-alpha.3",
38
+ "jasmine": "^4.2.1"
35
39
  },
36
40
  "peerDependencies": {
37
- "@wdio/cli": "^7.0.0"
41
+ "@wdio/cli": "next"
38
42
  },
39
43
  "publishConfig": {
40
44
  "access": "public"
41
45
  },
42
- "types": "./build/index.d.ts",
43
- "gitHead": "808149cc5875529a2c0b3592dc5e255796e8ece4"
46
+ "gitHead": "00a68ded03fea7b5f348eff0ca1d9b771f90fa75"
44
47
  }