提交 bb55416b 编写于 作者: J Johannes Rieken

make sure to return empty array when calling dispose-util with array

上级 d52f137e
...@@ -66,7 +66,7 @@ export function dispose<T extends IDisposable>(arg: T | IterableIterator<T> | un ...@@ -66,7 +66,7 @@ export function dispose<T extends IDisposable>(arg: T | IterableIterator<T> | un
d.dispose(); d.dispose();
} }
} }
return arg; return Array.isArray(arg) ? [] : arg;
} else if (arg) { } else if (arg) {
markTracked(arg); markTracked(arg);
arg.dispose(); arg.dispose();
......
...@@ -48,6 +48,21 @@ suite('Lifecycle', () => { ...@@ -48,6 +48,21 @@ suite('Lifecycle', () => {
assert(disposable.isDisposed); assert(disposable.isDisposed);
assert(disposable2.isDisposed); assert(disposable2.isDisposed);
}); });
test('Action bar has broken accessibility #100273', function () {
let array = [{ dispose() { } }, { dispose() { } }];
let array2 = dispose(array);
assert.equal(array.length, 2);
assert.equal(array2.length, 0);
assert.ok(array !== array2);
let set = new Set<IDisposable>([{ dispose() { } }, { dispose() { } }]);
let setValues = set.values();
let setValues2 = dispose(setValues);
assert.ok(setValues === setValues2);
});
}); });
suite('Reference Collection', () => { suite('Reference Collection', () => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册