mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-20 02:08:47 +00:00
* Revert "Fix element already registered (#281000)"
This reverts commit ca3f2212d1.
* skip test
This commit is contained in:
@@ -18,7 +18,7 @@ suite('vscode API - tree', () => {
|
||||
assertNoRpc();
|
||||
});
|
||||
|
||||
test('TreeView - element already registered', async function () {
|
||||
test.skip('TreeView - element already registered', async function () {
|
||||
this.timeout(60_000);
|
||||
|
||||
type TreeElement = { readonly kind: 'leaf' };
|
||||
|
||||
@@ -863,23 +863,10 @@ class ExtHostTreeView<T> extends Disposable {
|
||||
}
|
||||
|
||||
private _createAndRegisterTreeNode(element: T, extTreeItem: vscode.TreeItem, parentNode: TreeNode | Root): TreeNode {
|
||||
const duplicateHandle = extTreeItem.id ? `${ExtHostTreeView.ID_HANDLE_PREFIX}/${extTreeItem.id}` : undefined;
|
||||
if (duplicateHandle) {
|
||||
const existingElement = this._elements.get(duplicateHandle);
|
||||
if (existingElement) {
|
||||
if (existingElement !== element) {
|
||||
throw new Error(localize('treeView.duplicateElement', 'Element with id {0} is already registered', extTreeItem.id));
|
||||
}
|
||||
const existingNode = this._nodes.get(existingElement);
|
||||
if (existingNode) {
|
||||
const newNode = this._createTreeNode(element, extTreeItem, parentNode);
|
||||
this._updateNodeCache(element, newNode, existingNode, parentNode);
|
||||
existingNode.dispose();
|
||||
return newNode;
|
||||
}
|
||||
}
|
||||
}
|
||||
const node = this._createTreeNode(element, extTreeItem, parentNode);
|
||||
if (extTreeItem.id && this._elements.has(node.item.handle)) {
|
||||
throw new Error(localize('treeView.duplicateElement', 'Element with id {0} is already registered', extTreeItem.id));
|
||||
}
|
||||
this._addNodeToCache(element, node);
|
||||
this._addNodeToParentCache(node, parentNode);
|
||||
return node;
|
||||
|
||||
Reference in New Issue
Block a user