Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/debug/test/browser/watch.test.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import assert from 'assert';
7
import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../../base/test/common/utils.js';
8
import { DebugModel, Expression } from '../../common/debugModel.js';
9
import { createMockDebugModel } from './mockDebugModel.js';
10
11
// Expressions
12
13
function assertWatchExpressions(watchExpressions: Expression[], expectedName: string) {
14
assert.strictEqual(watchExpressions.length, 2);
15
watchExpressions.forEach(we => {
16
assert.strictEqual(we.available, false);
17
assert.strictEqual(we.reference, 0);
18
assert.strictEqual(we.name, expectedName);
19
});
20
}
21
22
suite('Debug - Watch', () => {
23
let model: DebugModel;
24
const disposables = ensureNoDisposablesAreLeakedInTestSuite();
25
26
setup(() => {
27
model = createMockDebugModel(disposables);
28
});
29
30
test('watch expressions', () => {
31
assert.strictEqual(model.getWatchExpressions().length, 0);
32
model.addWatchExpression('console');
33
model.addWatchExpression('console');
34
let watchExpressions = model.getWatchExpressions();
35
assertWatchExpressions(watchExpressions, 'console');
36
37
model.renameWatchExpression(watchExpressions[0].getId(), 'new_name');
38
model.renameWatchExpression(watchExpressions[1].getId(), 'new_name');
39
assertWatchExpressions(model.getWatchExpressions(), 'new_name');
40
41
assertWatchExpressions(model.getWatchExpressions(), 'new_name');
42
43
model.addWatchExpression('mockExpression');
44
model.moveWatchExpression(model.getWatchExpressions()[2].getId(), 1);
45
watchExpressions = model.getWatchExpressions();
46
assert.strictEqual(watchExpressions[0].name, 'new_name');
47
assert.strictEqual(watchExpressions[1].name, 'mockExpression');
48
assert.strictEqual(watchExpressions[2].name, 'new_name');
49
50
model.removeWatchExpressions();
51
assert.strictEqual(model.getWatchExpressions().length, 0);
52
});
53
});
54
55