Skip to content

Commit 50cb3ce

Browse files
committed
CCR feedback
1 parent 2f478f1 commit 50cb3ce

File tree

2 files changed

+23
-15
lines changed

2 files changed

+23
-15
lines changed

src/test/view/treeNodes/directoryTreeNode.test.ts

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ function createMockParent(): TreeNodeParent {
3232
}
3333

3434
describe('DirectoryTreeNode', function () {
35-
describe('allChildrenViewed', function () {
36-
it('returns true when all file children are checked', function () {
35+
describe('allChildrenViewed (via updateCheckboxFromChildren)', function () {
36+
it('sets Checked when all file children are checked', function () {
3737
const dirNode = new DirectoryTreeNode(createMockParent(), 'src');
3838

3939
const file1 = new MockFileNode(dirNode);
@@ -43,10 +43,11 @@ describe('DirectoryTreeNode', function () {
4343

4444
(dirNode._children as any[]).push(file1, file2);
4545

46-
assert.strictEqual(dirNode.allChildrenViewed(), true);
46+
dirNode.updateCheckboxFromChildren();
47+
assert.strictEqual(dirNode.checkboxState?.state, vscode.TreeItemCheckboxState.Checked);
4748
});
4849

49-
it('returns false when some file children are unchecked', function () {
50+
it('sets Unchecked when some file children are unchecked', function () {
5051
const dirNode = new DirectoryTreeNode(createMockParent(), 'src');
5152

5253
const file1 = new MockFileNode(dirNode);
@@ -56,10 +57,11 @@ describe('DirectoryTreeNode', function () {
5657

5758
(dirNode._children as any[]).push(file1, file2);
5859

59-
assert.strictEqual(dirNode.allChildrenViewed(), false);
60+
dirNode.updateCheckboxFromChildren();
61+
assert.strictEqual(dirNode.checkboxState?.state, vscode.TreeItemCheckboxState.Unchecked);
6062
});
6163

62-
it('returns false when a file child has no checkboxState', function () {
64+
it('sets Unchecked when a file child has no checkboxState', function () {
6365
const dirNode = new DirectoryTreeNode(createMockParent(), 'src');
6466

6567
const file1 = new MockFileNode(dirNode);
@@ -69,10 +71,11 @@ describe('DirectoryTreeNode', function () {
6971

7072
(dirNode._children as any[]).push(file1, file2);
7173

72-
assert.strictEqual(dirNode.allChildrenViewed(), false);
74+
dirNode.updateCheckboxFromChildren();
75+
assert.strictEqual(dirNode.checkboxState?.state, vscode.TreeItemCheckboxState.Unchecked);
7376
});
7477

75-
it('returns true when nested directories have all children checked', function () {
78+
it('sets Checked when nested directories have all children checked', function () {
7679
const parentDir = new DirectoryTreeNode(createMockParent(), 'src');
7780
const childDir = new DirectoryTreeNode(parentDir, 'utils');
7881

@@ -82,10 +85,12 @@ describe('DirectoryTreeNode', function () {
8285
(childDir._children as any[]).push(file1);
8386
parentDir._children.push(childDir);
8487

85-
assert.strictEqual(parentDir.allChildrenViewed(), true);
88+
childDir.updateCheckboxFromChildren();
89+
parentDir.updateCheckboxFromChildren();
90+
assert.strictEqual(parentDir.checkboxState?.state, vscode.TreeItemCheckboxState.Checked);
8691
});
8792

88-
it('returns false when nested directories have unchecked children', function () {
93+
it('sets Unchecked when nested directories have unchecked children', function () {
8994
const parentDir = new DirectoryTreeNode(createMockParent(), 'src');
9095
const childDir = new DirectoryTreeNode(parentDir, 'utils');
9196

@@ -95,12 +100,15 @@ describe('DirectoryTreeNode', function () {
95100
(childDir._children as any[]).push(file1);
96101
parentDir._children.push(childDir);
97102

98-
assert.strictEqual(parentDir.allChildrenViewed(), false);
103+
childDir.updateCheckboxFromChildren();
104+
parentDir.updateCheckboxFromChildren();
105+
assert.strictEqual(parentDir.checkboxState?.state, vscode.TreeItemCheckboxState.Unchecked);
99106
});
100107

101-
it('returns true when empty directory has no children', function () {
108+
it('sets Checked when empty directory has no children', function () {
102109
const dirNode = new DirectoryTreeNode(createMockParent(), 'empty');
103-
assert.strictEqual(dirNode.allChildrenViewed(), true);
110+
dirNode.updateCheckboxFromChildren();
111+
assert.strictEqual(dirNode.checkboxState?.state, vscode.TreeItemCheckboxState.Checked);
104112
});
105113
});
106114

src/view/treeNodes/directoryTreeNode.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ export class DirectoryTreeNode extends TreeNode implements vscode.TreeItem {
118118
node.addPathRecc(tail, file);
119119
}
120120

121-
public allChildrenViewed(): boolean {
121+
private allChildrenViewed(): boolean {
122122
for (const child of this._children) {
123123
if (child instanceof DirectoryTreeNode) {
124124
if (!child.allChildrenViewed()) {
@@ -142,7 +142,7 @@ export class DirectoryTreeNode extends TreeNode implements vscode.TreeItem {
142142
}
143143

144144
getTreeItem(): vscode.TreeItem {
145-
this.setCheckboxState(this.allChildrenViewed());
145+
this.updateCheckboxFromChildren();
146146
return this;
147147
}
148148
}

0 commit comments

Comments
 (0)