Path: blob/main/src/vs/workbench/contrib/debug/test/browser/watch.test.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import assert from 'assert';6import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../../base/test/common/utils.js';7import { DebugModel, Expression } from '../../common/debugModel.js';8import { createMockDebugModel } from './mockDebugModel.js';910// Expressions1112function assertWatchExpressions(watchExpressions: Expression[], expectedName: string) {13assert.strictEqual(watchExpressions.length, 2);14watchExpressions.forEach(we => {15assert.strictEqual(we.available, false);16assert.strictEqual(we.reference, 0);17assert.strictEqual(we.name, expectedName);18});19}2021suite('Debug - Watch', () => {22let model: DebugModel;23const disposables = ensureNoDisposablesAreLeakedInTestSuite();2425setup(() => {26model = createMockDebugModel(disposables);27});2829test('watch expressions', () => {30assert.strictEqual(model.getWatchExpressions().length, 0);31model.addWatchExpression('console');32model.addWatchExpression('console');33let watchExpressions = model.getWatchExpressions();34assertWatchExpressions(watchExpressions, 'console');3536model.renameWatchExpression(watchExpressions[0].getId(), 'new_name');37model.renameWatchExpression(watchExpressions[1].getId(), 'new_name');38assertWatchExpressions(model.getWatchExpressions(), 'new_name');3940assertWatchExpressions(model.getWatchExpressions(), 'new_name');4142model.addWatchExpression('mockExpression');43model.moveWatchExpression(model.getWatchExpressions()[2].getId(), 1);44watchExpressions = model.getWatchExpressions();45assert.strictEqual(watchExpressions[0].name, 'new_name');46assert.strictEqual(watchExpressions[1].name, 'mockExpression');47assert.strictEqual(watchExpressions[2].name, 'new_name');4849model.removeWatchExpressions();50assert.strictEqual(model.getWatchExpressions().length, 0);51});52});535455