Skip to content

Commit 412a9c4

Browse files
committed
test(watch): ignore dependency
1 parent cb226a1 commit 412a9c4

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

tests/specs/watch.ts

+18-10
Original file line numberDiff line numberDiff line change
@@ -205,16 +205,18 @@ export default testSuite(async ({ describe }, fixturePath: string) => {
205205
const entryFile = 'index.js';
206206
const fileA = 'file-a.js';
207207
const fileB = 'directory/file-b.js';
208-
let value = Date.now();
208+
const depA = 'node_modules/a/index.js';
209209

210210
const fixture = await createFixture({
211+
[fileA]: 'export default "logA"',
212+
[fileB]: 'export default "logB"',
213+
[depA]: 'export default "logC"',
211214
[entryFile]: `
212215
import valueA from './${fileA}'
213216
import valueB from './${fileB}'
214-
console.log(valueA, valueB)
217+
import valueC from './${depA}'
218+
console.log(valueA, valueB, valueC)
215219
`.trim(),
216-
[fileA]: `export default ${value}`,
217-
[fileB]: `export default ${value}`,
218220
});
219221

220222
onTestFinish(async () => await fixture.rm());
@@ -229,19 +231,25 @@ export default testSuite(async ({ describe }, fixturePath: string) => {
229231
entryFile,
230232
],
231233
});
234+
const negativeSignal = '"fail"';
232235

233236
await interact(
234237
tsxProcess.stdout!,
235238
[
236239
async (data) => {
237-
if (data === `${value} ${value}\n`) {
238-
value = Date.now();
240+
if (data.includes('fail')) {
241+
throw new Error('should not log ignored file');
242+
}
243+
244+
if (data === 'logA logB logC\n') {
245+
// These changes should not trigger a re-run
239246
await Promise.all([
240-
fixture.writeFile(fileA, `export default ${value}`),
241-
fixture.writeFile(fileB, `export default ${value}`),
247+
fixture.writeFile(fileA, `export default ${negativeSignal}`),
248+
fixture.writeFile(fileB, `export default ${negativeSignal}`),
249+
fixture.writeFile(depA, `export default ${negativeSignal}`),
242250
]);
243251

244-
await setTimeout(500);
252+
await setTimeout(1500);
245253
await fixture.writeFile(entryFile, 'console.log("TERMINATE")');
246254
return true;
247255
}
@@ -253,7 +261,7 @@ export default testSuite(async ({ describe }, fixturePath: string) => {
253261
tsxProcess.kill();
254262

255263
const { all, stderr } = await tsxProcess;
256-
expect(all).not.toMatch(`${value} ${value}`);
264+
expect(all).not.toMatch('fail');
257265
expect(stderr).toBe('');
258266
}, 10_000);
259267
});

0 commit comments

Comments
 (0)