@codingame/monaco-vscode-testing-service-override 18.4.0 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +17 -19
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +18 -18
- package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDisplayUtils.js +5 -5
- package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +29 -29
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +4 -4
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +13 -13
- package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +126 -70
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsOutput.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsOutput.js +60 -18
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsTree.js +38 -21
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.js +6 -5
- package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +28 -23
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +16 -16
- package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.js +5 -5
- package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +32 -32
- package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +33 -33
- package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +30 -30
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-testing-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - testing service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,24 +15,22 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-0b087f42-a5a3-5eb9-9bfd-1eebc1bba163-common": "
|
|
19
|
-
"@codingame/monaco-vscode-
|
|
20
|
-
"@codingame/monaco-vscode-
|
|
21
|
-
"@codingame/monaco-vscode-
|
|
22
|
-
"@codingame/monaco-vscode-
|
|
23
|
-
"@codingame/monaco-vscode-8bcd87e5-7461-57cf-b4e4-a7b00d2b33df-common": "
|
|
24
|
-
"@codingame/monaco-vscode-
|
|
25
|
-
"@codingame/monaco-vscode-
|
|
26
|
-
"@codingame/monaco-vscode-
|
|
27
|
-
"@codingame/monaco-vscode-
|
|
28
|
-
"@codingame/monaco-vscode-
|
|
29
|
-
"@codingame/monaco-vscode-
|
|
30
|
-
"@codingame/monaco-vscode-
|
|
31
|
-
"@codingame/monaco-vscode-
|
|
32
|
-
"@codingame/monaco-vscode-
|
|
33
|
-
"@codingame/monaco-vscode-
|
|
34
|
-
"@codingame/monaco-vscode-f6ab89b2-83b0-5a43-8772-cb0eafa650b5-common": "18.4.0",
|
|
35
|
-
"@codingame/monaco-vscode-terminal-service-override": "18.4.0"
|
|
18
|
+
"@codingame/monaco-vscode-0b087f42-a5a3-5eb9-9bfd-1eebc1bba163-common": "19.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-262ed59d-4f76-57cd-9e9f-1877f26ae049-common": "19.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-2726569c-a06b-5f25-b851-14311bef12fa-common": "19.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "19.0.0",
|
|
22
|
+
"@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common": "19.0.0",
|
|
23
|
+
"@codingame/monaco-vscode-8bcd87e5-7461-57cf-b4e4-a7b00d2b33df-common": "19.0.0",
|
|
24
|
+
"@codingame/monaco-vscode-937ecbdf-94c7-5b16-aefa-ad78ae557a93-common": "19.0.0",
|
|
25
|
+
"@codingame/monaco-vscode-9c72783f-914c-50be-b9ef-da16356d81a8-common": "19.0.0",
|
|
26
|
+
"@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common": "19.0.0",
|
|
27
|
+
"@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common": "19.0.0",
|
|
28
|
+
"@codingame/monaco-vscode-api": "19.0.0",
|
|
29
|
+
"@codingame/monaco-vscode-b99aef83-0d60-5e8c-a62e-9908b6256f35-common": "19.0.0",
|
|
30
|
+
"@codingame/monaco-vscode-ca445022-b812-53ca-a041-e46c7e0b13de-common": "19.0.0",
|
|
31
|
+
"@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "19.0.0",
|
|
32
|
+
"@codingame/monaco-vscode-f6ab89b2-83b0-5a43-8772-cb0eafa650b5-common": "19.0.0",
|
|
33
|
+
"@codingame/monaco-vscode-terminal-service-override": "19.0.0"
|
|
36
34
|
},
|
|
37
35
|
"main": "index.js",
|
|
38
36
|
"module": "index.js",
|
|
@@ -28,7 +28,7 @@ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/l
|
|
|
28
28
|
import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
|
|
29
29
|
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
30
30
|
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
31
|
-
import { ResourceLabel } from '@codingame/monaco-vscode-
|
|
31
|
+
import { ResourceLabel } from '@codingame/monaco-vscode-2726569c-a06b-5f25-b851-14311bef12fa-common/vscode/vs/workbench/browser/labels';
|
|
32
32
|
import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
33
33
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
34
34
|
import { makeStackFrameColumnDecoration, TOP_STACK_FRAME_DECORATION } from '@codingame/monaco-vscode-b99aef83-0d60-5e8c-a62e-9908b6256f35-common/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution';
|
|
@@ -180,7 +180,7 @@ let StackAccessibilityProvider = class StackAccessibilityProvider {
|
|
|
180
180
|
if (e instanceof CallStackFrame) {
|
|
181
181
|
if (e.source && e.line) {
|
|
182
182
|
return localize(
|
|
183
|
-
|
|
183
|
+
5829,
|
|
184
184
|
'{0}, line {1} in {2}',
|
|
185
185
|
e.name,
|
|
186
186
|
e.line,
|
|
@@ -192,7 +192,7 @@ let StackAccessibilityProvider = class StackAccessibilityProvider {
|
|
|
192
192
|
assertNever();
|
|
193
193
|
}
|
|
194
194
|
getWidgetAriaLabel() {
|
|
195
|
-
return localize(
|
|
195
|
+
return localize(5830, 'Stack Trace');
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
198
|
StackAccessibilityProvider = ( __decorate([
|
|
@@ -412,7 +412,7 @@ let MissingCodeRenderer = class MissingCodeRenderer {
|
|
|
412
412
|
const cast = element;
|
|
413
413
|
templateData.label.element.setResource({
|
|
414
414
|
name: cast.name,
|
|
415
|
-
description: ( localize(
|
|
415
|
+
description: ( localize(5831, 'Line {0} column {1}', cast.line, cast.column)),
|
|
416
416
|
range: { startLineNumber: cast.line, startColumn: cast.column, endColumn: cast.column, endLineNumber: cast.line },
|
|
417
417
|
}, {
|
|
418
418
|
icon: Codicon.fileBinary,
|
|
@@ -473,7 +473,7 @@ let SkippedRenderer = class SkippedRenderer {
|
|
|
473
473
|
}
|
|
474
474
|
button.enabled = false;
|
|
475
475
|
this.loadFrames(data.current).catch(e => {
|
|
476
|
-
this.notificationService.error(( localize(
|
|
476
|
+
this.notificationService.error(( localize(5832, 'Failed to load stack frames: {0}', e.message)));
|
|
477
477
|
});
|
|
478
478
|
}));
|
|
479
479
|
return data;
|
|
@@ -550,7 +550,7 @@ registerAction2(class extends Action2 {
|
|
|
550
550
|
constructor() {
|
|
551
551
|
super({
|
|
552
552
|
id: 'callStackWidget.goToFile',
|
|
553
|
-
title: ( localize2(
|
|
553
|
+
title: ( localize2(5833, 'Open File')),
|
|
554
554
|
icon: Codicon.goToFile,
|
|
555
555
|
menu: {
|
|
556
556
|
id: MenuId.DebugCallStackToolbar,
|
|
@@ -37,7 +37,7 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
|
|
|
37
37
|
import { bindContextKey, observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
|
|
38
38
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
39
39
|
import { ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
40
|
-
import { TEXT_FILE_EDITOR_ID } from '@codingame/monaco-vscode-
|
|
40
|
+
import { TEXT_FILE_EDITOR_ID } from '@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common/vscode/vs/workbench/contrib/files/common/files';
|
|
41
41
|
import { TestingConfigKeys, getTestingConfiguration } from '../common/configuration.js';
|
|
42
42
|
import { TestCommandId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/constants';
|
|
43
43
|
import { FileCoverage } from '@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common/vscode/vs/workbench/contrib/testing/common/testCoverage';
|
|
@@ -55,7 +55,7 @@ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/obse
|
|
|
55
55
|
|
|
56
56
|
const CLASS_HIT = 'coverage-deco-hit';
|
|
57
57
|
const CLASS_MISS = 'coverage-deco-miss';
|
|
58
|
-
const TOGGLE_INLINE_COMMAND_TEXT = ( localize(
|
|
58
|
+
const TOGGLE_INLINE_COMMAND_TEXT = ( localize(11297, 'Toggle Inline'));
|
|
59
59
|
const TOGGLE_INLINE_COMMAND_ID = 'testing.toggleInlineCoverage';
|
|
60
60
|
const BRANCH_MISS_INDICATOR_CHARS = 4;
|
|
61
61
|
let CodeCoverageDecorations = class CodeCoverageDecorations extends Disposable {
|
|
@@ -380,7 +380,7 @@ class CoverageDetailsModel {
|
|
|
380
380
|
if (detail.branches?.length) {
|
|
381
381
|
const covered = detail.branches.filter(b => !!b.count).length;
|
|
382
382
|
return ( new MarkdownString()).appendMarkdown(( localize(
|
|
383
|
-
|
|
383
|
+
11298,
|
|
384
384
|
'{0} of {1} of branches in {2} were covered.',
|
|
385
385
|
covered,
|
|
386
386
|
detail.branches.length,
|
|
@@ -396,13 +396,13 @@ class CoverageDetailsModel {
|
|
|
396
396
|
const { count, label } = detail.detail.branches[detail.branch];
|
|
397
397
|
const label2 = label ? wrapInBackticks(label) : `#${detail.branch + 1}`;
|
|
398
398
|
if (!count) {
|
|
399
|
-
return ( new MarkdownString()).appendMarkdown(( localize(
|
|
399
|
+
return ( new MarkdownString()).appendMarkdown(( localize(11299, 'Branch {0} in {1} was not covered.', label2, text)));
|
|
400
400
|
}
|
|
401
401
|
else if (count === true) {
|
|
402
|
-
return ( new MarkdownString()).appendMarkdown(( localize(
|
|
402
|
+
return ( new MarkdownString()).appendMarkdown(( localize(11300, 'Branch {0} in {1} was executed.', label2, text)));
|
|
403
403
|
}
|
|
404
404
|
else {
|
|
405
|
-
return ( new MarkdownString()).appendMarkdown(( localize(
|
|
405
|
+
return ( new MarkdownString()).appendMarkdown(( localize(11301, 'Branch {0} in {1} was executed {2} time(s).', label2, text, count)));
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
408
|
assertNever();
|
|
@@ -410,10 +410,10 @@ class CoverageDetailsModel {
|
|
|
410
410
|
}
|
|
411
411
|
function namedDetailLabel(name, detail) {
|
|
412
412
|
return ( new MarkdownString()).appendMarkdown(!detail.count
|
|
413
|
-
? ( localize(
|
|
413
|
+
? ( localize(11302, '`{0}` was not executed.', name))
|
|
414
414
|
: typeof detail.count === 'number'
|
|
415
|
-
? ( localize(
|
|
416
|
-
: ( localize(
|
|
415
|
+
? ( localize(11303, '`{0}` was executed {1} time(s).', name, detail.count))
|
|
416
|
+
: ( localize(11304, '`{0}` was executed.', name)));
|
|
417
417
|
}
|
|
418
418
|
function tidyLocation(location) {
|
|
419
419
|
if (location instanceof Position) {
|
|
@@ -510,8 +510,8 @@ let CoverageToolbarWidget = class CoverageToolbarWidget extends Disposable {
|
|
|
510
510
|
return;
|
|
511
511
|
}
|
|
512
512
|
const toggleAction = ( new ActionWithIcon('toggleInline', this.coverage.showInline.get()
|
|
513
|
-
? ( localize(
|
|
514
|
-
: ( localize(
|
|
513
|
+
? ( localize(11305, 'Hide Inline Coverage'))
|
|
514
|
+
: ( localize(11306, 'Show Inline Coverage')), testingCoverageReport, undefined, () => this.coverage.showInline.set(!this.coverage.showInline.get(), undefined)));
|
|
515
515
|
const kb = this.keybindingService.lookupKeybinding(TOGGLE_INLINE_COMMAND_ID);
|
|
516
516
|
if (kb) {
|
|
517
517
|
toggleAction.tooltip = `${TOGGLE_INLINE_COMMAND_TEXT} (${kb.getLabel()})`;
|
|
@@ -530,12 +530,12 @@ let CoverageToolbarWidget = class CoverageToolbarWidget extends Disposable {
|
|
|
530
530
|
}
|
|
531
531
|
else if (current.coverage.perTestData?.size) {
|
|
532
532
|
this.actionBar.push(( new ActionWithIcon('perTestFilter', ( localize(
|
|
533
|
-
|
|
533
|
+
11307,
|
|
534
534
|
"{0} test(s) ran code in this file",
|
|
535
535
|
current.coverage.perTestData.size
|
|
536
536
|
)), testingFilterIcon, undefined, () => this.commandService.executeCommand(TestCommandId.CoverageFilterToTestInEditor, this.current, this.editor))));
|
|
537
537
|
}
|
|
538
|
-
this.actionBar.push(( new ActionWithIcon('rerun', ( localize(
|
|
538
|
+
this.actionBar.push(( new ActionWithIcon('rerun', ( localize(11308, 'Rerun')), testingRerunIcon, !this.isRunning, () => this.rerunTest())));
|
|
539
539
|
}
|
|
540
540
|
show() {
|
|
541
541
|
if (this.registered) {
|
|
@@ -595,7 +595,7 @@ registerAction2(class ToggleInlineCoverage extends Action2 {
|
|
|
595
595
|
constructor() {
|
|
596
596
|
super({
|
|
597
597
|
id: TOGGLE_INLINE_COMMAND_ID,
|
|
598
|
-
title: ( localize2(
|
|
598
|
+
title: ( localize2(11309, "Toggle Inline Coverage")),
|
|
599
599
|
category: Categories.Test,
|
|
600
600
|
keybinding: {
|
|
601
601
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -603,7 +603,7 @@ registerAction2(class ToggleInlineCoverage extends Action2 {
|
|
|
603
603
|
},
|
|
604
604
|
toggled: {
|
|
605
605
|
condition: TestingContextKeys.inlineCoverageEnabled,
|
|
606
|
-
title: ( localize(
|
|
606
|
+
title: ( localize(11310, "Hide Inline Coverage")),
|
|
607
607
|
},
|
|
608
608
|
icon: testingCoverageReport,
|
|
609
609
|
menu: [
|
|
@@ -621,9 +621,9 @@ registerAction2(class ToggleCoverageToolbar extends Action2 {
|
|
|
621
621
|
constructor() {
|
|
622
622
|
super({
|
|
623
623
|
id: TestCommandId.CoverageToggleToolbar,
|
|
624
|
-
title: ( localize2(
|
|
624
|
+
title: ( localize2(11311, "Test Coverage Toolbar")),
|
|
625
625
|
metadata: {
|
|
626
|
-
description: ( localize2(
|
|
626
|
+
description: ( localize2(11312, 'Toggle the sticky coverage bar in the editor.'))
|
|
627
627
|
},
|
|
628
628
|
category: Categories.Test,
|
|
629
629
|
toggled: {
|
|
@@ -646,7 +646,7 @@ registerAction2(class FilterCoverageToTestInEditor extends Action2 {
|
|
|
646
646
|
constructor() {
|
|
647
647
|
super({
|
|
648
648
|
id: TestCommandId.CoverageFilterToTestInEditor,
|
|
649
|
-
title: ( localize2(
|
|
649
|
+
title: ( localize2(11313, "Filter Coverage to Test")),
|
|
650
650
|
category: Categories.Test,
|
|
651
651
|
icon: Codicon.filter,
|
|
652
652
|
toggled: {
|
|
@@ -75,11 +75,11 @@ function getLabelForItem(result, testId, commonPrefixLen) {
|
|
|
75
75
|
}
|
|
76
76
|
var labels;
|
|
77
77
|
(function (labels) {
|
|
78
|
-
labels.showingFilterFor = (label) => ( localize(
|
|
79
|
-
labels.clickToChangeFiltering = ( localize(
|
|
80
|
-
labels.percentCoverage = (percent, precision) => ( localize(
|
|
81
|
-
labels.allTests = ( localize(
|
|
82
|
-
labels.pickShowCoverage = ( localize(
|
|
78
|
+
labels.showingFilterFor = (label) => ( localize(11314, "Showing \"{0}\"", label));
|
|
79
|
+
labels.clickToChangeFiltering = ( localize(11315, 'Click to view coverage for a single test'));
|
|
80
|
+
labels.percentCoverage = (percent, precision) => ( localize(11316, '{0} Coverage', displayPercent(percent, precision)));
|
|
81
|
+
labels.allTests = ( localize(11317, 'All tests'));
|
|
82
|
+
labels.pickShowCoverage = ( localize(11318, 'Pick a test to show coverage for'));
|
|
83
83
|
})(labels || (labels = {}));
|
|
84
84
|
|
|
85
85
|
export { calculateDisplayedStat, displayPercent, getCoverageColor, getLabelForItem, labels, percent };
|
|
@@ -7,37 +7,37 @@ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/th
|
|
|
7
7
|
import { testStatesToIconColors, testStatesToRetiredIconColors, testingColorRunAction } from './theme.js';
|
|
8
8
|
import { TestResultState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testTypes';
|
|
9
9
|
|
|
10
|
-
const testingViewIcon = registerIcon('test-view-icon', Codicon.beaker, ( localize(
|
|
11
|
-
const testingResultsIcon = registerIcon('test-results-icon', Codicon.checklist, ( localize(
|
|
12
|
-
const testingRunIcon = registerIcon('testing-run-icon', Codicon.run, ( localize(
|
|
13
|
-
const testingRerunIcon = registerIcon('testing-rerun-icon', Codicon.debugRerun, ( localize(
|
|
14
|
-
const testingRunAllIcon = registerIcon('testing-run-all-icon', Codicon.runAll, ( localize(
|
|
15
|
-
const testingDebugAllIcon = registerIcon('testing-debug-all-icon', Codicon.debugAltSmall, ( localize(
|
|
16
|
-
const testingDebugIcon = registerIcon('testing-debug-icon', Codicon.debugAltSmall, ( localize(
|
|
17
|
-
const testingCoverageIcon = registerIcon('testing-coverage-icon', Codicon.runCoverage, ( localize(
|
|
18
|
-
const testingCoverageAllIcon = registerIcon('testing-coverage-all-icon', Codicon.runAllCoverage, ( localize(
|
|
19
|
-
const testingCancelIcon = registerIcon('testing-cancel-icon', Codicon.debugStop, ( localize(
|
|
20
|
-
const testingFilterIcon = registerIcon('testing-filter', Codicon.filter, ( localize(
|
|
21
|
-
const testingHiddenIcon = registerIcon('testing-hidden', Codicon.eyeClosed, ( localize(
|
|
22
|
-
registerIcon('testing-show-as-list-icon', Codicon.listTree, ( localize(
|
|
23
|
-
registerIcon('testing-show-as-list-icon', Codicon.listFlat, ( localize(
|
|
24
|
-
const testingUpdateProfiles = registerIcon('testing-update-profiles', Codicon.gear, ( localize(
|
|
25
|
-
const testingRefreshTests = registerIcon('testing-refresh-tests', Codicon.refresh, ( localize(
|
|
26
|
-
const testingTurnContinuousRunOn = registerIcon('testing-turn-continuous-run-on', Codicon.eye, ( localize(
|
|
27
|
-
const testingTurnContinuousRunOff = registerIcon('testing-turn-continuous-run-off', Codicon.eyeClosed, ( localize(
|
|
28
|
-
const testingContinuousIsOn = registerIcon('testing-continuous-is-on', Codicon.eye, ( localize(
|
|
29
|
-
const testingCancelRefreshTests = registerIcon('testing-cancel-refresh-tests', Codicon.stop, ( localize(
|
|
30
|
-
const testingCoverageReport = registerIcon('testing-coverage', Codicon.coverage, ( localize(
|
|
31
|
-
const testingWasCovered = registerIcon('testing-was-covered', Codicon.check, ( localize(
|
|
32
|
-
const testingCoverageMissingBranch = registerIcon('testing-missing-branch', Codicon.question, ( localize(
|
|
10
|
+
const testingViewIcon = registerIcon('test-view-icon', Codicon.beaker, ( localize(11319, 'View icon of the test view.')));
|
|
11
|
+
const testingResultsIcon = registerIcon('test-results-icon', Codicon.checklist, ( localize(11320, 'Icons for test results.')));
|
|
12
|
+
const testingRunIcon = registerIcon('testing-run-icon', Codicon.run, ( localize(11321, 'Icon of the "run test" action.')));
|
|
13
|
+
const testingRerunIcon = registerIcon('testing-rerun-icon', Codicon.debugRerun, ( localize(11322, 'Icon of the "rerun tests" action.')));
|
|
14
|
+
const testingRunAllIcon = registerIcon('testing-run-all-icon', Codicon.runAll, ( localize(11323, 'Icon of the "run all tests" action.')));
|
|
15
|
+
const testingDebugAllIcon = registerIcon('testing-debug-all-icon', Codicon.debugAltSmall, ( localize(11324, 'Icon of the "debug all tests" action.')));
|
|
16
|
+
const testingDebugIcon = registerIcon('testing-debug-icon', Codicon.debugAltSmall, ( localize(11325, 'Icon of the "debug test" action.')));
|
|
17
|
+
const testingCoverageIcon = registerIcon('testing-coverage-icon', Codicon.runCoverage, ( localize(11326, 'Icon of the "run test with coverage" action.')));
|
|
18
|
+
const testingCoverageAllIcon = registerIcon('testing-coverage-all-icon', Codicon.runAllCoverage, ( localize(11327, 'Icon of the "run all tests with coverage" action.')));
|
|
19
|
+
const testingCancelIcon = registerIcon('testing-cancel-icon', Codicon.debugStop, ( localize(11328, 'Icon to cancel ongoing test runs.')));
|
|
20
|
+
const testingFilterIcon = registerIcon('testing-filter', Codicon.filter, ( localize(11329, 'Icon for the \'Filter\' action in the testing view.')));
|
|
21
|
+
const testingHiddenIcon = registerIcon('testing-hidden', Codicon.eyeClosed, ( localize(11330, 'Icon shown beside hidden tests, when they\'ve been shown.')));
|
|
22
|
+
registerIcon('testing-show-as-list-icon', Codicon.listTree, ( localize(11331, 'Icon shown when the test explorer is disabled as a tree.')));
|
|
23
|
+
registerIcon('testing-show-as-list-icon', Codicon.listFlat, ( localize(11332, 'Icon shown when the test explorer is disabled as a list.')));
|
|
24
|
+
const testingUpdateProfiles = registerIcon('testing-update-profiles', Codicon.gear, ( localize(11333, 'Icon shown to update test profiles.')));
|
|
25
|
+
const testingRefreshTests = registerIcon('testing-refresh-tests', Codicon.refresh, ( localize(11334, 'Icon on the button to refresh tests.')));
|
|
26
|
+
const testingTurnContinuousRunOn = registerIcon('testing-turn-continuous-run-on', Codicon.eye, ( localize(11335, 'Icon to turn continuous test runs on.')));
|
|
27
|
+
const testingTurnContinuousRunOff = registerIcon('testing-turn-continuous-run-off', Codicon.eyeClosed, ( localize(11336, 'Icon to turn continuous test runs off.')));
|
|
28
|
+
const testingContinuousIsOn = registerIcon('testing-continuous-is-on', Codicon.eye, ( localize(11337, 'Icon when continuous run is on for a test ite,.')));
|
|
29
|
+
const testingCancelRefreshTests = registerIcon('testing-cancel-refresh-tests', Codicon.stop, ( localize(11338, 'Icon on the button to cancel refreshing tests.')));
|
|
30
|
+
const testingCoverageReport = registerIcon('testing-coverage', Codicon.coverage, ( localize(11339, 'Icon representing test coverage')));
|
|
31
|
+
const testingWasCovered = registerIcon('testing-was-covered', Codicon.check, ( localize(11340, 'Icon representing that an element was covered')));
|
|
32
|
+
const testingCoverageMissingBranch = registerIcon('testing-missing-branch', Codicon.question, ( localize(11341, 'Icon representing a uncovered block without a range')));
|
|
33
33
|
const testingStatesToIcons = ( new Map([
|
|
34
|
-
[TestResultState.Errored, registerIcon('testing-error-icon', Codicon.issues, ( localize(
|
|
35
|
-
[TestResultState.Failed, registerIcon('testing-failed-icon', Codicon.error, ( localize(
|
|
36
|
-
[TestResultState.Passed, registerIcon('testing-passed-icon', Codicon.pass, ( localize(
|
|
37
|
-
[TestResultState.Queued, registerIcon('testing-queued-icon', Codicon.history, ( localize(
|
|
34
|
+
[TestResultState.Errored, registerIcon('testing-error-icon', Codicon.issues, ( localize(11342, 'Icon shown for tests that have an error.')))],
|
|
35
|
+
[TestResultState.Failed, registerIcon('testing-failed-icon', Codicon.error, ( localize(11343, 'Icon shown for tests that failed.')))],
|
|
36
|
+
[TestResultState.Passed, registerIcon('testing-passed-icon', Codicon.pass, ( localize(11344, 'Icon shown for tests that passed.')))],
|
|
37
|
+
[TestResultState.Queued, registerIcon('testing-queued-icon', Codicon.history, ( localize(11345, 'Icon shown for tests that are queued.')))],
|
|
38
38
|
[TestResultState.Running, spinningLoading],
|
|
39
|
-
[TestResultState.Skipped, registerIcon('testing-skipped-icon', Codicon.debugStepOver, ( localize(
|
|
40
|
-
[TestResultState.Unset, registerIcon('testing-unset-icon', Codicon.circleOutline, ( localize(
|
|
39
|
+
[TestResultState.Skipped, registerIcon('testing-skipped-icon', Codicon.debugStepOver, ( localize(11346, 'Icon shown for tests that are skipped.')))],
|
|
40
|
+
[TestResultState.Unset, registerIcon('testing-unset-icon', Codicon.circleOutline, ( localize(11347, 'Icon shown for tests that are in an unset state.')))],
|
|
41
41
|
]));
|
|
42
42
|
registerThemingParticipant((theme, collector) => {
|
|
43
43
|
for (const [state, icon] of testingStatesToIcons.entries()) {
|
|
@@ -3,7 +3,7 @@ import { ITransaction } from "@codingame/monaco-vscode-api/vscode/vs/base/common
|
|
|
3
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
4
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
5
5
|
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
6
|
-
import { IExplorerFileContribution } from "@codingame/monaco-vscode-
|
|
6
|
+
import { IExplorerFileContribution } from "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common/vscode/vs/workbench/contrib/files/browser/explorerFileContrib";
|
|
7
7
|
import { AbstractFileCoverage } from "@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common/vscode/vs/workbench/contrib/testing/common/testCoverage";
|
|
8
8
|
import { ITestCoverageService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testCoverageService.service";
|
|
9
9
|
export interface TestCoverageBarsOptions {
|
|
@@ -11,7 +11,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
11
11
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
12
12
|
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
13
13
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
14
|
-
import { ExplorerExtensions } from '@codingame/monaco-vscode-
|
|
14
|
+
import { ExplorerExtensions } from '@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common/vscode/vs/workbench/contrib/files/browser/explorerFileContrib';
|
|
15
15
|
import { calculateDisplayedStat, displayPercent, percent, getCoverageColor } from './codeCoverageDisplayUtils.js';
|
|
16
16
|
import { TestingConfigKeys, getTestingConfiguration, observeTestingConfiguration } from '../common/configuration.js';
|
|
17
17
|
import { ITestCoverageService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testCoverageService.service';
|
|
@@ -127,21 +127,21 @@ const renderBar = (bar, pct, isZero, thresholds) => {
|
|
|
127
127
|
};
|
|
128
128
|
const nf = safeIntl.NumberFormat();
|
|
129
129
|
const stmtCoverageText = (coverage) => ( localize(
|
|
130
|
-
|
|
130
|
+
11348,
|
|
131
131
|
'{0}/{1} statements covered ({2})',
|
|
132
132
|
nf.value.format(coverage.statement.covered),
|
|
133
133
|
nf.value.format(coverage.statement.total),
|
|
134
134
|
displayPercent(percent(coverage.statement))
|
|
135
135
|
));
|
|
136
136
|
const fnCoverageText = (coverage) => coverage.declaration && ( localize(
|
|
137
|
-
|
|
137
|
+
11349,
|
|
138
138
|
'{0}/{1} functions covered ({2})',
|
|
139
139
|
nf.value.format(coverage.declaration.covered),
|
|
140
140
|
nf.value.format(coverage.declaration.total),
|
|
141
141
|
displayPercent(percent(coverage.declaration))
|
|
142
142
|
));
|
|
143
143
|
const branchCoverageText = (coverage) => coverage.branch && ( localize(
|
|
144
|
-
|
|
144
|
+
11350,
|
|
145
145
|
'{0}/{1} branches covered ({2})',
|
|
146
146
|
nf.value.format(coverage.branch.covered),
|
|
147
147
|
nf.value.format(coverage.branch.total),
|
|
@@ -34,7 +34,7 @@ import { WorkbenchCompressibleObjectTree } from '@codingame/monaco-vscode-api/vs
|
|
|
34
34
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
35
35
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
36
36
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
37
|
-
import { ResourceLabels } from '@codingame/monaco-vscode-
|
|
37
|
+
import { ResourceLabels } from '@codingame/monaco-vscode-2726569c-a06b-5f25-b851-14311bef12fa-common/vscode/vs/workbench/browser/labels';
|
|
38
38
|
import { ViewPane, ViewAction } from '@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common/vscode/vs/workbench/browser/parts/views/viewPane';
|
|
39
39
|
import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
|
|
40
40
|
import { SIDE_GROUP, ACTIVE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
@@ -158,7 +158,7 @@ DeclarationCoverageNode.__decorator = ( __decorate([
|
|
|
158
158
|
], DeclarationCoverageNode.prototype, "attributableCoverage", null));
|
|
159
159
|
class RevealUncoveredDeclarations {
|
|
160
160
|
get label() {
|
|
161
|
-
return localize(
|
|
161
|
+
return localize(11351, "{0} declarations without coverage...", this.n);
|
|
162
162
|
}
|
|
163
163
|
constructor(n) {
|
|
164
164
|
this.n = n;
|
|
@@ -167,7 +167,7 @@ class RevealUncoveredDeclarations {
|
|
|
167
167
|
}
|
|
168
168
|
class CurrentlyFilteredTo {
|
|
169
169
|
get label() {
|
|
170
|
-
return localize(
|
|
170
|
+
return localize(11352, "Showing coverage for \"{0}\"", this.testItem.label);
|
|
171
171
|
}
|
|
172
172
|
constructor(testItem) {
|
|
173
173
|
this.testItem = testItem;
|
|
@@ -177,7 +177,7 @@ class CurrentlyFilteredTo {
|
|
|
177
177
|
class LoadingDetails {
|
|
178
178
|
constructor() {
|
|
179
179
|
this.id = String(fnNodeId++);
|
|
180
|
-
this.label = ( localize(
|
|
180
|
+
this.label = ( localize(11353, "Loading Coverage Details..."));
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
const isFileCoverage = (c) => typeof c === 'object' && 'value' in c;
|
|
@@ -210,14 +210,14 @@ let TestCoverageTree = class TestCoverageTree extends Disposable {
|
|
|
210
210
|
getAriaLabel(element) {
|
|
211
211
|
if (isFileCoverage(element)) {
|
|
212
212
|
const name = basenameOrAuthority(element.value.uri);
|
|
213
|
-
return localize(
|
|
213
|
+
return localize(11354, "{0} coverage: {0}%", name, (element.value.tpc * 100).toFixed(2));
|
|
214
214
|
}
|
|
215
215
|
else {
|
|
216
216
|
return element.label;
|
|
217
217
|
}
|
|
218
218
|
},
|
|
219
219
|
getWidgetAriaLabel() {
|
|
220
|
-
return localize(
|
|
220
|
+
return localize(11355, "Test Coverage Explorer");
|
|
221
221
|
}
|
|
222
222
|
},
|
|
223
223
|
identityProvider: ( new TestCoverageIdentityProvider()),
|
|
@@ -568,7 +568,7 @@ registerAction2(class TestCoverageChangePerTestFilterAction extends Action2 {
|
|
|
568
568
|
super({
|
|
569
569
|
id: TestCommandId.CoverageFilterToTest,
|
|
570
570
|
category: Categories.Test,
|
|
571
|
-
title: ( localize2(
|
|
571
|
+
title: ( localize2(11356, 'Filter Coverage by Test')),
|
|
572
572
|
icon: Codicon.filter,
|
|
573
573
|
toggled: {
|
|
574
574
|
icon: Codicon.filterFilled,
|
|
@@ -620,7 +620,7 @@ registerAction2(class TestCoverageChangeSortingAction extends ViewAction {
|
|
|
620
620
|
super({
|
|
621
621
|
id: TestCommandId.CoverageViewChangeSorting,
|
|
622
622
|
viewId: Testing.CoverageViewId,
|
|
623
|
-
title: ( localize2(
|
|
623
|
+
title: ( localize2(11357, 'Change Sort Order')),
|
|
624
624
|
icon: Codicon.sortPrecedence,
|
|
625
625
|
menu: {
|
|
626
626
|
id: MenuId.ViewTitle,
|
|
@@ -633,14 +633,14 @@ registerAction2(class TestCoverageChangeSortingAction extends ViewAction {
|
|
|
633
633
|
const disposables = ( new DisposableStore());
|
|
634
634
|
const quickInput = disposables.add(accessor.get(IQuickInputService).createQuickPick());
|
|
635
635
|
const items = [
|
|
636
|
-
{ label: ( localize(
|
|
637
|
-
|
|
636
|
+
{ label: ( localize(11358, 'Sort by Location')), value: CoverageSortOrder.Location, description: ( localize(
|
|
637
|
+
11359,
|
|
638
638
|
'Files are sorted alphabetically, declarations are sorted by position'
|
|
639
639
|
)) },
|
|
640
|
-
{ label: ( localize(
|
|
641
|
-
{ label: ( localize(
|
|
640
|
+
{ label: ( localize(11360, 'Sort by Coverage')), value: CoverageSortOrder.Coverage, description: ( localize(11361, 'Files and declarations are sorted by total coverage')) },
|
|
641
|
+
{ label: ( localize(11362, 'Sort by Name')), value: CoverageSortOrder.Name, description: ( localize(11363, 'Files and declarations are sorted alphabetically')) },
|
|
642
642
|
];
|
|
643
|
-
quickInput.placeholder = ( localize(
|
|
643
|
+
quickInput.placeholder = ( localize(11364, 'Sort the Test Coverage view...'));
|
|
644
644
|
quickInput.items = items;
|
|
645
645
|
quickInput.show();
|
|
646
646
|
disposables.add(quickInput.onDidHide(() => disposables.dispose()));
|
|
@@ -226,6 +226,19 @@ export declare class CoverageLastRun extends RunOrDebugLastRun {
|
|
|
226
226
|
constructor();
|
|
227
227
|
protected getGroup(): TestRunProfileBitset;
|
|
228
228
|
}
|
|
229
|
+
declare abstract class RunOrDebugFailedFromLastRun extends Action2 {
|
|
230
|
+
constructor(options: IAction2Options);
|
|
231
|
+
protected abstract getGroup(): TestRunProfileBitset;
|
|
232
|
+
run(accessor: ServicesAccessor, runId?: string): Promise<void>;
|
|
233
|
+
}
|
|
234
|
+
export declare class ReRunFailedFromLastRun extends RunOrDebugFailedFromLastRun {
|
|
235
|
+
constructor();
|
|
236
|
+
protected getGroup(): TestRunProfileBitset;
|
|
237
|
+
}
|
|
238
|
+
export declare class DebugFailedFromLastRun extends RunOrDebugFailedFromLastRun {
|
|
239
|
+
constructor();
|
|
240
|
+
protected getGroup(): TestRunProfileBitset;
|
|
241
|
+
}
|
|
229
242
|
export declare class SearchForTestExtension extends Action2 {
|
|
230
243
|
constructor();
|
|
231
244
|
run(accessor: ServicesAccessor): Promise<void>;
|