Merge commit 'be3e8236086165e5e45a5a10783823874b3f3ebd' as 'lib/vscode'
This commit is contained in:
73
lib/vscode/src/vs/base/test/common/resourceTree.test.ts
Normal file
73
lib/vscode/src/vs/base/test/common/resourceTree.test.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { ResourceTree } from 'vs/base/common/resourceTree';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
|
||||
suite('ResourceTree', function () {
|
||||
test('ctor', function () {
|
||||
const tree = new ResourceTree<string, null>(null);
|
||||
assert.equal(tree.root.childrenCount, 0);
|
||||
});
|
||||
|
||||
test('simple', function () {
|
||||
const tree = new ResourceTree<string, null>(null);
|
||||
|
||||
tree.add(URI.file('/foo/bar.txt'), 'bar contents');
|
||||
assert.equal(tree.root.childrenCount, 1);
|
||||
|
||||
let foo = tree.root.get('foo')!;
|
||||
assert(foo);
|
||||
assert.equal(foo.childrenCount, 1);
|
||||
|
||||
let bar = foo.get('bar.txt')!;
|
||||
assert(bar);
|
||||
assert.equal(bar.element, 'bar contents');
|
||||
|
||||
tree.add(URI.file('/hello.txt'), 'hello contents');
|
||||
assert.equal(tree.root.childrenCount, 2);
|
||||
|
||||
let hello = tree.root.get('hello.txt')!;
|
||||
assert(hello);
|
||||
assert.equal(hello.element, 'hello contents');
|
||||
|
||||
tree.delete(URI.file('/foo/bar.txt'));
|
||||
assert.equal(tree.root.childrenCount, 1);
|
||||
hello = tree.root.get('hello.txt')!;
|
||||
assert(hello);
|
||||
assert.equal(hello.element, 'hello contents');
|
||||
});
|
||||
|
||||
test('folders with data', function () {
|
||||
const tree = new ResourceTree<string, null>(null);
|
||||
|
||||
assert.equal(tree.root.childrenCount, 0);
|
||||
|
||||
tree.add(URI.file('/foo'), 'foo');
|
||||
assert.equal(tree.root.childrenCount, 1);
|
||||
assert.equal(tree.root.get('foo')!.element, 'foo');
|
||||
|
||||
tree.add(URI.file('/bar'), 'bar');
|
||||
assert.equal(tree.root.childrenCount, 2);
|
||||
assert.equal(tree.root.get('bar')!.element, 'bar');
|
||||
|
||||
tree.add(URI.file('/foo/file.txt'), 'file');
|
||||
assert.equal(tree.root.childrenCount, 2);
|
||||
assert.equal(tree.root.get('foo')!.element, 'foo');
|
||||
assert.equal(tree.root.get('bar')!.element, 'bar');
|
||||
assert.equal(tree.root.get('foo')!.get('file.txt')!.element, 'file');
|
||||
|
||||
tree.delete(URI.file('/foo'));
|
||||
assert.equal(tree.root.childrenCount, 1);
|
||||
assert(!tree.root.get('foo'));
|
||||
assert.equal(tree.root.get('bar')!.element, 'bar');
|
||||
|
||||
tree.delete(URI.file('/bar'));
|
||||
assert.equal(tree.root.childrenCount, 0);
|
||||
assert(!tree.root.get('foo'));
|
||||
assert(!tree.root.get('bar'));
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user