Skip to content

Commit

Permalink
add test for #61919
Browse files Browse the repository at this point in the history
  • Loading branch information
jrieken committed Nov 6, 2018
1 parent 1ec6d3c commit 9074cf8
Showing 1 changed file with 76 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -241,4 +241,80 @@ suite('DecorationsService', function () {

reg.dispose();
});

test('Folder decorations don\'t go away when file with problems is deleted #61919 (part1)', function () {

let emitter = new Emitter<URI[]>();
let gone = false;
let reg = service.registerDecorationsProvider({
label: 'Test',
onDidChange: emitter.event,
provideDecorations(uri: URI) {
if (!gone && uri.path.match(/file.ts$/)) {
return { tooltip: 'FOO', weight: 17, bubble: true };
}
return undefined;
}
});

let uri = URI.parse('foo:/folder/file.ts');
let uri2 = URI.parse('foo:/folder/');
let data = service.getDecoration(uri, true);
assert.equal(data.tooltip, 'FOO');

data = service.getDecoration(uri2, true);
assert.ok(data.tooltip); // emphazied items...

gone = true;
emitter.fire([uri]);

data = service.getDecoration(uri, true);
assert.equal(data, undefined);

data = service.getDecoration(uri2, true);
assert.equal(data, undefined);

reg.dispose();
});

test('Folder decorations don\'t go away when file with problems is deleted #61919 (part2)', function () {

let emitter = new Emitter<URI[]>();
let gone = false;
let reg = service.registerDecorationsProvider({
label: 'Test',
onDidChange: emitter.event,
provideDecorations(uri: URI) {
if (!gone && uri.path.match(/file.ts$/)) {
return { tooltip: 'FOO', weight: 17, bubble: true };
}
return undefined;
}
});

let uri = URI.parse('foo:/folder/file.ts');
let uri2 = URI.parse('foo:/folder/');
let data = service.getDecoration(uri, true);
assert.equal(data.tooltip, 'FOO');

data = service.getDecoration(uri2, true);
assert.ok(data.tooltip); // emphazied items...

return new Promise((resolve, reject) => {
let l = service.onDidChangeDecorations(e => {
l.dispose();
try {
assert.ok(e.affectsResource(uri));
assert.ok(e.affectsResource(uri2));
resolve();
reg.dispose();
} catch (err) {
reject(err);
reg.dispose();
}
});
gone = true;
emitter.fire([uri]);
});
});
});

0 comments on commit 9074cf8

Please sign in to comment.