@codingame/monaco-vscode-testing-service-override 29.1.1 → 30.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.
Files changed (26) hide show
  1. package/package.json +4 -4
  2. package/vscode/src/vs/workbench/contrib/debug/browser/callStackWidget.js +5 -5
  3. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +21 -21
  4. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDisplayUtils.js +5 -5
  5. package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +29 -29
  6. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +3 -3
  7. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.d.ts +3 -1
  8. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +34 -17
  9. package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +72 -72
  10. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsOutput.js +5 -5
  11. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsTree.js +22 -22
  12. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.js +3 -3
  13. package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +8 -8
  14. package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +2 -2
  15. package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +19 -19
  16. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +11 -11
  17. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +15 -15
  18. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +11 -11
  19. package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +33 -43
  21. package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +24 -24
  22. package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +4 -4
  23. package/vscode/src/vs/workbench/contrib/testing/common/testingChatAgentTool.js +11 -11
  24. package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +31 -31
  26. package/vscode/src/vs/workbench/contrib/testing/common/testingProgressMessages.js +5 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-testing-service-override",
3
- "version": "29.1.1",
3
+ "version": "30.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - testing service-override",
6
6
  "keywords": [],
@@ -15,9 +15,9 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "29.1.1",
19
- "@codingame/monaco-vscode-terminal-service-override": "29.1.1",
20
- "@codingame/monaco-vscode-xterm-addons-common": "29.1.1"
18
+ "@codingame/monaco-vscode-api": "30.0.0",
19
+ "@codingame/monaco-vscode-terminal-service-override": "30.0.0",
20
+ "@codingame/monaco-vscode-xterm-addons-common": "30.0.0"
21
21
  },
22
22
  "main": "index.js",
23
23
  "module": "index.js",
@@ -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
- 8101,
183
+ 8166,
184
184
  "{0}, line {1} in {2}",
185
185
  e.name,
186
186
  e.line,
@@ -194,7 +194,7 @@ let StackAccessibilityProvider = class StackAccessibilityProvider {
194
194
  assertNever();
195
195
  }
196
196
  getWidgetAriaLabel() {
197
- return localize(8102, "Stack Trace");
197
+ return localize(8167, "Stack Trace");
198
198
  }
199
199
  };
200
200
  StackAccessibilityProvider = ( __decorate([( __param(0, ILabelService))], StackAccessibilityProvider));
