@codingame/monaco-vscode-testing-service-override 31.0.1 → 32.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 +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +21 -21
- 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.js +3 -3
- package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +15 -15
- package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +72 -72
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsOutput.js +5 -5
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsTree.js +22 -22
- package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.js +3 -3
- 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 +19 -19
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +15 -15
- package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +34 -34
- package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +25 -25
- package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/testing/common/testingChatAgentTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +31 -31
- package/vscode/src/vs/workbench/contrib/testing/common/testingProgressMessages.js +5 -5
|
@@ -14,31 +14,31 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/sear
|
|
|
14
14
|
import { registerThemingParticipant } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService';
|
|
15
15
|
import { TestResultState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testTypes';
|
|
16
16
|
|
|
17
|
-
const testingColorIconFailed = registerColor("testing.iconFailed", listErrorForeground, ( localize(
|
|
18
|
-
const testingColorIconErrored = registerColor("testing.iconErrored", listErrorForeground, ( localize(
|
|
17
|
+
const testingColorIconFailed = registerColor("testing.iconFailed", listErrorForeground, ( localize(15038, "Color for the 'failed' icon in the test explorer.")));
|
|
18
|
+
const testingColorIconErrored = registerColor("testing.iconErrored", listErrorForeground, ( localize(15039, "Color for the 'Errored' icon in the test explorer.")));
|
|
19
19
|
const testingColorIconPassed = registerColor("testing.iconPassed", {
|
|
20
20
|
dark: "#73c991",
|
|
21
21
|
light: "#73c991",
|
|
22
22
|
hcDark: "#73c991",
|
|
23
23
|
hcLight: "#007100"
|
|
24
|
-
}, ( localize(
|
|
25
|
-
const testingColorRunAction = registerColor("testing.runAction", testingColorIconPassed, ( localize(
|
|
26
|
-
const testingColorIconQueued = registerColor("testing.iconQueued", listWarningForeground, ( localize(
|
|
27
|
-
const testingColorIconUnset = registerColor("testing.iconUnset", "#848484", ( localize(
|
|
28
|
-
const testingColorIconSkipped = registerColor("testing.iconSkipped", "#848484", ( localize(
|
|
24
|
+
}, ( localize(15040, "Color for the 'passed' icon in the test explorer.")));
|
|
25
|
+
const testingColorRunAction = registerColor("testing.runAction", testingColorIconPassed, ( localize(15041, "Color for 'run' icons in the editor.")));
|
|
26
|
+
const testingColorIconQueued = registerColor("testing.iconQueued", listWarningForeground, ( localize(15042, "Color for the 'Queued' icon in the test explorer.")));
|
|
27
|
+
const testingColorIconUnset = registerColor("testing.iconUnset", "#848484", ( localize(15043, "Color for the 'Unset' icon in the test explorer.")));
|
|
28
|
+
const testingColorIconSkipped = registerColor("testing.iconSkipped", "#848484", ( localize(15044, "Color for the 'Skipped' icon in the test explorer.")));
|
|
29
29
|
const testingPeekBorder = registerColor("testing.peekBorder", {
|
|
30
30
|
dark: editorErrorForeground,
|
|
31
31
|
light: editorErrorForeground,
|
|
32
32
|
hcDark: contrastBorder,
|
|
33
33
|
hcLight: contrastBorder
|
|
34
|
-
}, ( localize(
|
|
34
|
+
}, ( localize(15045, "Color of the peek view borders and arrow.")));
|
|
35
35
|
const testingMessagePeekBorder = registerColor("testing.messagePeekBorder", {
|
|
36
36
|
dark: editorInfoForeground,
|
|
37
37
|
light: editorInfoForeground,
|
|
38
38
|
hcDark: contrastBorder,
|
|
39
39
|
hcLight: contrastBorder
|
|
40
40
|
}, ( localize(
|
|
41
|
-
|
|
41
|
+
15046,
|
|
42
42
|
"Color of the peek view borders and arrow when peeking a logged message."
|
|
43
43
|
)));
|
|
44
44
|
const testingPeekHeaderBackground = registerColor("testing.peekHeaderBackground", {
|
|
@@ -46,14 +46,14 @@ const testingPeekHeaderBackground = registerColor("testing.peekHeaderBackground"
|
|
|
46
46
|
light: ( transparent(editorErrorForeground, 0.1)),
|
|
47
47
|
hcDark: null,
|
|
48
48
|
hcLight: null
|
|
49
|
-
}, ( localize(
|
|
49
|
+
}, ( localize(15045, "Color of the peek view borders and arrow.")));
|
|
50
50
|
const testingPeekMessageHeaderBackground = registerColor("testing.messagePeekHeaderBackground", {
|
|
51
51
|
dark: ( transparent(editorInfoForeground, 0.1)),
|
|
52
52
|
light: ( transparent(editorInfoForeground, 0.1)),
|
|
53
53
|
hcDark: null,
|
|
54
54
|
hcLight: null
|
|
55
55
|
}, ( localize(
|
|
56
|
-
|
|
56
|
+
15047,
|
|
57
57
|
"Color of the peek view borders and arrow when peeking a logged message."
|
|
58
58
|
)));
|
|
59
59
|
const testingCoveredBackground = registerColor("testing.coveredBackground", {
|
|
@@ -61,78 +61,78 @@ const testingCoveredBackground = registerColor("testing.coveredBackground", {
|
|
|
61
61
|
light: diffInserted,
|
|
62
62
|
hcDark: null,
|
|
63
63
|
hcLight: null
|
|
64
|
-
}, ( localize(
|
|
64
|
+
}, ( localize(15048, "Background color of text that was covered.")));
|
|
65
65
|
const testingCoveredBorder = registerColor("testing.coveredBorder", {
|
|
66
66
|
dark: ( transparent(testingCoveredBackground, 0.75)),
|
|
67
67
|
light: ( transparent(testingCoveredBackground, 0.75)),
|
|
68
68
|
hcDark: contrastBorder,
|
|
69
69
|
hcLight: contrastBorder
|
|
70
|
-
}, ( localize(
|
|
70
|
+
}, ( localize(15049, "Border color of text that was covered.")));
|
|
71
71
|
registerColor("testing.coveredGutterBackground", {
|
|
72
72
|
dark: ( transparent(diffInserted, 0.6)),
|
|
73
73
|
light: ( transparent(diffInserted, 0.6)),
|
|
74
74
|
hcDark: chartsGreen,
|
|
75
75
|
hcLight: chartsGreen
|
|
76
|
-
}, ( localize(
|
|
76
|
+
}, ( localize(15050, "Gutter color of regions where code was covered.")));
|
|
77
77
|
registerColor("testing.uncoveredBranchBackground", {
|
|
78
78
|
dark: opaque(( transparent(diffRemoved, 2)), editorBackground),
|
|
79
79
|
light: opaque(( transparent(diffRemoved, 2)), editorBackground),
|
|
80
80
|
hcDark: null,
|
|
81
81
|
hcLight: null
|
|
82
|
-
}, ( localize(
|
|
82
|
+
}, ( localize(15051, "Background of the widget shown for an uncovered branch.")));
|
|
83
83
|
const testingUncoveredBackground = registerColor("testing.uncoveredBackground", {
|
|
84
84
|
dark: diffRemoved,
|
|
85
85
|
light: diffRemoved,
|
|
86
86
|
hcDark: null,
|
|
87
87
|
hcLight: null
|
|
88
|
-
}, ( localize(
|
|
88
|
+
}, ( localize(15052, "Background color of text that was not covered.")));
|
|
89
89
|
const testingUncoveredBorder = registerColor("testing.uncoveredBorder", {
|
|
90
90
|
dark: ( transparent(testingUncoveredBackground, 0.75)),
|
|
91
91
|
light: ( transparent(testingUncoveredBackground, 0.75)),
|
|
92
92
|
hcDark: contrastBorder,
|
|
93
93
|
hcLight: contrastBorder
|
|
94
|
-
}, ( localize(
|
|
94
|
+
}, ( localize(15053, "Border color of text that was not covered.")));
|
|
95
95
|
registerColor("testing.uncoveredGutterBackground", {
|
|
96
96
|
dark: ( transparent(diffRemoved, 1.5)),
|
|
97
97
|
light: ( transparent(diffRemoved, 1.5)),
|
|
98
98
|
hcDark: chartsRed,
|
|
99
99
|
hcLight: chartsRed
|
|
100
|
-
}, ( localize(
|
|
100
|
+
}, ( localize(15054, "Gutter color of regions where code not covered.")));
|
|
101
101
|
const testingCoveredMinimapBackground = registerColor("testing.coveredMinimapBackground", {
|
|
102
102
|
dark: ( transparent(diffInserted, 0.6)),
|
|
103
103
|
light: ( transparent(diffInserted, 0.6)),
|
|
104
104
|
hcDark: chartsGreen,
|
|
105
105
|
hcLight: chartsGreen
|
|
106
|
-
}, ( localize(
|
|
106
|
+
}, ( localize(15055, "Minimap color of regions where code was covered.")));
|
|
107
107
|
const testingUncoveredMinimapBackground = registerColor("testing.uncoveredMinimapBackground", {
|
|
108
108
|
dark: ( transparent(diffRemoved, 1.5)),
|
|
109
109
|
light: ( transparent(diffRemoved, 1.5)),
|
|
110
110
|
hcDark: chartsRed,
|
|
111
111
|
hcLight: chartsRed
|
|
112
|
-
}, ( localize(
|
|
113
|
-
registerColor("testing.coverCountBadgeBackground", badgeBackground, ( localize(
|
|
114
|
-
registerColor("testing.coverCountBadgeForeground", badgeForeground, ( localize(
|
|
112
|
+
}, ( localize(15056, "Minimap color of regions where code was not covered.")));
|
|
113
|
+
registerColor("testing.coverCountBadgeBackground", badgeBackground, ( localize(15057, "Background for the badge indicating execution count")));
|
|
114
|
+
registerColor("testing.coverCountBadgeForeground", badgeForeground, ( localize(15058, "Foreground for the badge indicating execution count")));
|
|
115
115
|
const messageBadgeBackground = registerColor(
|
|
116
116
|
"testing.message.error.badgeBackground",
|
|
117
117
|
activityErrorBadgeBackground,
|
|
118
118
|
( localize(
|
|
119
|
-
|
|
119
|
+
15059,
|
|
120
120
|
"Background color of test error messages shown inline in the editor."
|
|
121
121
|
))
|
|
122
122
|
);
|
|
123
123
|
registerColor(
|
|
124
124
|
"testing.message.error.badgeBorder",
|
|
125
125
|
messageBadgeBackground,
|
|
126
|
-
( localize(
|
|
126
|
+
( localize(15060, "Border color of test error messages shown inline in the editor."))
|
|
127
127
|
);
|
|
128
128
|
registerColor(
|
|
129
129
|
"testing.message.error.badgeForeground",
|
|
130
130
|
activityErrorBadgeForeground,
|
|
131
|
-
( localize(
|
|
131
|
+
( localize(15061, "Text color of test error messages shown inline in the editor."))
|
|
132
132
|
);
|
|
133
|
-
registerColor("testing.message.error.lineBackground", null, ( localize(
|
|
134
|
-
registerColor("testing.message.info.decorationForeground", ( transparent(editorForeground, 0.5)), ( localize(
|
|
135
|
-
registerColor("testing.message.info.lineBackground", null, ( localize(
|
|
133
|
+
registerColor("testing.message.error.lineBackground", null, ( localize(15062, "Margin color beside error messages shown inline in the editor.")));
|
|
134
|
+
registerColor("testing.message.info.decorationForeground", ( transparent(editorForeground, 0.5)), ( localize(15063, "Text color of test info messages shown inline in the editor.")));
|
|
135
|
+
registerColor("testing.message.info.lineBackground", null, ( localize(15064, "Margin color beside info messages shown inline in the editor.")));
|
|
136
136
|
const testStatesToIconColors = {
|
|
137
137
|
[TestResultState.Errored]: testingColorIconErrored,
|
|
138
138
|
[TestResultState.Failed]: testingColorIconFailed,
|
|
@@ -141,12 +141,12 @@ const testStatesToIconColors = {
|
|
|
141
141
|
[TestResultState.Unset]: testingColorIconUnset,
|
|
142
142
|
[TestResultState.Skipped]: testingColorIconSkipped
|
|
143
143
|
};
|
|
144
|
-
const testingRetiredColorIconErrored = registerColor("testing.iconErrored.retired", ( transparent(testingColorIconErrored, 0.7)), ( localize(
|
|
145
|
-
const testingRetiredColorIconFailed = registerColor("testing.iconFailed.retired", ( transparent(testingColorIconFailed, 0.7)), ( localize(
|
|
146
|
-
const testingRetiredColorIconPassed = registerColor("testing.iconPassed.retired", ( transparent(testingColorIconPassed, 0.7)), ( localize(
|
|
147
|
-
const testingRetiredColorIconQueued = registerColor("testing.iconQueued.retired", ( transparent(testingColorIconQueued, 0.7)), ( localize(
|
|
148
|
-
const testingRetiredColorIconUnset = registerColor("testing.iconUnset.retired", ( transparent(testingColorIconUnset, 0.7)), ( localize(
|
|
149
|
-
const testingRetiredColorIconSkipped = registerColor("testing.iconSkipped.retired", ( transparent(testingColorIconSkipped, 0.7)), ( localize(
|
|
144
|
+
const testingRetiredColorIconErrored = registerColor("testing.iconErrored.retired", ( transparent(testingColorIconErrored, 0.7)), ( localize(15065, "Retired color for the 'Errored' icon in the test explorer.")));
|
|
145
|
+
const testingRetiredColorIconFailed = registerColor("testing.iconFailed.retired", ( transparent(testingColorIconFailed, 0.7)), ( localize(15066, "Retired color for the 'failed' icon in the test explorer.")));
|
|
146
|
+
const testingRetiredColorIconPassed = registerColor("testing.iconPassed.retired", ( transparent(testingColorIconPassed, 0.7)), ( localize(15067, "Retired color for the 'passed' icon in the test explorer.")));
|
|
147
|
+
const testingRetiredColorIconQueued = registerColor("testing.iconQueued.retired", ( transparent(testingColorIconQueued, 0.7)), ( localize(15068, "Retired color for the 'Queued' icon in the test explorer.")));
|
|
148
|
+
const testingRetiredColorIconUnset = registerColor("testing.iconUnset.retired", ( transparent(testingColorIconUnset, 0.7)), ( localize(15069, "Retired color for the 'Unset' icon in the test explorer.")));
|
|
149
|
+
const testingRetiredColorIconSkipped = registerColor("testing.iconSkipped.retired", ( transparent(testingColorIconSkipped, 0.7)), ( localize(15070, "Retired color for the 'Skipped' icon in the test explorer.")));
|
|
150
150
|
const testStatesToRetiredIconColors = {
|
|
151
151
|
[TestResultState.Errored]: testingRetiredColorIconErrored,
|
|
152
152
|
[TestResultState.Failed]: testingRetiredColorIconFailed,
|
|
@@ -65,46 +65,46 @@ var TestingResultsViewLayout;
|
|
|
65
65
|
const testingConfiguration = {
|
|
66
66
|
id: "testing",
|
|
67
67
|
order: 21,
|
|
68
|
-
title: ( localize(
|
|
68
|
+
title: ( localize(15071, "Testing")),
|
|
69
69
|
type: "object",
|
|
70
70
|
properties: {
|
|
71
71
|
[TestingConfigKeys.AutoOpenPeekView]: {
|
|
72
|
-
description: ( localize(
|
|
72
|
+
description: ( localize(15072, "Configures when the error Peek view is automatically opened.")),
|
|
73
73
|
enum: [
|
|
74
74
|
AutoOpenPeekViewWhen.FailureAnywhere,
|
|
75
75
|
AutoOpenPeekViewWhen.FailureVisible,
|
|
76
76
|
AutoOpenPeekViewWhen.Never
|
|
77
77
|
],
|
|
78
78
|
default: AutoOpenPeekViewWhen.Never,
|
|
79
|
-
enumDescriptions: [( localize(
|
|
79
|
+
enumDescriptions: [( localize(15073, "Open automatically no matter where the failure is.")), ( localize(15074, "Open automatically when a test fails in a visible document.")), ( localize(15075, "Never automatically open."))]
|
|
80
80
|
},
|
|
81
81
|
[TestingConfigKeys.ShowAllMessages]: {
|
|
82
|
-
description: ( localize(
|
|
82
|
+
description: ( localize(15076, "Controls whether to show messages from all test runs.")),
|
|
83
83
|
type: "boolean",
|
|
84
84
|
default: false
|
|
85
85
|
},
|
|
86
86
|
[TestingConfigKeys.AutoOpenPeekViewDuringContinuousRun]: {
|
|
87
87
|
description: ( localize(
|
|
88
|
-
|
|
88
|
+
15077,
|
|
89
89
|
"Controls whether to automatically open the Peek view during continuous run mode."
|
|
90
90
|
)),
|
|
91
91
|
type: "boolean",
|
|
92
92
|
default: false
|
|
93
93
|
},
|
|
94
94
|
[TestingConfigKeys.CountBadge]: {
|
|
95
|
-
description: ( localize(
|
|
95
|
+
description: ( localize(15078, "Controls the count badge on the Testing icon on the Activity Bar.")),
|
|
96
96
|
enum: [
|
|
97
97
|
TestingCountBadge.Failed,
|
|
98
98
|
TestingCountBadge.Off,
|
|
99
99
|
TestingCountBadge.Passed,
|
|
100
100
|
TestingCountBadge.Skipped
|
|
101
101
|
],
|
|
102
|
-
enumDescriptions: [( localize(
|
|
102
|
+
enumDescriptions: [( localize(15079, "Show the number of failed tests")), ( localize(15080, "Disable the testing count badge")), ( localize(15081, "Show the number of passed tests")), ( localize(15082, "Show the number of skipped tests"))],
|
|
103
103
|
default: TestingCountBadge.Failed
|
|
104
104
|
},
|
|
105
105
|
[TestingConfigKeys.FollowRunningTest]: {
|
|
106
106
|
description: ( localize(
|
|
107
|
-
|
|
107
|
+
15083,
|
|
108
108
|
"Controls whether the running test should be followed in the Test Explorer view."
|
|
109
109
|
)),
|
|
110
110
|
type: "boolean",
|
|
@@ -112,7 +112,7 @@ const testingConfiguration = {
|
|
|
112
112
|
},
|
|
113
113
|
[TestingConfigKeys.DefaultGutterClickAction]: {
|
|
114
114
|
description: ( localize(
|
|
115
|
-
|
|
115
|
+
15084,
|
|
116
116
|
"Controls the action to take when left-clicking on a test decoration in the gutter."
|
|
117
117
|
)),
|
|
118
118
|
enum: [
|
|
@@ -121,16 +121,16 @@ const testingConfiguration = {
|
|
|
121
121
|
DefaultGutterClickAction.Coverage,
|
|
122
122
|
DefaultGutterClickAction.ContextMenu
|
|
123
123
|
],
|
|
124
|
-
enumDescriptions: [( localize(
|
|
124
|
+
enumDescriptions: [( localize(15085, "Run the test.")), ( localize(15086, "Debug the test.")), ( localize(15087, "Run the test with coverage.")), ( localize(15088, "Open the context menu for more options."))],
|
|
125
125
|
default: DefaultGutterClickAction.Run
|
|
126
126
|
},
|
|
127
127
|
[TestingConfigKeys.GutterEnabled]: {
|
|
128
|
-
description: ( localize(
|
|
128
|
+
description: ( localize(15089, "Controls whether test decorations are shown in the editor gutter.")),
|
|
129
129
|
type: "boolean",
|
|
130
130
|
default: true
|
|
131
131
|
},
|
|
132
132
|
[TestingConfigKeys.SaveBeforeTest]: {
|
|
133
|
-
description: ( localize(
|
|
133
|
+
description: ( localize(15090, "Control whether save all dirty editors before running a test.")),
|
|
134
134
|
type: "boolean",
|
|
135
135
|
default: true
|
|
136
136
|
},
|
|
@@ -141,13 +141,13 @@ const testingConfiguration = {
|
|
|
141
141
|
AutoOpenTesting.OpenOnTestFailure,
|
|
142
142
|
AutoOpenTesting.OpenExplorerOnTestStart
|
|
143
143
|
],
|
|
144
|
-
enumDescriptions: [( localize(
|
|
144
|
+
enumDescriptions: [( localize(15091, "Never automatically open the testing views")), ( localize(15092, "Open the test results view when tests start")), ( localize(15093, "Open the test result view on any test failure")), ( localize(15094, "Open the test explorer when tests start"))],
|
|
145
145
|
default: "openOnTestStart",
|
|
146
|
-
description: ( localize(
|
|
146
|
+
description: ( localize(15095, "Controls when the testing view should open."))
|
|
147
147
|
},
|
|
148
148
|
[TestingConfigKeys.AlwaysRevealTestOnStateChange]: {
|
|
149
149
|
markdownDescription: ( localize(
|
|
150
|
-
|
|
150
|
+
15096,
|
|
151
151
|
"Always reveal the executed test when {0} is on. If this setting is turned off, only failed tests will be revealed.",
|
|
152
152
|
"`#testing.followRunningTest#`"
|
|
153
153
|
)),
|
|
@@ -155,13 +155,13 @@ const testingConfiguration = {
|
|
|
155
155
|
default: false
|
|
156
156
|
},
|
|
157
157
|
[TestingConfigKeys.ShowCoverageInExplorer]: {
|
|
158
|
-
description: ( localize(
|
|
158
|
+
description: ( localize(15097, "Whether test coverage should be down in the File Explorer view.")),
|
|
159
159
|
type: "boolean",
|
|
160
160
|
default: true
|
|
161
161
|
},
|
|
162
162
|
[TestingConfigKeys.CoveragePercent]: {
|
|
163
163
|
markdownDescription: ( localize(
|
|
164
|
-
|
|
164
|
+
15098,
|
|
165
165
|
"Configures what percentage is displayed by default for test coverage."
|
|
166
166
|
)),
|
|
167
167
|
default: TestingDisplayedCoveragePercent.TotalCoverage,
|
|
@@ -171,12 +171,12 @@ const testingConfiguration = {
|
|
|
171
171
|
TestingDisplayedCoveragePercent.Minimum
|
|
172
172
|
],
|
|
173
173
|
enumDescriptions: [( localize(
|
|
174
|
-
|
|
174
|
+
15099,
|
|
175
175
|
"A calculation of the combined statement, function, and branch coverage."
|
|
176
|
-
)), ( localize(
|
|
176
|
+
)), ( localize(15100, "The statement coverage.")), ( localize(15101, "The minimum of statement, function, and branch coverage."))]
|
|
177
177
|
},
|
|
178
178
|
[TestingConfigKeys.CoverageBarThresholds]: {
|
|
179
|
-
markdownDescription: ( localize(
|
|
179
|
+
markdownDescription: ( localize(15102, "Configures the colors used for percentages in test coverage bars.")),
|
|
180
180
|
default: {
|
|
181
181
|
red: 0,
|
|
182
182
|
yellow: 60,
|
|
@@ -204,23 +204,23 @@ const testingConfiguration = {
|
|
|
204
204
|
}
|
|
205
205
|
},
|
|
206
206
|
[TestingConfigKeys.CoverageToolbarEnabled]: {
|
|
207
|
-
description: ( localize(
|
|
207
|
+
description: ( localize(15103, "Controls whether the coverage toolbar is shown in the editor.")),
|
|
208
208
|
type: "boolean",
|
|
209
209
|
default: false
|
|
210
210
|
},
|
|
211
211
|
[TestingConfigKeys.CoverageMinimapEnabled]: {
|
|
212
|
-
description: ( localize(
|
|
212
|
+
description: ( localize(15104, "Controls whether coverage indicators are shown in the minimap.")),
|
|
213
213
|
type: "boolean",
|
|
214
214
|
default: true
|
|
215
215
|
},
|
|
216
216
|
[TestingConfigKeys.ResultsViewLayout]: {
|
|
217
|
-
description: ( localize(
|
|
217
|
+
description: ( localize(15105, "Controls the layout of the Test Results view.")),
|
|
218
218
|
enum: [TestingResultsViewLayout.TreeRight, TestingResultsViewLayout.TreeLeft],
|
|
219
219
|
enumDescriptions: [( localize(
|
|
220
|
-
|
|
220
|
+
15106,
|
|
221
221
|
"Show the test run tree on the right side with details on the left."
|
|
222
222
|
)), ( localize(
|
|
223
|
-
|
|
223
|
+
15107,
|
|
224
224
|
"Show the test run tree on the left side with details on the right."
|
|
225
225
|
))],
|
|
226
226
|
default: TestingResultsViewLayout.TreeRight
|
|
@@ -164,7 +164,7 @@ let TestService = class TestService extends Disposable {
|
|
|
164
164
|
req.exclude = [...this.excluded.all];
|
|
165
165
|
}
|
|
166
166
|
const trust = await this.workspaceTrustRequestService.requestWorkspaceTrust({
|
|
167
|
-
message: ( localize(
|
|
167
|
+
message: ( localize(15121, "Running tests may execute code in your workspace."))
|
|
168
168
|
});
|
|
169
169
|
if (!trust) {
|
|
170
170
|
return;
|
|
@@ -179,7 +179,7 @@ let TestService = class TestService extends Disposable {
|
|
|
179
179
|
}))), token).then(result => {
|
|
180
180
|
const errs = ( result.map(r => r.error)).filter(isDefined);
|
|
181
181
|
if (errs.length) {
|
|
182
|
-
this.notificationService.error(( localize(
|
|
182
|
+
this.notificationService.error(( localize(15122, "An error occurred attempting to run tests: {0}", errs.join(" "))));
|
|
183
183
|
}
|
|
184
184
|
})
|
|
185
185
|
));
|
|
@@ -191,7 +191,7 @@ let TestService = class TestService extends Disposable {
|
|
|
191
191
|
}
|
|
192
192
|
const result = this.testResults.createLiveResult(req);
|
|
193
193
|
const trust = await this.workspaceTrustRequestService.requestWorkspaceTrust({
|
|
194
|
-
message: ( localize(
|
|
194
|
+
message: ( localize(15121, "Running tests may execute code in your workspace."))
|
|
195
195
|
});
|
|
196
196
|
if (!trust) {
|
|
197
197
|
result.markComplete();
|
|
@@ -211,7 +211,7 @@ let TestService = class TestService extends Disposable {
|
|
|
211
211
|
}))), cancelSource.token).then(result => {
|
|
212
212
|
const errs = ( result.map(r => r.error)).filter(isDefined);
|
|
213
213
|
if (errs.length) {
|
|
214
|
-
this.notificationService.error(( localize(
|
|
214
|
+
this.notificationService.error(( localize(15122, "An error occurred attempting to run tests: {0}", errs.join(" "))));
|
|
215
215
|
}
|
|
216
216
|
})
|
|
217
217
|
));
|
|
@@ -85,7 +85,7 @@ let RunTestTool = class RunTestTool {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
|
-
userDescription: ( localize(
|
|
88
|
+
userDescription: ( localize(15126, "Run unit tests (optionally with coverage)")),
|
|
89
89
|
source: ToolDataSource.Internal,
|
|
90
90
|
tags: [
|
|
91
91
|
"vscode_editing_with_tests",
|
|
@@ -124,11 +124,11 @@ let RunTestTool = class RunTestTool {
|
|
|
124
124
|
kind: "text",
|
|
125
125
|
value: "No tests found in the files. Ensure the correct absolute paths are passed to the tool."
|
|
126
126
|
}],
|
|
127
|
-
toolResultError: ( localize(
|
|
127
|
+
toolResultError: ( localize(15127, "No tests found in the files"))
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
progress.report({
|
|
131
|
-
message: ( localize(
|
|
131
|
+
message: ( localize(15128, "Starting test run..."))
|
|
132
132
|
});
|
|
133
133
|
if (group === TestRunProfileBitset.Coverage) {
|
|
134
134
|
if (!( testCases.some(
|
|
@@ -145,7 +145,7 @@ let RunTestTool = class RunTestTool {
|
|
|
145
145
|
value: "No test run was started. Instruct the user to ensure their test runner is correctly configured"
|
|
146
146
|
}],
|
|
147
147
|
toolResultError: ( localize(
|
|
148
|
-
|
|
148
|
+
15129,
|
|
149
149
|
"No test run was started. This may be an issue with your test runner or extension."
|
|
150
150
|
))
|
|
151
151
|
};
|
|
@@ -156,9 +156,9 @@ let RunTestTool = class RunTestTool {
|
|
|
156
156
|
return {
|
|
157
157
|
content: [{
|
|
158
158
|
kind: "text",
|
|
159
|
-
value: ( localize(
|
|
159
|
+
value: ( localize(15130, "Test run was cancelled."))
|
|
160
160
|
}],
|
|
161
|
-
toolResultMessage: ( localize(
|
|
161
|
+
toolResultMessage: ( localize(15130, "Test run was cancelled."))
|
|
162
162
|
};
|
|
163
163
|
}
|
|
164
164
|
const summary = await buildTestRunSummary(result, mode, coverageFiles);
|
|
@@ -229,7 +229,7 @@ let RunTestTool = class RunTestTool {
|
|
|
229
229
|
return tests;
|
|
230
230
|
}
|
|
231
231
|
progress.report({
|
|
232
|
-
message: ( localize(
|
|
232
|
+
message: ( localize(15131, "Filtering tests..."))
|
|
233
233
|
});
|
|
234
234
|
const testNames = ( params.testNames.map(t => t.toLowerCase().trim()));
|
|
235
235
|
const filtered = [];
|
|
@@ -258,7 +258,7 @@ let RunTestTool = class RunTestTool {
|
|
|
258
258
|
return [...this._testService.collection.rootItems];
|
|
259
259
|
}
|
|
260
260
|
progress.report({
|
|
261
|
-
message: ( localize(
|
|
261
|
+
message: ( localize(15132, "Discovering tests..."))
|
|
262
262
|
});
|
|
263
263
|
const firstWorkspaceFolder = this._workspaceContextService.getWorkspace().folders.at(0)?.uri;
|
|
264
264
|
const uris = ( params.files.map(f => {
|
|
@@ -282,13 +282,13 @@ let RunTestTool = class RunTestTool {
|
|
|
282
282
|
}
|
|
283
283
|
prepareToolInvocation(context, token) {
|
|
284
284
|
const params = context.parameters;
|
|
285
|
-
const title = ( localize(
|
|
285
|
+
const title = ( localize(15133, "Allow test run?"));
|
|
286
286
|
const inFiles = params.files?.map(f => "`" + basename(f) + "`");
|
|
287
287
|
return Promise.resolve({
|
|
288
|
-
invocationMessage: ( localize(
|
|
288
|
+
invocationMessage: ( localize(15134, "Running tests...")),
|
|
289
289
|
confirmationMessages: {
|
|
290
290
|
title,
|
|
291
|
-
message: inFiles?.length ? ( new MarkdownString()).appendMarkdown(( localize(
|
|
291
|
+
message: inFiles?.length ? ( new MarkdownString()).appendMarkdown(( localize(15135, "The model wants to run tests in {0}.", inFiles.join(", ")))) : ( localize(15136, "The model wants to run all tests.")),
|
|
292
292
|
allowAutoConfirm: true
|
|
293
293
|
}
|
|
294
294
|
});
|
|
@@ -305,14 +305,14 @@ let TestFailureTool = class TestFailureTool {
|
|
|
305
305
|
toolReferenceName: "testFailure",
|
|
306
306
|
legacyToolReferenceFullNames: ["copilot_testFailure"],
|
|
307
307
|
when: TestingContextKeys.hasAnyResults,
|
|
308
|
-
displayName: ( localize(
|
|
308
|
+
displayName: ( localize(15137, "Test failures")),
|
|
309
309
|
modelDescription: "Includes test failure information in the prompt. Use this tool to get the details of test failures from the most recent test run. If there are no failures yet, suggest running tests first.",
|
|
310
310
|
icon: Codicon.beaker,
|
|
311
311
|
inputSchema: {
|
|
312
312
|
type: "object",
|
|
313
313
|
properties: {}
|
|
314
314
|
},
|
|
315
|
-
userDescription: ( localize(
|
|
315
|
+
userDescription: ( localize(15138, "Include test failure information")),
|
|
316
316
|
source: ToolDataSource.Internal,
|
|
317
317
|
tags: [
|
|
318
318
|
"vscode_editing_with_tests",
|
|
@@ -346,8 +346,8 @@ let TestFailureTool = class TestFailureTool {
|
|
|
346
346
|
}
|
|
347
347
|
prepareToolInvocation(context, token) {
|
|
348
348
|
return Promise.resolve({
|
|
349
|
-
invocationMessage: ( localize(
|
|
350
|
-
pastTenseMessage: ( localize(
|
|
349
|
+
invocationMessage: ( localize(15139, "Finding test failures")),
|
|
350
|
+
pastTenseMessage: ( localize(15140, "Found test failures"))
|
|
351
351
|
});
|
|
352
352
|
}
|
|
353
353
|
};
|
|
@@ -59,7 +59,7 @@ let TestingContentProvider = class TestingContentProvider {
|
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
if (!hadContent) {
|
|
62
|
-
append(( localize(
|
|
62
|
+
append(( localize(15141, "The test run did not record any output.")));
|
|
63
63
|
dispose.dispose();
|
|
64
64
|
}
|
|
65
65
|
});
|