提交 9074cf81 编写于 作者: J Johannes Rieken

add test for #61919

上级 1ec6d3c2
......@@ -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]);
});
});
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册