@@ -473,7 +473,7 @@ let MissingCodeRenderer = class MissingCodeRenderer {
473
473
  const cast = element;
474
474
  templateData.label.element.setResource({
475
475
  name: cast.name,
476
- description: ( localize(8103, "Line {0} column {1}", cast.line, cast.column)),
476
+ description: ( localize(8168, "Line {0} column {1}", cast.line, cast.column)),
477
477
  range: {
478
478
  startLineNumber: cast.line,
479
479
  startColumn: cast.column,
@@ -557,7 +557,7 @@ let SkippedRenderer = class SkippedRenderer {
557
557
  }
558
558
  button.enabled = false;
559
559
  this.loadFrames(data.current).catch(e => {
560
- this.notificationService.error(( localize(8104, "Failed to load stack frames: {0}", e.message)));
560
+ this.notificationService.error(( localize(8169, "Failed to load stack frames: {0}", e.message)));
561
561
  });
562
562
  }));
563
563
  return data;
@@ -637,7 +637,7 @@ registerAction2(class extends Action2 {
637
637
  constructor() {
638
638
  super({
639
639
  id: "callStackWidget.goToFile",
640
- title: ( localize2(8105, "Open File")),
640
+ title: ( localize2(8170, "Open File")),
641
641
  icon: Codicon.goToFile,
642
642
  menu: {
643
643
  id: MenuId.DebugCallStackToolbar,
@@ -56,11 +56,11 @@ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/obse
56
56
 
57
57
  const CLASS_HIT = "coverage-deco-hit";
58
58
  const CLASS_MISS = "coverage-deco-miss";
59
- const TOGGLE_INLINE_COMMAND_TEXT = ( localize(14257, "Toggle Inline"));
59
+ const TOGGLE_INLINE_COMMAND_TEXT = ( localize(14339, "Toggle Inline"));
60
60
  const TOGGLE_INLINE_COMMAND_ID = "testing.toggleInlineCoverage";
61
61
  const BRANCH_MISS_INDICATOR_CHARS = 4;
62
- const GO_TO_NEXT_MISSED_LINE_TITLE = ( localize2(14258, "Go to Next Uncovered Line"));
63
- const GO_TO_PREVIOUS_MISSED_LINE_TITLE = ( localize2(14259, "Go to Previous Uncovered Line"));
62
+ const GO_TO_NEXT_MISSED_LINE_TITLE = ( localize2(14340, "Go to Next Uncovered Line"));
63
+ const GO_TO_PREVIOUS_MISSED_LINE_TITLE = ( localize2(14341, "Go to Previous Uncovered Line"));
64
64
  let CodeCoverageDecorations = class CodeCoverageDecorations extends Disposable {
65
65
  static {
66
66
  this.ID = Testing.CoverageDecorationsContributionId;
@@ -503,7 +503,7 @@ class CoverageDetailsModel {
503
503
  if (detail.branches?.length) {
504
504
  const covered = detail.branches.filter(b => !!b.count).length;
505
505
  return ( new MarkdownString()).appendMarkdown(( localize(
506
- 14260,
506
+ 14342,
507
507
  "{0} of {1} of branches in {2} were covered.",
508
508
  covered,
509
509
  detail.branches.length,
@@ -522,11 +522,11 @@ class CoverageDetailsModel {
522
522
  } = detail.detail.branches[detail.branch];
523
523
  const label2 = label ? wrapInBackticks(label) : `#${detail.branch + 1}`;
524
524
  if (!count) {
525
- return ( new MarkdownString()).appendMarkdown(( localize(14261, "Branch {0} in {1} was not covered.", label2, text)));
525
+ return ( new MarkdownString()).appendMarkdown(( localize(14343, "Branch {0} in {1} was not covered.", label2, text)));
526
526
  } else if (count === true) {
527
- return ( new MarkdownString()).appendMarkdown(( localize(14262, "Branch {0} in {1} was executed.", label2, text)));
527
+ return ( new MarkdownString()).appendMarkdown(( localize(14344, "Branch {0} in {1} was executed.", label2, text)));
528
528
  } else {
529
- return ( new MarkdownString()).appendMarkdown(( localize(14263, "Branch {0} in {1} was executed {2} time(s).", label2, text, count)));
529
+ return ( new MarkdownString()).appendMarkdown(( localize(14345, "Branch {0} in {1} was executed {2} time(s).", label2, text, count)));
530
530
  }
531
531
  }
532
532
  assertNever();
@@ -534,7 +534,7 @@ class CoverageDetailsModel {
534
534
  }
535
535
  function namedDetailLabel(name, detail) {
536
536
  return ( new MarkdownString()).appendMarkdown(
537
- !detail.count ? ( localize(14264, "`{0}` was not executed.", name)) : typeof detail.count === "number" ? ( localize(14265, "`{0}` was executed {1} time(s).", name, detail.count)) : ( localize(14266, "`{0}` was executed.", name)));
537
+ !detail.count ? ( localize(14346, "`{0}` was not executed.", name)) : typeof detail.count === "number" ? ( localize(14347, "`{0}` was executed {1} time(s).", name, detail.count)) : ( localize(14348, "`{0}` was executed.", name)));
538
538
  }
539
539
  function tidyLocation(location) {
540
540
  if (location instanceof Position) {
@@ -650,7 +650,7 @@ let CoverageToolbarWidget = class CoverageToolbarWidget extends Disposable {
650
650
  if (!current) {
651
651
  return;
652
652
  }
653
- const toggleAction = ( new ActionWithIcon("toggleInline", this.coverage.showInline.get() ? ( localize(14267, "Hide Inline")) : ( localize(14268, "Show Inline")), testingCoverageReport, undefined, () => this.coverage.showInline.set(!this.coverage.showInline.get(), undefined)));
653
+ const toggleAction = ( new ActionWithIcon("toggleInline", this.coverage.showInline.get() ? ( localize(14349, "Hide Inline")) : ( localize(14350, "Show Inline")), testingCoverageReport, undefined, () => this.coverage.showInline.set(!this.coverage.showInline.get(), undefined)));
654
654
  toggleAction.tooltip = this.keybindingService.appendKeybinding(TOGGLE_INLINE_COMMAND_TEXT, TOGGLE_INLINE_COMMAND_ID);
655
655
  const hasUncoveredStmt = current.coverage.statement.covered < current.coverage.statement.total;
656
656
  this.actionBar.push(( new ActionWithIcon(
@@ -682,12 +682,12 @@ let CoverageToolbarWidget = class CoverageToolbarWidget extends Disposable {
682
682
  )));
683
683
  } else if (current.coverage.perTestData?.size) {
684
684
  this.actionBar.push(( new ActionWithIcon("perTestFilter", ( localize(
685
- 14269,
685
+ 14351,
686
686
  "{0} test(s) ran code in this file",
687
687
  current.coverage.perTestData.size
688
688
  )), testingFilterIcon, undefined, () => this.commandService.executeCommand(TestCommandId.CoverageFilterToTestInEditor, this.current, this.editor))));
689
689
  }
690
- this.actionBar.push(( new ActionWithIcon("rerun", ( localize(14270, "Rerun")), testingRerunIcon, !this.isRunning, () => this.rerunTest())));
690
+ this.actionBar.push(( new ActionWithIcon("rerun", ( localize(14352, "Rerun")), testingRerunIcon, !this.isRunning, () => this.rerunTest())));
691
691
  }
692
692
  show() {
693
693
  if (this.registered) {
@@ -739,7 +739,7 @@ registerAction2(class ToggleInlineCoverage extends Action2 {
739
739
  constructor() {
740
740
  super({
741
741
  id: TOGGLE_INLINE_COMMAND_ID,
742
- title: ( localize2(14271, "Toggle Inline Coverage")),
742
+ title: ( localize2(14353, "Toggle Inline Coverage")),
743
743
  category: Categories.Test,
744
744
  keybinding: {
745
745
  weight: KeybindingWeight.WorkbenchContrib,
@@ -750,7 +750,7 @@ registerAction2(class ToggleInlineCoverage extends Action2 {
750
750
  },
751
751
  toggled: {
752
752
  condition: TestingContextKeys.inlineCoverageEnabled,
753
- title: ( localize(14272, "Hide Inline Coverage"))
753
+ title: ( localize(14354, "Hide Inline Coverage"))
754
754
  },
755
755
  icon: testingCoverageReport,
756
756
  menu: [{
@@ -772,9 +772,9 @@ registerAction2(class ToggleCoverageToolbar extends Action2 {
772
772
  constructor() {
773
773
  super({
774
774
  id: TestCommandId.CoverageToggleToolbar,
775
- title: ( localize2(14273, "Show Test Coverage Toolbar")),
775
+ title: ( localize2(14355, "Show Test Coverage Toolbar")),
776
776
  metadata: {
777
- description: ( localize2(14274, "Toggle the sticky coverage bar in the editor."))
777
+ description: ( localize2(14356, "Toggle the sticky coverage bar in the editor."))
778
778
  },
779
779
  category: Categories.Test,
780
780
  toggled: {
@@ -804,7 +804,7 @@ registerAction2(class FilterCoverageToTestInEditor extends Action2 {
804
804
  constructor() {
805
805
  super({
806
806
  id: TestCommandId.CoverageFilterToTestInEditor,
807
- title: ( localize2(14275, "Filter Coverage to Test")),
807
+ title: ( localize2(14357, "Filter Coverage to Test")),
808
808
  category: Categories.Test,
809
809
  icon: Codicon.filter,
810
810
  toggled: {
@@ -894,14 +894,14 @@ registerAction2(class ToggleCoverageInExplorer extends Action2 {
894
894
  constructor() {
895
895
  super({
896
896
  id: TestCommandId.CoverageToggleInExplorer,
897
- title: ( localize2(14276, "Toggle Coverage in Explorer")),
897
+ title: ( localize2(14358, "Toggle Coverage in Explorer")),
898
898
  metadata: {
899
- description: ( localize2(14277, "Toggle the display of test coverage in the File Explorer view."))
899
+ description: ( localize2(14359, "Toggle the display of test coverage in the File Explorer view."))
900
900
  },
901
901
  category: Categories.Test,
902
902
  toggled: {
903
903
  condition: ( ContextKeyExpr.equals("config.testing.showCoverageInExplorer", true)),
904
- title: ( localize(14278, "Hide Coverage in Explorer"))
904
+ title: ( localize(14360, "Hide Coverage in Explorer"))
905
905
  },
906
906
  menu: [{
907
907
  id: MenuId.CommandPalette,
@@ -921,7 +921,7 @@ registerAction2(class GoToNextMissedCoverageLine extends Action2 {
921
921
  id: TestCommandId.CoverageGoToNextMissedLine,
922
922
  title: GO_TO_NEXT_MISSED_LINE_TITLE,
923
923
  metadata: {
924
- description: ( localize2(14279, "Navigate to the next line that is not covered by tests."))
924
+ description: ( localize2(14361, "Navigate to the next line that is not covered by tests."))
925
925
  },
926
926
  category: Categories.Test,
927
927
  icon: Codicon.arrowDown,
@@ -958,7 +958,7 @@ registerAction2(class GoToPreviousMissedCoverageLine extends Action2 {
958
958
  id: TestCommandId.CoverageGoToPreviousMissedLine,
959
959
  title: GO_TO_PREVIOUS_MISSED_LINE_TITLE,
960
960
  metadata: {
961
- description: ( localize2(14280, "Navigate to the previous line that is not covered by tests."))
961
+ description: ( localize2(14362, "Navigate to the previous line that is not covered by tests."))
962
962
  },
963
963
  category: Categories.Test,
964
964
  icon: Codicon.arrowUp,
@@ -84,11 +84,11 @@ function getLabelForItem(result, testId, commonPrefixLen) {
84
84
  }
85
85
  var labels;
86
86
  (function(labels) {
87
- labels.showingFilterFor = label => ( localize(14281, "Showing \"{0}\"", label));
88
- labels.clickToChangeFiltering = ( localize(14282, "Click to view coverage for a single test"));
89
- labels.percentCoverage = (percent, precision) => ( localize(14283, "{0} Coverage", displayPercent(percent, precision)));
90
- labels.allTests = ( localize(14284, "All tests"));
91
- labels.pickShowCoverage = ( localize(14285, "Pick a test to show coverage for"));
87
+ labels.showingFilterFor = label => ( localize(14363, "Showing \"{0}\"", label));
88
+ labels.clickToChangeFiltering = ( localize(14364, "Click to view coverage for a single test"));
89
+ labels.percentCoverage = (percent, precision) => ( localize(14365, "{0} Coverage", displayPercent(percent, precision)));
90
+ labels.allTests = ( localize(14366, "All tests"));
91
+ labels.pickShowCoverage = ( localize(14367, "Pick a test to show coverage for"));
92
92
  })(labels || (labels = {}));
93
93
 
94
94
  export { calculateDisplayedStat, displayPercent, getCoverageColor, getLabelForItem, labels, percent };
@@ -7,47 +7,47 @@ 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(14286, "View icon of the test view.")));
11
- const testingResultsIcon = registerIcon("test-results-icon", Codicon.checklist, ( localize(14287, "Icons for test results.")));
12
- const testingRunIcon = registerIcon("testing-run-icon", Codicon.run, ( localize(14288, "Icon of the \"run test\" action.")));
13
- const testingRerunIcon = registerIcon("testing-rerun-icon", Codicon.debugRerun, ( localize(14289, "Icon of the \"rerun tests\" action.")));
14
- const testingRunAllIcon = registerIcon("testing-run-all-icon", Codicon.runAll, ( localize(14290, "Icon of the \"run all tests\" action.")));
15
- const testingDebugAllIcon = registerIcon("testing-debug-all-icon", Codicon.debugAltSmall, ( localize(14291, "Icon of the \"debug all tests\" action.")));
16
- const testingDebugIcon = registerIcon("testing-debug-icon", Codicon.debugAltSmall, ( localize(14292, "Icon of the \"debug test\" action.")));
17
- const testingCoverageIcon = registerIcon("testing-coverage-icon", Codicon.runCoverage, ( localize(14293, "Icon of the \"run test with coverage\" action.")));
18
- const testingCoverageAllIcon = registerIcon("testing-coverage-all-icon", Codicon.runAllCoverage, ( localize(14294, "Icon of the \"run all tests with coverage\" action.")));
19
- const testingCancelIcon = registerIcon("testing-cancel-icon", Codicon.debugStop, ( localize(14295, "Icon to cancel ongoing test runs.")));
20
- const testingFilterIcon = registerIcon("testing-filter", Codicon.filter, ( localize(14296, "Icon for the 'Filter' action in the testing view.")));
21
- const testingHiddenIcon = registerIcon("testing-hidden", Codicon.eyeClosed, ( localize(14297, "Icon shown beside hidden tests, when they've been shown.")));
22
- registerIcon("testing-show-as-list-icon", Codicon.listTree, ( localize(14298, "Icon shown when the test explorer is disabled as a tree.")));
23
- registerIcon("testing-show-as-list-icon", Codicon.listFlat, ( localize(14299, "Icon shown when the test explorer is disabled as a list.")));
24
- const testingUpdateProfiles = registerIcon("testing-update-profiles", Codicon.gear, ( localize(14300, "Icon shown to update test profiles.")));
25
- const testingRefreshTests = registerIcon("testing-refresh-tests", Codicon.refresh, ( localize(14301, "Icon on the button to refresh tests.")));
26
- const testingTurnContinuousRunOn = registerIcon("testing-turn-continuous-run-on", Codicon.eye, ( localize(14302, "Icon to turn continuous test runs on.")));
27
- const testingTurnContinuousRunOff = registerIcon("testing-turn-continuous-run-off", Codicon.eyeClosed, ( localize(14303, "Icon to turn continuous test runs off.")));
28
- const testingContinuousIsOn = registerIcon("testing-continuous-is-on", Codicon.eye, ( localize(14304, "Icon when continuous run is on for a test ite,.")));
29
- const testingCancelRefreshTests = registerIcon("testing-cancel-refresh-tests", Codicon.stop, ( localize(14305, "Icon on the button to cancel refreshing tests.")));
30
- const testingCoverageReport = registerIcon("testing-coverage", Codicon.coverage, ( localize(14306, "Icon representing test coverage")));
31
- const testingWasCovered = registerIcon("testing-was-covered", Codicon.check, ( localize(14307, "Icon representing that an element was covered")));
32
- const testingCoverageMissingBranch = registerIcon("testing-missing-branch", Codicon.question, ( localize(14308, "Icon representing a uncovered block without a range")));
10
+ const testingViewIcon = registerIcon("test-view-icon", Codicon.beaker, ( localize(14368, "View icon of the test view.")));
11
+ const testingResultsIcon = registerIcon("test-results-icon", Codicon.checklist, ( localize(14369, "Icons for test results.")));
12
+ const testingRunIcon = registerIcon("testing-run-icon", Codicon.run, ( localize(14370, "Icon of the \"run test\" action.")));
13
+ const testingRerunIcon = registerIcon("testing-rerun-icon", Codicon.debugRerun, ( localize(14371, "Icon of the \"rerun tests\" action.")));
14
+ const testingRunAllIcon = registerIcon("testing-run-all-icon", Codicon.runAll, ( localize(14372, "Icon of the \"run all tests\" action.")));
15
+ const testingDebugAllIcon = registerIcon("testing-debug-all-icon", Codicon.debugAltSmall, ( localize(14373, "Icon of the \"debug all tests\" action.")));
16
+ const testingDebugIcon = registerIcon("testing-debug-icon", Codicon.debugAltSmall, ( localize(14374, "Icon of the \"debug test\" action.")));
17
+ const testingCoverageIcon = registerIcon("testing-coverage-icon", Codicon.runCoverage, ( localize(14375, "Icon of the \"run test with coverage\" action.")));
18
+ const testingCoverageAllIcon = registerIcon("testing-coverage-all-icon", Codicon.runAllCoverage, ( localize(14376, "Icon of the \"run all tests with coverage\" action.")));
19
+ const testingCancelIcon = registerIcon("testing-cancel-icon", Codicon.debugStop, ( localize(14377, "Icon to cancel ongoing test runs.")));
20
+ const testingFilterIcon = registerIcon("testing-filter", Codicon.filter, ( localize(14378, "Icon for the 'Filter' action in the testing view.")));
21
+ const testingHiddenIcon = registerIcon("testing-hidden", Codicon.eyeClosed, ( localize(14379, "Icon shown beside hidden tests, when they've been shown.")));
22
+ registerIcon("testing-show-as-list-icon", Codicon.listTree, ( localize(14380, "Icon shown when the test explorer is disabled as a tree.")));
23
+ registerIcon("testing-show-as-list-icon", Codicon.listFlat, ( localize(14381, "Icon shown when the test explorer is disabled as a list.")));
24
+ const testingUpdateProfiles = registerIcon("testing-update-profiles", Codicon.gear, ( localize(14382, "Icon shown to update test profiles.")));
25
+ const testingRefreshTests = registerIcon("testing-refresh-tests", Codicon.refresh, ( localize(14383, "Icon on the button to refresh tests.")));
26
+ const testingTurnContinuousRunOn = registerIcon("testing-turn-continuous-run-on", Codicon.eye, ( localize(14384, "Icon to turn continuous test runs on.")));
27
+ const testingTurnContinuousRunOff = registerIcon("testing-turn-continuous-run-off", Codicon.eyeClosed, ( localize(14385, "Icon to turn continuous test runs off.")));
28
+ const testingContinuousIsOn = registerIcon("testing-continuous-is-on", Codicon.eye, ( localize(14386, "Icon when continuous run is on for a test ite,.")));
29
+ const testingCancelRefreshTests = registerIcon("testing-cancel-refresh-tests", Codicon.stop, ( localize(14387, "Icon on the button to cancel refreshing tests.")));
30
+ const testingCoverageReport = registerIcon("testing-coverage", Codicon.coverage, ( localize(14388, "Icon representing test coverage")));
31
+ const testingWasCovered = registerIcon("testing-was-covered", Codicon.check, ( localize(14389, "Icon representing that an element was covered")));
32
+ const testingCoverageMissingBranch = registerIcon("testing-missing-branch", Codicon.question, ( localize(14390, "Icon representing a uncovered block without a range")));
33
33
  const testingStatesToIcons = ( new Map([[
34
34
  TestResultState.Errored,
35
- registerIcon("testing-error-icon", Codicon.issues, ( localize(14309, "Icon shown for tests that have an error.")))
35
+ registerIcon("testing-error-icon", Codicon.issues, ( localize(14391, "Icon shown for tests that have an error.")))
36
36
  ], [
37
37
  TestResultState.Failed,
38
- registerIcon("testing-failed-icon", Codicon.error, ( localize(14310, "Icon shown for tests that failed.")))
38
+ registerIcon("testing-failed-icon", Codicon.error, ( localize(14392, "Icon shown for tests that failed.")))
39
39
  ], [
40
40
  TestResultState.Passed,
41
- registerIcon("testing-passed-icon", Codicon.pass, ( localize(14311, "Icon shown for tests that passed.")))
41
+ registerIcon("testing-passed-icon", Codicon.pass, ( localize(14393, "Icon shown for tests that passed.")))
42
42
  ], [
43
43
  TestResultState.Queued,
44
- registerIcon("testing-queued-icon", Codicon.history, ( localize(14312, "Icon shown for tests that are queued.")))
44
+ registerIcon("testing-queued-icon", Codicon.history, ( localize(14394, "Icon shown for tests that are queued.")))
45
45
  ], [TestResultState.Running, spinningLoading], [
46
46
  TestResultState.Skipped,
47
- registerIcon("testing-skipped-icon", Codicon.debugStepOver, ( localize(14313, "Icon shown for tests that are skipped.")))
47
+ registerIcon("testing-skipped-icon", Codicon.debugStepOver, ( localize(14395, "Icon shown for tests that are skipped.")))
48
48
  ], [
49
49
  TestResultState.Unset,
50
- registerIcon("testing-unset-icon", Codicon.circleOutline, ( localize(14314, "Icon shown for tests that are in an unset state.")))
50
+ registerIcon("testing-unset-icon", Codicon.circleOutline, ( localize(14396, "Icon shown for tests that are in an unset state.")))
51
51
  ]]));
52
52
  registerThemingParticipant((theme, collector) => {
53
53
  for (const [state, icon] of testingStatesToIcons.entries()) {
@@ -140,21 +140,21 @@ const renderBar = (bar, pct, isZero, thresholds) => {
140
140
  };
141
141
  const nf = safeIntl.NumberFormat();
142
142
  const stmtCoverageText = coverage => ( localize(
143
- 14315,
143
+ 14397,
144
144
  "{0}/{1} statements covered ({2})",
145
145
  nf.value.format(coverage.statement.covered),
146
146
  nf.value.format(coverage.statement.total),
147
147
  displayPercent(percent(coverage.statement))
148
148
  ));
149
149
  const fnCoverageText = coverage => coverage.declaration && ( localize(
150
- 14316,
150
+ 14398,
151
151
  "{0}/{1} functions covered ({2})",
152
152
  nf.value.format(coverage.declaration.covered),
153
153
  nf.value.format(coverage.declaration.total),
154
154
  displayPercent(percent(coverage.declaration))
155
155
  ));
156
156
  const branchCoverageText = coverage => coverage.branch && ( localize(
157
- 14317,
157
+ 14399,
158
158
  "{0}/{1} branches covered ({2})",
159
159
  nf.value.format(coverage.branch.covered),
160
160
  nf.value.format(coverage.branch.total),
@@ -5,6 +5,7 @@ import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/h
5
5
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
6
6
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
7
7
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
8
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
8
9
  import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
9
10
  import { IViewPaneOptions, ViewPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewPane";
10
11
  import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
@@ -16,9 +17,10 @@ declare enum CoverageSortOrder {
16
17
  }
17
18
  export declare class TestCoverageView extends ViewPane {
18
19
  private readonly coverageService;
20
+ private readonly storageService;
19
21
  private readonly tree;
20
22
  readonly sortOrder: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable<CoverageSortOrder, void>;
21
- constructor(options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, coverageService: ITestCoverageService);
23
+ constructor(options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, coverageService: ITestCoverageService, storageService: IStorageService);
22
24
  protected renderBody(container: HTMLElement): void;
23
25
  protected layoutBody(height: number, width: number): void;
24
26
  collapseAll(): void;
@@ -32,6 +32,8 @@ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platf
32
32
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
33
33
  import { WorkbenchCompressibleObjectTree } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
34
34
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
35
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
36
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
35
37
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
36
38
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
37
39
  import { ResourceLabels } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/labels';
@@ -71,7 +73,8 @@ let TestCoverageView = class TestCoverageView extends ViewPane {
71
73
  openerService,
72
74
  themeService,
73
75
  hoverService,
74
- coverageService
76
+ coverageService,
77
+ storageService
75
78
  ) {
76
79
  super(
77
80
  options,
@@ -86,11 +89,25 @@ let TestCoverageView = class TestCoverageView extends ViewPane {
86
89
  hoverService
87
90
  );
88
91
  this.coverageService = coverageService;
92
+ this.storageService = storageService;
89
93
  this.tree = this._register(( new MutableDisposable()));
90
94
  this.sortOrder = observableValue("sortOrder", CoverageSortOrder.Location);
95
+ const storedOrder = this.storageService.getNumber("testing.coverageSortOrder", StorageScope.WORKSPACE);
96
+ if (storedOrder !== undefined && storedOrder >= CoverageSortOrder.Coverage && storedOrder <= CoverageSortOrder.Name) {
97
+ this.sortOrder.set(storedOrder, undefined);
98
+ }
91
99
  }
92
100
  renderBody(container) {
93
101
  super.renderBody(container);
102
+ this._register(autorun(reader => {
103
+ const order = this.sortOrder.read(reader);
104
+ this.storageService.store(
105
+ "testing.coverageSortOrder",
106
+ order,
107
+ StorageScope.WORKSPACE,
108
+ StorageTarget.MACHINE
109
+ );
110
+ }));
94
111
  const labels = this._register(this.instantiationService.createInstance(ResourceLabels, {
95
112
  onDidChangeVisibility: this.onDidChangeBodyVisibility
96
113
  }));
@@ -112,7 +129,7 @@ let TestCoverageView = class TestCoverageView extends ViewPane {
112
129
  this.tree.value?.collapseAll();
113
130
  }
114
131
  };
115
- TestCoverageView = ( __decorate([( __param(1, IKeybindingService)), ( __param(2, IContextMenuService)), ( __param(3, IConfigurationService)), ( __param(4, IContextKeyService)), ( __param(5, IViewDescriptorService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, IThemeService)), ( __param(9, IHoverService)), ( __param(10, ITestCoverageService))], TestCoverageView));
132
+ TestCoverageView = ( __decorate([( __param(1, IKeybindingService)), ( __param(2, IContextMenuService)), ( __param(3, IConfigurationService)), ( __param(4, IContextKeyService)), ( __param(5, IViewDescriptorService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, IThemeService)), ( __param(9, IHoverService)), ( __param(10, ITestCoverageService)), ( __param(11, IStorageService))], TestCoverageView));
116
133
  let fnNodeId = 0;
117
134
  class DeclarationCoverageNode {
118
135
  get hits() {
@@ -186,7 +203,7 @@ class DeclarationCoverageNode {
186
203
  DeclarationCoverageNode.__decorator = ( __decorate([memoize], DeclarationCoverageNode.prototype, "attributableCoverage", null));
187
204
  class RevealUncoveredDeclarations {
188
205
  get label() {
189
- return localize(14318, "{0} declarations without coverage...", this.n);
206
+ return localize(14400, "{0} declarations without coverage...", this.n);
190
207
  }
191
208
  constructor(n) {
192
209
  this.n = n;
@@ -195,7 +212,7 @@ class RevealUncoveredDeclarations {
195
212
  }
196
213
  class CurrentlyFilteredTo {
197
214
  get label() {
198
- return localize(14319, "Showing coverage for \"{0}\"", this.testItem.label);
215
+ return localize(14401, "Showing coverage for \"{0}\"", this.testItem.label);
199
216
  }
200
217
  constructor(testItem) {
201
218
  this.testItem = testItem;
@@ -205,7 +222,7 @@ class CurrentlyFilteredTo {
205
222
  class LoadingDetails {
206
223
  constructor() {
207
224
  this.id = String(fnNodeId++);
208
- this.label = ( localize(14320, "Loading Coverage Details..."));
225
+ this.label = ( localize(14402, "Loading Coverage Details..."));
209
226
  }
210
227
  }
211
228
  const isFileCoverage = c => typeof c === "object" && "value" in c;
@@ -249,13 +266,13 @@ let TestCoverageTree = class TestCoverageTree extends Disposable {
249
266
  getAriaLabel(element) {
250
267
  if (isFileCoverage(element)) {
251
268
  const name = basenameOrAuthority(element.value.uri);
252
- return localize(14321, "{0} coverage: {0}%", name, (element.value.tpc * 100).toFixed(2));
269
+ return localize(14403, "{0} coverage: {0}%", name, (element.value.tpc * 100).toFixed(2));
253
270
  } else {
254
271
  return element.label;
255
272
  }
256
273
  },
257
274
  getWidgetAriaLabel() {
258
- return localize(14322, "Test Coverage Explorer");
275
+ return localize(14404, "Test Coverage Explorer");
259
276
  }
260
277
  },
261
278
  identityProvider: ( new TestCoverageIdentityProvider())
@@ -631,7 +648,7 @@ registerAction2(class TestCoverageChangePerTestFilterAction extends Action2 {
631
648
  super({
632
649
  id: TestCommandId.CoverageFilterToTest,
633
650
  category: Categories.Test,
634
- title: ( localize2(14323, "Filter Coverage by Test")),
651
+ title: ( localize2(14405, "Filter Coverage by Test")),
635
652
  icon: Codicon.filter,
636
653
  toggled: {
637
654
  icon: Codicon.filterFilled,
@@ -689,7 +706,7 @@ registerAction2(class TestCoverageChangeSortingAction extends ViewAction {
689
706
  super({
690
707
  id: TestCommandId.CoverageViewChangeSorting,
691
708
  viewId: Testing.CoverageViewId,
692
- title: ( localize2(14324, "Change Sort Order")),
709
+ title: ( localize2(14406, "Change Sort Order")),
693
710
  icon: Codicon.sortPrecedence,
694
711
  menu: {
695
712
  id: MenuId.ViewTitle,
@@ -703,22 +720,22 @@ registerAction2(class TestCoverageChangeSortingAction extends ViewAction {
703
720
  const disposables = ( new DisposableStore());
704
721
  const quickInput = disposables.add(accessor.get(IQuickInputService).createQuickPick());
705
722
  const items = [{
706
- label: ( localize(14325, "Sort by Location")),
723
+ label: ( localize(14407, "Sort by Location")),
707
724
  value: CoverageSortOrder.Location,
708
725
  description: ( localize(
709
- 14326,
726
+ 14408,
710
727
  "Files are sorted alphabetically, declarations are sorted by position"
711
728
  ))
712
729
  }, {
713
- label: ( localize(14327, "Sort by Coverage")),
730
+ label: ( localize(14409, "Sort by Coverage")),
714
731
  value: CoverageSortOrder.Coverage,
715
- description: ( localize(14328, "Files and declarations are sorted by total coverage"))
732
+ description: ( localize(14410, "Files and declarations are sorted by total coverage"))
716
733
  }, {
717
- label: ( localize(14329, "Sort by Name")),
734
+ label: ( localize(14411, "Sort by Name")),
718
735
  value: CoverageSortOrder.Name,
719
- description: ( localize(14330, "Files and declarations are sorted alphabetically"))
736
+ description: ( localize(14412, "Files and declarations are sorted alphabetically"))
720
737
  }];
721
- quickInput.placeholder = ( localize(14331, "Sort the Test Coverage view..."));
738
+ quickInput.placeholder = ( localize(14413, "Sort the Test Coverage view..."));
722
739
  quickInput.items = items;
723
740
  quickInput.show();
724
741
  disposables.add(quickInput.onDidHide(() => disposables.dispose()));
@@ -736,7 +753,7 @@ registerAction2(class TestCoverageCollapseAllAction extends ViewAction {
736
753
  super({
737
754
  id: TestCommandId.CoverageViewCollapseAll,
738
755
  viewId: Testing.CoverageViewId,
739
- title: ( localize2(14332, "Collapse All Coverage")),
756
+ title: ( localize2(14414, "Collapse All Coverage")),
740
757
  icon: Codicon.collapseAll,
741
758
  menu: {
742
759
  id: MenuId.ViewTitle,