Skip to content

Commit

Permalink
Repeat change event test
Browse files Browse the repository at this point in the history
  • Loading branch information
lukastaegert committed Jan 4, 2022
1 parent 2fea0d7 commit bd5e924
Showing 1 changed file with 74 additions and 70 deletions.
144 changes: 74 additions & 70 deletions test/watch/index.js
Expand Up @@ -235,77 +235,81 @@ describe('rollup.watch', () => {
]);
});

it('passes change parameter to the watchChange plugin hook', async () => {
const WATCHED_ID = path.resolve('test/_tmp/input/watched');
const events = [];
let ids;
const expectedIds = [WATCHED_ID, path.resolve('test/_tmp/input/main.js')];
await sander.copydir('test/watch/samples/watch-files').to('test/_tmp/input');
await sander.unlink(WATCHED_ID);
await wait(100);
watcher = rollup.watch({
input: 'test/_tmp/input/main.js',
output: {
file: 'test/_tmp/output/bundle.js',
format: 'cjs',
exports: 'auto'
},
plugins: {
buildStart() {
this.addWatchFile(WATCHED_ID);
},
watchChange(id, { event }) {
assert.strictEqual(id, WATCHED_ID);
events.push(event);
},
buildEnd() {
ids = this.getWatchFiles();
}
}
});
{
for (let pass = 1; pass <= 10; pass++) {
it('passes change parameter to the watchChange plugin hook' + pass, async () => {
const WATCHED_ID = path.resolve('test/_tmp/input/watched');
const events = [];
let ids;
const expectedIds = [WATCHED_ID, path.resolve('test/_tmp/input/main.js')];
await sander.copydir('test/watch/samples/watch-files').to('test/_tmp/input');
await sander.unlink(WATCHED_ID);
await wait(100);
watcher = rollup.watch({
input: 'test/_tmp/input/main.js',
output: {
file: 'test/_tmp/output/bundle.js',
format: 'cjs',
exports: 'auto'
},
plugins: {
buildStart() {
this.addWatchFile(WATCHED_ID);
},
watchChange(id, { event }) {
assert.strictEqual(id, WATCHED_ID);
events.push(event);
},
buildEnd() {
ids = this.getWatchFiles();
}
}
});

return sequence(watcher, [
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, []);
assert.deepStrictEqual(ids, expectedIds);
atomicWriteFileSync(WATCHED_ID, 'first');
},
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, ['create']);
assert.deepStrictEqual(ids, expectedIds);
atomicWriteFileSync(WATCHED_ID, 'first');
},
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, ['create', 'update']);
assert.deepStrictEqual(ids, expectedIds);
sander.unlinkSync(WATCHED_ID);
},
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, ['create', 'update', 'delete']);
assert.deepStrictEqual(ids, expectedIds);
}
]);
});
return sequence(watcher, [
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, []);
assert.deepStrictEqual(ids, expectedIds);
atomicWriteFileSync(WATCHED_ID, 'first');
},
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, ['create']);
assert.deepStrictEqual(ids, expectedIds);
atomicWriteFileSync(WATCHED_ID, 'first');
},
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, ['create', 'update']);
assert.deepStrictEqual(ids, expectedIds);
sander.unlinkSync(WATCHED_ID);
},
'START',
'BUNDLE_START',
'BUNDLE_END',
'END',
() => {
assert.strictEqual(run('../_tmp/output/bundle.js'), 42);
assert.deepStrictEqual(events, ['create', 'update', 'delete']);
assert.deepStrictEqual(ids, expectedIds);
}
]);
});
}
}

it('correctly rewrites change event during build delay', async () => {
const WATCHED_ID = path.resolve('test/_tmp/input/watched');
Expand Down

0 comments on commit bd5e924

Please sign in to comment.