diff --git a/eslint.config.mjs b/eslint.config.mjs index 36290fe0ab..494c669bdc 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -362,14 +362,8 @@ export default tseslint.config( lwcRuntimeFlags: true, process: true, ...globals.browser, - ...globals.jasmine, }, }, - - rules: { - 'no-var': 'off', - 'prefer-rest-params': 'off', - }, }, { files: ['packages/@lwc/integration-karma/**'], @@ -384,11 +378,6 @@ export default tseslint.config( ...globals.jasmine, }, }, - - rules: { - 'no-var': 'off', - 'prefer-rest-params': 'off', - }, }, { files: ['packages/@lwc/synthetic-shadow/**'], diff --git a/packages/@lwc/integration-not-karma/helpers/jasmine.js b/packages/@lwc/integration-not-karma/helpers/jasmine.js new file mode 100644 index 0000000000..8a459204af --- /dev/null +++ b/packages/@lwc/integration-not-karma/helpers/jasmine.js @@ -0,0 +1,37 @@ +import { spyOn, fn } from '@vitest/spy'; + +/** + * Adds the jasmine interfaces we use in the Karma tests to a Vitest spy. + * Should ultimately be removed and tests updated to use Vitest spies. + * @param {import('@vitest/spy').MockInstance} + */ +function jasmineSpyAdapter(spy) { + Object.defineProperties(spy, { + and: { get: () => spy }, + calls: { get: () => spy.mock.calls }, + returnValue: { value: () => spy.mockReturnValue() }, + // calling mockImplementation() with nothing restores the original + callThrough: { value: () => spy.mockImplementation() }, + callFake: { value: (impl) => spy.mockImplementation(impl) }, + }); + + Object.defineProperties(spy.mock.calls, { + // Must be non-enumerable for equality checks to work on array literal expected values + allArgs: { value: () => spy.mock.calls }, + count: { value: () => spy.mock.calls.length }, + reset: { value: () => spy.mockReset() }, + argsFor: { value: (index) => spy.mock.calls.at(index) }, + }); + + return spy; +} + +export const jasmineSpyOn = (object, prop) => jasmineSpyAdapter(spyOn(object, prop)); +export const jasmine = { + any: expect.any, + arrayWithExactContents: () => { + throw new Error('TODO: jasmine.arrayWithExactContents'); + }, + createSpy: (name, impl) => jasmineSpyAdapter(fn(impl)), + objectContaining: expect.objectContaining, +}; diff --git a/packages/@lwc/integration-not-karma/helpers/setup.js b/packages/@lwc/integration-not-karma/helpers/setup.js index 9a71cb08c0..691332359c 100644 --- a/packages/@lwc/integration-not-karma/helpers/setup.js +++ b/packages/@lwc/integration-not-karma/helpers/setup.js @@ -1,7 +1,6 @@ // This import ensures that the global `Mocha` object is present for mutation. import { JestAsymmetricMatchers, JestChaiExpect, JestExtend } from '@vitest/expect'; import * as chai from 'chai'; -import { spyOn, fn } from '@vitest/spy'; import { registerCustomMatchers } from './matchers/index.js'; import { initSignals } from './signals.js'; @@ -15,44 +14,8 @@ chai.use(JestChaiExpect); chai.use(JestAsymmetricMatchers); // add our custom matchers chai.use(registerCustomMatchers); - -/** - * Adds the jasmine interfaces we use in the Karma tests to a Vitest spy. - * Should ultimately be removed and tests updated to use Vitest spies. - * @param {import('@vitest/spy').MockInstance} - */ -function jasmineSpyAdapter(spy) { - Object.defineProperties(spy, { - and: { get: () => spy }, - calls: { get: () => spy.mock.calls }, - returnValue: { value: () => spy.mockReturnValue() }, - // calling mockImplementation() with nothing restores the original - callThrough: { value: () => spy.mockImplementation() }, - callFake: { value: (impl) => spy.mockImplementation(impl) }, - }); - - Object.defineProperties(spy.mock.calls, { - // Must be non-enumerable for equality checks to work on array literal expected values - allArgs: { value: () => spy.mock.calls }, - count: { value: () => spy.mock.calls.length }, - reset: { value: () => spy.mockReset() }, - argsFor: { value: (index) => spy.mock.calls.at(index) }, - }); - - return spy; -} - // expose so we don't need to import `expect` in every test file globalThis.expect = chai.expect; -globalThis.spyOn = (object, prop) => jasmineSpyAdapter(spyOn(object, prop)); -globalThis.jasmine = { - any: expect.any, - arrayWithExactContents: () => { - throw new Error('TODO: jasmine.arrayWithExactContents'); - }, - createSpy: (name, impl) => jasmineSpyAdapter(fn(impl)), - objectContaining: expect.objectContaining, -}; /** * `@web/test-runner-mocha`'s autorun.js file inlines its own copy of mocha, and there's no direct diff --git a/packages/@lwc/integration-not-karma/test/accessibility/non-standard-aria-props/index.spec.js b/packages/@lwc/integration-not-karma/test/accessibility/non-standard-aria-props/index.spec.js index 41b69bc191..34fda932a0 100644 --- a/packages/@lwc/integration-not-karma/test/accessibility/non-standard-aria-props/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/accessibility/non-standard-aria-props/index.spec.js @@ -1,6 +1,7 @@ import { createElement } from 'lwc'; import Light from 'x/light'; import Shadow from 'x/shadow'; +import { jasmine } from '../../../helpers/jasmine.js'; import { nonStandardAriaProperties } from '../../../helpers/aria.js'; import { attachReportingControlDispatcher, diff --git a/packages/@lwc/integration-not-karma/test/accessibility/synthetic-cross-root-aria/index.spec.js b/packages/@lwc/integration-not-karma/test/accessibility/synthetic-cross-root-aria/index.spec.js index f80c5fb611..4a0935b845 100644 --- a/packages/@lwc/integration-not-karma/test/accessibility/synthetic-cross-root-aria/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/accessibility/synthetic-cross-root-aria/index.spec.js @@ -2,6 +2,7 @@ import { createElement } from 'lwc'; import AriaContainer from 'x/ariaContainer'; import Valid from 'x/valid'; +import { jasmine } from '../../../helpers/jasmine.js'; import { attachReportingControlDispatcher, detachReportingControlDispatcher, diff --git a/packages/@lwc/integration-not-karma/test/api/freezeTemplate/index.spec.js b/packages/@lwc/integration-not-karma/test/api/freezeTemplate/index.spec.js index 90db2da018..823823a51e 100644 --- a/packages/@lwc/integration-not-karma/test/api/freezeTemplate/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/api/freezeTemplate/index.spec.js @@ -1,4 +1,5 @@ import { registerTemplate, freezeTemplate, setFeatureFlagForTest } from 'lwc'; +import { jasmine } from '../../../helpers/jasmine.js'; import { attachReportingControlDispatcher, diff --git a/packages/@lwc/integration-not-karma/test/api/getComponentDef/index.spec.js b/packages/@lwc/integration-not-karma/test/api/getComponentDef/index.spec.js index 918284e89f..c26276bc35 100644 --- a/packages/@lwc/integration-not-karma/test/api/getComponentDef/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/api/getComponentDef/index.spec.js @@ -7,6 +7,7 @@ import PublicPropertiesInheritance from 'x/publicPropertiesInheritance'; import PublicMethodsInheritance from 'x/publicMethodsInheritance'; import PrivateAccessors from 'x/privateAccessors'; import HtmlElementProps from 'x/htmlElementProps'; +import { jasmine } from '../../../helpers/jasmine.js'; import { ariaProperties } from '../../../helpers/aria.js'; function testInvalidComponentConstructor(name, ctor) { diff --git a/packages/@lwc/integration-not-karma/test/api/isNodeFromTemplate/index.spec.js b/packages/@lwc/integration-not-karma/test/api/isNodeFromTemplate/index.spec.js index d71e8cfe10..4032f417ee 100644 --- a/packages/@lwc/integration-not-karma/test/api/isNodeFromTemplate/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/api/isNodeFromTemplate/index.spec.js @@ -1,5 +1,6 @@ import { createElement, isNodeFromTemplate } from 'lwc'; import Test from 'x/test'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; function testNonNodes(type, obj) { it(`should return false if the passed object if a ${type}`, () => { diff --git a/packages/@lwc/integration-not-karma/test/api/sanitizeHtmlContent/index.spec.js b/packages/@lwc/integration-not-karma/test/api/sanitizeHtmlContent/index.spec.js index e8d5c3dccd..c6e340db30 100644 --- a/packages/@lwc/integration-not-karma/test/api/sanitizeHtmlContent/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/api/sanitizeHtmlContent/index.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import XInnerHtml from 'x/innerHtml'; +import { jasmine } from '../../../helpers/jasmine.js'; import { getHooks, setHooks } from '../../../helpers/hooks.js'; const ACTUAL_CONTENT = 'Hello World'; diff --git a/packages/@lwc/integration-not-karma/test/component/LightningElement.disconnectedCallback/index.spec.js b/packages/@lwc/integration-not-karma/test/component/LightningElement.disconnectedCallback/index.spec.js index 21a6b1ee51..2b6f4d1fbb 100644 --- a/packages/@lwc/integration-not-karma/test/component/LightningElement.disconnectedCallback/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/component/LightningElement.disconnectedCallback/index.spec.js @@ -5,6 +5,7 @@ import Test from 'x/test'; import DisconnectedCallbackThrow from 'x/disconnectedCallbackThrow'; import DualTemplate from 'x/dualTemplate'; import ExplicitRender from 'x/explicitRender'; +import { jasmine } from '../../../helpers/jasmine.js'; import { customElementCallbackReactionErrorListener } from '../../../helpers/utils.js'; function testDisconnectSlot(name, fn) { diff --git a/packages/@lwc/integration-not-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js b/packages/@lwc/integration-not-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js index e0f17a2b0b..4a7eadfbd3 100644 --- a/packages/@lwc/integration-not-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js @@ -3,6 +3,7 @@ import { createElement, setFeatureFlagForTest } from 'lwc'; import Component from 'x/component'; import Parent from 'x/parent'; import LogsWhenConnected from 'x/logsWhenConnected'; +import { jasmine, jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; import { attachReportingControlDispatcher, detachReportingControlDispatcher, diff --git a/packages/@lwc/integration-not-karma/test/context/simple-context.spec.js b/packages/@lwc/integration-not-karma/test/context/simple-context.spec.js index 3f1cabd92d..f6024e130a 100644 --- a/packages/@lwc/integration-not-karma/test/context/simple-context.spec.js +++ b/packages/@lwc/integration-not-karma/test/context/simple-context.spec.js @@ -1,6 +1,7 @@ import { createElement } from 'lwc'; import { installCustomContext, setCustomContext } from 'x/simpleProvider'; import Consumer from 'x/simpleConsumer'; +import { jasmine } from '../../helpers/jasmine.js'; describe('Simple Custom Context Provider', () => { it('should be install-able on any dom element', function () { diff --git a/packages/@lwc/integration-not-karma/test/integrations/locker/index.spec.js b/packages/@lwc/integration-not-karma/test/integrations/locker/index.spec.js index e1da1fd055..68b104c04c 100644 --- a/packages/@lwc/integration-not-karma/test/integrations/locker/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/integrations/locker/index.spec.js @@ -3,6 +3,7 @@ import { createElement, setFeatureFlagForTest } from 'lwc'; import LockerIntegration from 'x/lockerIntegration'; import LockerLiveComponent from 'x/lockerLiveComponent'; import LockerHooks, { hooks } from 'x/lockerHooks'; +import { jasmine, jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; beforeEach(() => { setFeatureFlagForTest('LEGACY_LOCKER_ENABLED', true); }); diff --git a/packages/@lwc/integration-not-karma/test/light-dom/scoped-slot/if-block/index.spec.js b/packages/@lwc/integration-not-karma/test/light-dom/scoped-slot/if-block/index.spec.js index 5193e49572..89a1c6c364 100644 --- a/packages/@lwc/integration-not-karma/test/light-dom/scoped-slot/if-block/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/light-dom/scoped-slot/if-block/index.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import MixedSlotParent from 'x/mixedSlotParent'; +import { jasmineSpyOn as spyOn } from '../../../../helpers/jasmine.js'; import { USE_COMMENTS_FOR_FRAGMENT_BOOKENDS } from '../../../../helpers/constants.js'; const vFragBookend = USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? '' : ''; diff --git a/packages/@lwc/integration-not-karma/test/lwc-on/index.spec.js b/packages/@lwc/integration-not-karma/test/lwc-on/index.spec.js index b8b53f34b1..e55ca0903a 100644 --- a/packages/@lwc/integration-not-karma/test/lwc-on/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/lwc-on/index.spec.js @@ -11,6 +11,7 @@ import RerenderLoop from 'x/rerenderLoop'; import PublicProp from 'x/publicProp'; import ComputedKey from 'x/computedKey'; import ValueEvaluationThrows from 'x/ValueEvaluationThrows'; +import { jasmine } from '../../helpers/jasmine.js'; import { spyConsole } from '../../helpers/console.js'; import { catchUnhandledRejectionsAndErrors } from '../../helpers/utils.js'; diff --git a/packages/@lwc/integration-not-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js b/packages/@lwc/integration-not-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js index 1b322755d8..2903426bd9 100644 --- a/packages/@lwc/integration-not-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js +++ b/packages/@lwc/integration-not-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import Parent from 'x/parent'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; describe('vdom removes component while it is already disconnected', () => { let spy; diff --git a/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/composed-path/index.spec.js b/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/composed-path/index.spec.js index 3f7d0f6eea..5cc04ab176 100644 --- a/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/composed-path/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/composed-path/index.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import Test from 'x/test'; +import { jasmine } from '../../../helpers/jasmine.js'; describe('event.composedPath() of event dispatched from closed shadow root', () => { it('should have shadowed elements when invoked inside the shadow root', () => { diff --git a/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/reporting/index.spec.js b/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/reporting/index.spec.js index 6670e16ae3..c3142c5006 100644 --- a/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/reporting/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/reporting/index.spec.js @@ -3,6 +3,7 @@ import { createElement } from 'lwc'; import Component from 'x/component'; import Parent from 'x/parent'; import Light from 'x/light'; +import { jasmine } from '../../../helpers/jasmine.js'; import { attachReportingControlDispatcher, detachReportingControlDispatcher, diff --git a/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/shadowSupportModeReporting/index.spec.js b/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/shadowSupportModeReporting/index.spec.js index cc1283099c..58e51b8808 100644 --- a/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/shadowSupportModeReporting/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/mixed-shadow-mode/shadowSupportModeReporting/index.spec.js @@ -4,6 +4,7 @@ import Any from 'x/any'; import Reset from 'x/reset'; import None from 'x/none'; import NativeOnly from 'x/native'; +import { jasmine } from '../../../helpers/jasmine.js'; import { attachReportingControlDispatcher, detachReportingControlDispatcher, diff --git a/packages/@lwc/integration-not-karma/test/polyfills/aria-properties/index.spec.js b/packages/@lwc/integration-not-karma/test/polyfills/aria-properties/index.spec.js index 4b2c53e04e..36ec7201e5 100644 --- a/packages/@lwc/integration-not-karma/test/polyfills/aria-properties/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/polyfills/aria-properties/index.spec.js @@ -1,6 +1,7 @@ import { createElement } from 'lwc'; import Component from 'x/component'; +import { jasmine } from '../../../helpers/jasmine.js'; import { ariaPropertiesMapping, nonPolyfilledAriaProperties, diff --git a/packages/@lwc/integration-not-karma/test/polyfills/document-properties/index.spec.js b/packages/@lwc/integration-not-karma/test/polyfills/document-properties/index.spec.js index b9f63f5458..70c43dd65b 100644 --- a/packages/@lwc/integration-not-karma/test/polyfills/document-properties/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/polyfills/document-properties/index.spec.js @@ -1,6 +1,7 @@ import { createElement } from 'lwc'; import XTest from 'x/test'; import XWithLwcDomManual from 'x/withLwcDomManual'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; describe('should not provide access to elements inside shadow tree', () => { beforeEach(() => { diff --git a/packages/@lwc/integration-not-karma/test/profiler/mutation-logging/index.spec.js b/packages/@lwc/integration-not-karma/test/profiler/mutation-logging/index.spec.js index 9bacd0d3a8..f183bd9da2 100644 --- a/packages/@lwc/integration-not-karma/test/profiler/mutation-logging/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/profiler/mutation-logging/index.spec.js @@ -2,6 +2,7 @@ import { createElement } from 'lwc'; import Parent from 'x/parent'; import Child from 'x/child'; import GetterThrows from 'x/getterThrows'; +import { jasmine, jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; const arr = jasmine.arrayWithExactContents; // `jasmine.objectContaining` is long, but the method can't be detached/aliased, ergo wrapper diff --git a/packages/@lwc/integration-not-karma/test/rendering/iframe/index.spec.js b/packages/@lwc/integration-not-karma/test/rendering/iframe/index.spec.js index a72f3183f4..076144a21a 100644 --- a/packages/@lwc/integration-not-karma/test/rendering/iframe/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/rendering/iframe/index.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import Component from 'x/component'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; let spy; diff --git a/packages/@lwc/integration-not-karma/test/rendering/inner-outer-html/index.spec.js b/packages/@lwc/integration-not-karma/test/rendering/inner-outer-html/index.spec.js index 633d63ac95..ef5e90ac84 100644 --- a/packages/@lwc/integration-not-karma/test/rendering/inner-outer-html/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/rendering/inner-outer-html/index.spec.js @@ -1,6 +1,7 @@ import { createElement } from 'lwc'; import Inner from 'x/inner'; import Outer from 'x/outer'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; import { extractDataIds } from '../../../helpers/utils.js'; beforeAll(() => { diff --git a/packages/@lwc/integration-not-karma/test/rendering/sanitize-stylesheet-token/index.spec.js b/packages/@lwc/integration-not-karma/test/rendering/sanitize-stylesheet-token/index.spec.js index 99661be5a1..e526d22614 100644 --- a/packages/@lwc/integration-not-karma/test/rendering/sanitize-stylesheet-token/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/rendering/sanitize-stylesheet-token/index.spec.js @@ -1,6 +1,7 @@ import { createElement, setFeatureFlagForTest } from 'lwc'; import Component from 'x/component'; import Scoping from 'x/scoping'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; import { catchUnhandledRejectionsAndErrors } from '../../../helpers/utils.js'; let caughtError; diff --git a/packages/@lwc/integration-not-karma/test/rendering/version-mismatch/index.spec.js b/packages/@lwc/integration-not-karma/test/rendering/version-mismatch/index.spec.js index c46772bb30..53bf003e58 100644 --- a/packages/@lwc/integration-not-karma/test/rendering/version-mismatch/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/rendering/version-mismatch/index.spec.js @@ -3,6 +3,7 @@ import { createElement, LightningElement, registerTemplate, registerComponent } import Component from 'x/component'; import ComponentWithProp from 'x/componentWithProp'; import ComponentWithTemplateAndStylesheet from 'x/componentWithTemplateAndStylesheet'; +import { jasmine } from '../../../helpers/jasmine.js'; import { attachReportingControlDispatcher, detachReportingControlDispatcher, diff --git a/packages/@lwc/integration-not-karma/test/shadow-dom/Element-properties/index.spec.js b/packages/@lwc/integration-not-karma/test/shadow-dom/Element-properties/index.spec.js index c97e5dca36..3eee9c3f54 100644 --- a/packages/@lwc/integration-not-karma/test/shadow-dom/Element-properties/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/shadow-dom/Element-properties/index.spec.js @@ -4,6 +4,7 @@ import Slotted from 'x/slotted'; import Nested from 'x/nested'; import NestedFallback from 'x/nestedFallback'; import TestWithDiv from 'x/testWithDiv'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; describe('Element.querySelector', () => { it('should return null if no Element match', () => { diff --git a/packages/@lwc/integration-not-karma/test/shadow-dom/Event-properties/Event.target.spec.js b/packages/@lwc/integration-not-karma/test/shadow-dom/Event-properties/Event.target.spec.js index cb552eb02f..023017fc3b 100644 --- a/packages/@lwc/integration-not-karma/test/shadow-dom/Event-properties/Event.target.spec.js +++ b/packages/@lwc/integration-not-karma/test/shadow-dom/Event-properties/Event.target.spec.js @@ -1,6 +1,7 @@ import { createElement } from 'lwc'; import Container from 'x/container'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; describe('Event.target', () => { let globalListener = () => {}; diff --git a/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.addEventListener.spec.js b/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.addEventListener.spec.js index b3000c7013..e2234b178d 100644 --- a/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.addEventListener.spec.js +++ b/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.addEventListener.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import Container from 'x/container'; +import { jasmine } from '../../../helpers/jasmine.js'; import { extractDataIds } from '../../../helpers/utils.js'; function createShadowTree(parentNode) { diff --git a/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.removeEventListener.spec.js b/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.removeEventListener.spec.js index 8775a8e0f5..1732c79675 100644 --- a/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.removeEventListener.spec.js +++ b/packages/@lwc/integration-not-karma/test/shadow-dom/EventTarget-methods/EventTarget.removeEventListener.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import Container from 'x/container'; +import { jasmine } from '../../../helpers/jasmine.js'; import { extractDataIds } from '../../../helpers/utils.js'; function createShadowTree(parentNode) { diff --git a/packages/@lwc/integration-not-karma/test/shadow-dom/MutationObserver/MutationObserver.spec.js b/packages/@lwc/integration-not-karma/test/shadow-dom/MutationObserver/MutationObserver.spec.js index 2d30a15ae1..b0ec2f84ca 100644 --- a/packages/@lwc/integration-not-karma/test/shadow-dom/MutationObserver/MutationObserver.spec.js +++ b/packages/@lwc/integration-not-karma/test/shadow-dom/MutationObserver/MutationObserver.spec.js @@ -3,6 +3,7 @@ import XParent from 'x/parent'; import XSlottedChild from 'x/slottedChild'; import XNestedSlotContainer from 'x/nestedSlotContainer'; import XTemplateMutations from 'x/templateMutations'; +import { jasmine } from '../../../helpers/jasmine.js'; const observerConfig = { childList: true, subtree: true }; diff --git a/packages/@lwc/integration-not-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js b/packages/@lwc/integration-not-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js index 631825185c..bd9e059378 100644 --- a/packages/@lwc/integration-not-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js +++ b/packages/@lwc/integration-not-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js @@ -6,6 +6,7 @@ import WithLwcDomManualNested from 'x/withLwcDomManualNested'; import WithLwcDomManual from 'x/withLwcDomManual'; import WithoutLwcDomManual from 'x/withoutLwcDomManual'; import Text from 'x/text'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; const composedTrueConfig = { composed: true }; describe('Node.getRootNode', () => { diff --git a/packages/@lwc/integration-not-karma/test/signal/protocol/index.spec.js b/packages/@lwc/integration-not-karma/test/signal/protocol/index.spec.js index 775661f5a6..ae99c63ed7 100644 --- a/packages/@lwc/integration-not-karma/test/signal/protocol/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/signal/protocol/index.spec.js @@ -11,6 +11,7 @@ import Throws from 'x/throws'; // Note for testing purposes the signal implementation uses LWC module resolution to simplify things. // In production the signal will come from a 3rd party library. import { Signal } from 'x/signal'; +import { jasmine } from '../../../helpers/jasmine.js'; describe('signal protocol', () => { beforeAll(() => { diff --git a/packages/@lwc/integration-not-karma/test/spread/index.spec.js b/packages/@lwc/integration-not-karma/test/spread/index.spec.js index f45edc21fe..622988db12 100644 --- a/packages/@lwc/integration-not-karma/test/spread/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/spread/index.spec.js @@ -1,5 +1,6 @@ import { createElement } from 'lwc'; import Test from 'x/test'; +import { jasmine, jasmineSpyOn as spyOn } from '../../helpers/jasmine.js'; import { getHooks, setHooks } from '../../helpers/hooks.js'; function setSanitizeHtmlContentHookForTest(impl) { diff --git a/packages/@lwc/integration-not-karma/test/static-content/index.spec.js b/packages/@lwc/integration-not-karma/test/static-content/index.spec.js index 0c85aba582..4dac801e29 100644 --- a/packages/@lwc/integration-not-karma/test/static-content/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/static-content/index.spec.js @@ -23,6 +23,7 @@ import Text from 'x/text'; import TableWithExpression from 'x/tableWithExpressions'; import TextWithoutPreserveComments from 'x/textWithoutPreserveComments'; import TextWithPreserveComments from 'x/textWithPreserveComments'; +import { jasmine } from '../../helpers/jasmine.js'; import { LOWERCASE_SCOPE_TOKENS } from '../../helpers/constants.js'; import { extractDataIds } from '../../helpers/utils.js'; diff --git a/packages/@lwc/integration-not-karma/test/synthetic-shadow/element-api/element-api.spec.js b/packages/@lwc/integration-not-karma/test/synthetic-shadow/element-api/element-api.spec.js index 9d193c9590..ae2c315c4e 100644 --- a/packages/@lwc/integration-not-karma/test/synthetic-shadow/element-api/element-api.spec.js +++ b/packages/@lwc/integration-not-karma/test/synthetic-shadow/element-api/element-api.spec.js @@ -2,6 +2,7 @@ import { createElement } from 'lwc'; import Container from 'x/container'; import ParentSpecialized from 'x/parentSpecialized'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; /*
diff --git a/packages/@lwc/integration-not-karma/test/template/directive-lwc-dom-manual/index.spec.js b/packages/@lwc/integration-not-karma/test/template/directive-lwc-dom-manual/index.spec.js index d2ee0da2ba..ee9713b37b 100644 --- a/packages/@lwc/integration-not-karma/test/template/directive-lwc-dom-manual/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/template/directive-lwc-dom-manual/index.spec.js @@ -3,6 +3,7 @@ import { createElement } from 'lwc'; import withLwcDomManual from 'x/withLwcDomManual'; import withoutLwcDomManual from 'x/withoutLwcDomManual'; import SvgWithLwcDomManual from 'x/svgWithLwcDomManual'; +import { jasmineSpyOn as spyOn } from '../../../helpers/jasmine.js'; function waitForStyleToBeApplied() { return Promise.resolve(); diff --git a/packages/@lwc/integration-not-karma/test/template/directive-lwc-render-mode/index.spec.js b/packages/@lwc/integration-not-karma/test/template/directive-lwc-render-mode/index.spec.js index dc7ac5c513..9d534e96d2 100644 --- a/packages/@lwc/integration-not-karma/test/template/directive-lwc-render-mode/index.spec.js +++ b/packages/@lwc/integration-not-karma/test/template/directive-lwc-render-mode/index.spec.js @@ -1,6 +1,7 @@ import { createElement } from 'lwc'; import Shadow from 'x/shadow'; import Light from 'x/light'; +import { jasmine } from '../../../helpers/jasmine.js'; import { attachReportingControlDispatcher, detachReportingControlDispatcher,