Skip to content

Commit 9126fcd

Browse files
committed
fixup: skip cleanup in globals mode
1 parent f435ff5 commit 9126fcd

File tree

2 files changed

+58
-16
lines changed

2 files changed

+58
-16
lines changed

src/__tests__/vite-plugin.test.js

Lines changed: 53 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,16 @@ describe.skipIf(IS_JEST)('vite plugin', () => {
4444
])(
4545
'adds browser condition if necessary',
4646
({ config, expectedConditions }) => {
47-
const subject = svelteTesting()
47+
const subject = svelteTesting({
48+
resolveBrowser: true,
49+
autoCleanup: false,
50+
noExternal: false,
51+
})
4852

4953
const result = config()
5054
subject.config(result)
5155

52-
expect(result).toMatchObject({
56+
expect(result).toEqual({
5357
resolve: {
5458
conditions: expectedConditions,
5559
},
@@ -73,12 +77,16 @@ describe.skipIf(IS_JEST)('vite plugin', () => {
7377
])(
7478
'skips browser condition if possible',
7579
({ config, expectedConditions }) => {
76-
const subject = svelteTesting()
80+
const subject = svelteTesting({
81+
resolveBrowser: true,
82+
autoCleanup: false,
83+
noExternal: false,
84+
})
7785

7886
const result = config()
7987
subject.config(result)
8088

81-
expect(result).toMatchObject({
89+
expect(result).toEqual({
8290
resolve: {
8391
conditions: expectedConditions,
8492
},
@@ -103,18 +111,39 @@ describe.skipIf(IS_JEST)('vite plugin', () => {
103111
],
104112
},
105113
])('adds cleanup', ({ config, expectedSetupFiles }) => {
106-
const subject = svelteTesting()
114+
const subject = svelteTesting({
115+
resolveBrowser: false,
116+
autoCleanup: true,
117+
noExternal: false,
118+
})
107119

108120
const result = config()
109121
subject.config(result)
110122

111-
expect(result).toMatchObject({
123+
expect(result).toEqual({
112124
test: {
113125
setupFiles: expectedSetupFiles,
114126
},
115127
})
116128
})
117129

130+
test('skips cleanup in global mode', () => {
131+
const subject = svelteTesting({
132+
resolveBrowser: false,
133+
autoCleanup: true,
134+
noExternal: false,
135+
})
136+
137+
const result = { test: { globals: true } }
138+
subject.config(result)
139+
140+
expect(result).toEqual({
141+
test: {
142+
globals: true,
143+
},
144+
})
145+
})
146+
118147
test.each([
119148
{
120149
config: () => ({ ssr: { noExternal: [] } }),
@@ -133,12 +162,16 @@ describe.skipIf(IS_JEST)('vite plugin', () => {
133162
expectedNoExternal: [/other/u, '@testing-library/svelte'],
134163
},
135164
])('adds noExternal rule', ({ config, expectedNoExternal }) => {
136-
const subject = svelteTesting()
165+
const subject = svelteTesting({
166+
resolveBrowser: false,
167+
autoCleanup: false,
168+
noExternal: true,
169+
})
137170

138171
const result = config()
139172
subject.config(result)
140173

141-
expect(result).toMatchObject({
174+
expect(result).toEqual({
142175
ssr: {
143176
noExternal: expectedNoExternal,
144177
},
@@ -159,25 +192,33 @@ describe.skipIf(IS_JEST)('vite plugin', () => {
159192
expectedNoExternal: /svelte/u,
160193
},
161194
])('skips noExternal if able', ({ config, expectedNoExternal }) => {
162-
const subject = svelteTesting()
195+
const subject = svelteTesting({
196+
resolveBrowser: false,
197+
autoCleanup: false,
198+
noExternal: true,
199+
})
163200

164201
const result = config()
165202
subject.config(result)
166203

167-
expect(result).toMatchObject({
204+
expect(result).toEqual({
168205
ssr: {
169206
noExternal: expectedNoExternal,
170207
},
171208
})
172209
})
173210

174211
test('bails on noExternal if input is unexpected', () => {
175-
const subject = svelteTesting()
212+
const subject = svelteTesting({
213+
resolveBrowser: false,
214+
autoCleanup: false,
215+
noExternal: true,
216+
})
176217

177218
const result = { ssr: { noExternal: false } }
178219
subject.config(result)
179220

180-
expect(result).toMatchObject({
221+
expect(result).toEqual({
181222
ssr: {
182223
noExternal: false,
183224
},

src/vite.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ const addAutoCleanup = (config) => {
6969
const test = config.test ?? {}
7070
let setupFiles = test.setupFiles ?? []
7171

72+
if (test.globals) {
73+
return
74+
}
75+
7276
if (typeof setupFiles === 'string') {
7377
setupFiles = [setupFiles]
7478
}
@@ -106,10 +110,7 @@ const addNoExternal = (config) => {
106110
return
107111
}
108112

109-
if (
110-
noExternal instanceof RegExp &&
111-
noExternal.test('@testing-library/svelte')
112-
) {
113+
if (rule instanceof RegExp && rule.test('@testing-library/svelte')) {
113114
return
114115
}
115116
}

0 commit comments

Comments
 (0)