@codingame/monaco-vscode-testing-service-override 13.1.6 → 14.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 (41) hide show
  1. package/package.json +14 -14
  2. package/vscode/src/vs/workbench/contrib/debug/browser/callStackWidget.d.ts +2 -0
  3. package/vscode/src/vs/workbench/contrib/debug/browser/callStackWidget.js +12 -6
  4. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +23 -21
  5. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDisplayUtils.js +5 -5
  6. package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +29 -29
  7. package/vscode/src/vs/workbench/contrib/testing/browser/media/testing.css.js +1 -1
  8. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.d.ts +1 -1
  9. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +4 -4
  10. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +94 -29
  11. package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +69 -69
  12. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsOutput.js +7 -9
  13. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsTree.js +23 -23
  14. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.d.ts +4 -1
  15. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testResultsViewContent.js +21 -13
  16. package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +16 -9
  17. package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +18 -18
  19. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +11 -11
  20. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +29 -24
  21. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.d.ts +1 -1
  22. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +47 -33
  23. package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.js +5 -5
  24. package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.d.ts +3 -2
  25. package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +7 -5
  26. package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +49 -38
  27. package/vscode/src/vs/workbench/contrib/testing/common/configuration.d.ts +1 -1
  28. package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +33 -33
  29. package/vscode/src/vs/workbench/contrib/testing/common/mainThreadTestCollection.js +4 -2
  30. package/vscode/src/vs/workbench/contrib/testing/common/observableUtils.d.ts +2 -2
  31. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.d.ts +1 -1
  32. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.d.ts +1 -1
  33. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/testing/common/testService.d.ts +1 -1
  35. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +26 -12
  36. package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +4 -4
  37. package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +1 -1
  38. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +29 -29
  39. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.d.ts +1 -1
  40. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testMessageStack.d.ts +0 -14
  41. package/vscode/src/vs/workbench/contrib/testing/browser/testResultsView/testMessageStack.js +0 -30
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-testing-service-override",
3
- "version": "13.1.6",
3
+ "version": "14.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - testing service-override",
6
6
  "keywords": [],
@@ -15,19 +15,19 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-0b087f42-a5a3-5eb9-9bfd-1eebc1bba163-common": "13.1.6",
19
- "@codingame/monaco-vscode-10418ae3-ee63-5700-a757-89cbe6564ee4-common": "13.1.6",
20
- "@codingame/monaco-vscode-5108c2c9-4ada-52d8-8c4b-fe03b3160e71-common": "13.1.6",
21
- "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "13.1.6",
22
- "@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common": "13.1.6",
23
- "@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common": "13.1.6",
24
- "@codingame/monaco-vscode-a4683c2b-a0d2-5112-96ba-eedc605346d2-common": "13.1.6",
25
- "@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "13.1.6",
26
- "@codingame/monaco-vscode-api": "13.1.6",
27
- "@codingame/monaco-vscode-b4efa70b-52b9-5670-ab5c-f10b10b6834e-common": "13.1.6",
28
- "@codingame/monaco-vscode-e7080bda-ce3e-5243-9a35-98cd9634dbda-common": "13.1.6",
29
- "@codingame/monaco-vscode-f6ab89b2-83b0-5a43-8772-cb0eafa650b5-common": "13.1.6",
30
- "@codingame/monaco-vscode-terminal-service-override": "13.1.6"
18
+ "@codingame/monaco-vscode-0b087f42-a5a3-5eb9-9bfd-1eebc1bba163-common": "14.0.0",
19
+ "@codingame/monaco-vscode-10418ae3-ee63-5700-a757-89cbe6564ee4-common": "14.0.0",
20
+ "@codingame/monaco-vscode-4a28f637-7c3c-5e48-a77c-1b7538b38850-common": "14.0.0",
21
+ "@codingame/monaco-vscode-65619f8f-0eab-5d8b-855a-43b6353fe527-common": "14.0.0",
22
+ "@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common": "14.0.0",
23
+ "@codingame/monaco-vscode-91789cdf-e3cb-5a04-aaeb-6f7df7d3d231-common": "14.0.0",
24
+ "@codingame/monaco-vscode-a17f5129-e16c-5dac-857e-dcd91bfeffa2-common": "14.0.0",
25
+ "@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "14.0.0",
26
+ "@codingame/monaco-vscode-api": "14.0.0",
27
+ "@codingame/monaco-vscode-b4efa70b-52b9-5670-ab5c-f10b10b6834e-common": "14.0.0",
28
+ "@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-common": "14.0.0",
29
+ "@codingame/monaco-vscode-f6ab89b2-83b0-5a43-8772-cb0eafa650b5-common": "14.0.0",
30
+ "@codingame/monaco-vscode-terminal-service-override": "14.0.0"
31
31
  },
32
32
  "main": "index.js",
33
33
  "module": "index.js",
@@ -32,7 +32,9 @@ export declare class CallStackWidget extends Disposable {
32
32
  private readonly layoutEmitter;
33
33
  private readonly currentFramesDs;
34
34
  private cts?;
35
+ get onDidChangeContentHeight(): Event<number>;
35
36
  get onDidScroll(): Event<import("@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable").ScrollEvent>;
37
+ get contentHeight(): number;
36
38
  constructor(container: HTMLElement, containingEditor: ICodeEditor | undefined, instantiationService: IInstantiationService);
37
39
  setFrames(frames: AnyStackFrame[]): void;
38
40
  layout(height?: number, width?: number): void;
@@ -31,7 +31,7 @@ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/l
31
31
  import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
32
32
  import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
33
33
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
34
- import { ResourceLabel } from '@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common/vscode/vs/workbench/browser/labels';
34
+ import { ResourceLabel } from '@codingame/monaco-vscode-91789cdf-e3cb-5a04-aaeb-6f7df7d3d231-common/vscode/vs/workbench/browser/labels';
35
35
  import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
36
36
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
37
37
  import { makeStackFrameColumnDecoration, TOP_STACK_FRAME_DECORATION } from '@codingame/monaco-vscode-0b087f42-a5a3-5eb9-9bfd-1eebc1bba163-common/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution';
@@ -80,9 +80,15 @@ class WrappedCustomStackFrame {
80
80
  const isFrameLike = (item) => item instanceof WrappedCallStackFrame || item instanceof WrappedCustomStackFrame;
81
81
  const WIDGET_CLASS_NAME = 'multiCallStackWidget';
82
82
  let CallStackWidget = class CallStackWidget extends Disposable {
83
+ get onDidChangeContentHeight() {
84
+ return this.list.onDidChangeContentHeight;
85
+ }
83
86
  get onDidScroll() {
84
87
  return this.list.onDidScroll;
85
88
  }
89
+ get contentHeight() {
90
+ return this.list.contentHeight;
91
+ }
86
92
  constructor(container, containingEditor, instantiationService) {
87
93
  super();
88
94
  this.layoutEmitter = this._register(( new Emitter()));
@@ -172,7 +178,7 @@ let StackAccessibilityProvider = class StackAccessibilityProvider {
172
178
  if (e instanceof CallStackFrame) {
173
179
  if (e.source && e.line) {
174
180
  return localize(
175
- 5084,
181
+ 5227,
176
182
  '{0}, line {1} in {2}',
177
183
  e.name,
178
184
  e.line,
@@ -184,7 +190,7 @@ let StackAccessibilityProvider = class StackAccessibilityProvider {
184
190
  assertNever();
185
191
  }
186
192
  getWidgetAriaLabel() {
187
- return localize(5085, 'Stack Trace');
193
+ return localize(5228, 'Stack Trace');
188
194
  }
189
195
  };
190
196
  StackAccessibilityProvider = ( __decorate([
@@ -404,7 +410,7 @@ let MissingCodeRenderer = class MissingCodeRenderer {
404
410
  const cast = element;
405
411
  templateData.label.element.setResource({
406
412
  name: cast.name,
407
- description: ( localize(5086, 'Line {0} column {1}', cast.line, cast.column)),
413
+ description: ( localize(5229, 'Line {0} column {1}', cast.line, cast.column)),
408
414
  range: { startLineNumber: cast.line, startColumn: cast.column, endColumn: cast.column, endLineNumber: cast.line },
409
415
  }, {
410
416
  icon: Codicon.fileBinary,
@@ -465,7 +471,7 @@ let SkippedRenderer = class SkippedRenderer {
465
471
  }
466
472
  button.enabled = false;
467
473
  this.loadFrames(data.current).catch(e => {
468
- this.notificationService.error(( localize(5087, 'Failed to load stack frames: {0}', e.message)));
474
+ this.notificationService.error(( localize(5230, 'Failed to load stack frames: {0}', e.message)));
469
475
  });
470
476
  }));
471
477
  return data;
@@ -542,7 +548,7 @@ registerAction2(class extends Action2 {
542
548
  constructor() {
543
549
  super({
544
550
  id: 'callStackWidget.goToFile',
545
- title: ( localize2(5088, 'Open File')),
551
+ title: ( localize2(5231, 'Open File')),
546
552
  icon: Codicon.goToFile,
547
553
  menu: {
548
554
  id: MenuId.DebugCallStackToolbar,
@@ -40,9 +40,8 @@ import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platfor
40
40
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
41
41
  import { bindContextKey, observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
42
42
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
43
- import { labels, getLabelForItem } from './codeCoverageDisplayUtils.js';
44
- import { testingCoverageMissingBranch, testingCoverageReport, testingFilterIcon, testingRerunIcon } from './icons.js';
45
- import { ManagedTestCoverageBars } from './testCoverageBars.js';
43
+ import { ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
44
+ import { TEXT_FILE_EDITOR_ID } from '@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-common/vscode/vs/workbench/contrib/files/common/files';
46
45
  import { TestingConfigKeys, getTestingConfiguration } from '../common/configuration.js';
47
46
  import { TestCommandId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/constants';
48
47
  import { FileCoverage } from '@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common/vscode/vs/workbench/contrib/testing/common/testCoverage';
@@ -51,10 +50,13 @@ import { TestId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib
51
50
  import { ITestService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testService.service';
52
51
  import { DetailType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testTypes';
53
52
  import { TestingContextKeys } from '../common/testingContextKeys.js';
53
+ import { labels, getLabelForItem } from './codeCoverageDisplayUtils.js';
54
+ import { testingCoverageMissingBranch, testingCoverageReport, testingFilterIcon, testingRerunIcon } from './icons.js';
55
+ import { ManagedTestCoverageBars } from './testCoverageBars.js';
54
56
 
55
57
  const CLASS_HIT = 'coverage-deco-hit';
56
58
  const CLASS_MISS = 'coverage-deco-miss';
57
- const TOGGLE_INLINE_COMMAND_TEXT = ( localize(9996, 'Toggle Inline'));
59
+ const TOGGLE_INLINE_COMMAND_TEXT = ( localize(10198, 'Toggle Inline'));
58
60
  const TOGGLE_INLINE_COMMAND_ID = 'testing.toggleInlineCoverage';
59
61
  const BRANCH_MISS_INDICATOR_CHARS = 4;
60
62
  let CodeCoverageDecorations = class CodeCoverageDecorations extends Disposable {
@@ -378,7 +380,7 @@ class CoverageDetailsModel {
378
380
  if (detail.branches?.length) {
379
381
  const covered = detail.branches.filter(b => !!b.count).length;
380
382
  return ( new MarkdownString()).appendMarkdown(( localize(
381
- 9997,
383
+ 10199,
382
384
  '{0} of {1} of branches in {2} were covered.',
383
385
  covered,
384
386
  detail.branches.length,
@@ -394,13 +396,13 @@ class CoverageDetailsModel {
394
396
  const { count, label } = detail.detail.branches[detail.branch];
395
397
  const label2 = label ? wrapInBackticks(label) : `#${detail.branch + 1}`;
396
398
  if (!count) {
397
- return ( new MarkdownString()).appendMarkdown(( localize(9998, 'Branch {0} in {1} was not covered.', label2, text)));
399
+ return ( new MarkdownString()).appendMarkdown(( localize(10200, 'Branch {0} in {1} was not covered.', label2, text)));
398
400
  }
399
401
  else if (count === true) {
400
- return ( new MarkdownString()).appendMarkdown(( localize(9999, 'Branch {0} in {1} was executed.', label2, text)));
402
+ return ( new MarkdownString()).appendMarkdown(( localize(10201, 'Branch {0} in {1} was executed.', label2, text)));
401
403
  }
402
404
  else {
403
- return ( new MarkdownString()).appendMarkdown(( localize(10000, 'Branch {0} in {1} was executed {2} time(s).', label2, text, count)));
405
+ return ( new MarkdownString()).appendMarkdown(( localize(10202, 'Branch {0} in {1} was executed {2} time(s).', label2, text, count)));
404
406
  }
405
407
  }
406
408
  assertNever();
@@ -408,10 +410,10 @@ class CoverageDetailsModel {
408
410
  }
409
411
  function namedDetailLabel(name, detail) {
410
412
  return ( new MarkdownString()).appendMarkdown(!detail.count
411
- ? ( localize(10001, '`{0}` was not executed.', name))
413
+ ? ( localize(10203, '`{0}` was not executed.', name))
412
414
  : typeof detail.count === 'number'
413
- ? ( localize(10002, '`{0}` was executed {1} time(s).', name, detail.count))
414
- : ( localize(10003, '`{0}` was executed.', name)));
415
+ ? ( localize(10204, '`{0}` was executed {1} time(s).', name, detail.count))
416
+ : ( localize(10205, '`{0}` was executed.', name)));
415
417
  }
416
418
  function tidyLocation(location) {
417
419
  if (location instanceof Position) {
@@ -508,8 +510,8 @@ let CoverageToolbarWidget = class CoverageToolbarWidget extends Disposable {
508
510
  return;
509
511
  }
510
512
  const toggleAction = ( new ActionWithIcon('toggleInline', this.coverage.showInline.get()
511
- ? ( localize(10004, 'Hide Inline Coverage'))
512
- : ( localize(10005, 'Show Inline Coverage')), testingCoverageReport, undefined, () => this.coverage.showInline.set(!this.coverage.showInline.get(), undefined)));
513
+ ? ( localize(10206, 'Hide Inline Coverage'))
514
+ : ( localize(10207, 'Show Inline Coverage')), testingCoverageReport, undefined, () => this.coverage.showInline.set(!this.coverage.showInline.get(), undefined)));
513
515
  const kb = this.keybindingService.lookupKeybinding(TOGGLE_INLINE_COMMAND_ID);
514
516
  if (kb) {
515
517
  toggleAction.tooltip = `${TOGGLE_INLINE_COMMAND_TEXT} (${kb.getLabel()})`;
@@ -528,12 +530,12 @@ let CoverageToolbarWidget = class CoverageToolbarWidget extends Disposable {
528
530
  }
529
531
  else if (current.coverage.perTestData?.size) {
530
532
  this.actionBar.push(( new ActionWithIcon('perTestFilter', ( localize(
531
- 10006,
533
+ 10208,
532
534
  "{0} test(s) ran code in this file",
533
535
  current.coverage.perTestData.size
534
536
  )), testingFilterIcon, undefined, () => this.commandService.executeCommand(TestCommandId.CoverageFilterToTestInEditor, this.current, this.editor))));
535
537
  }
536
- this.actionBar.push(( new ActionWithIcon('rerun', ( localize(10007, 'Rerun')), testingRerunIcon, !this.isRunning, () => this.rerunTest())));
538
+ this.actionBar.push(( new ActionWithIcon('rerun', ( localize(10209, 'Rerun')), testingRerunIcon, !this.isRunning, () => this.rerunTest())));
537
539
  }
538
540
  show() {
539
541
  if (this.registered) {
@@ -593,7 +595,7 @@ registerAction2(class ToggleInlineCoverage extends Action2 {
593
595
  constructor() {
594
596
  super({
595
597
  id: TOGGLE_INLINE_COMMAND_ID,
596
- title: ( localize2(10008, "Toggle Inline Coverage")),
598
+ title: ( localize2(10210, "Toggle Inline Coverage")),
597
599
  category: Categories.Test,
598
600
  keybinding: {
599
601
  weight: KeybindingWeight.WorkbenchContrib,
@@ -601,7 +603,7 @@ registerAction2(class ToggleInlineCoverage extends Action2 {
601
603
  },
602
604
  toggled: {
603
605
  condition: TestingContextKeys.inlineCoverageEnabled,
604
- title: ( localize(10009, "Hide Inline Coverage")),
606
+ title: ( localize(10211, "Hide Inline Coverage")),
605
607
  },
606
608
  icon: testingCoverageReport,
607
609
  menu: [
@@ -619,9 +621,9 @@ registerAction2(class ToggleCoverageToolbar extends Action2 {
619
621
  constructor() {
620
622
  super({
621
623
  id: TestCommandId.CoverageToggleToolbar,
622
- title: ( localize2(10010, "Test Coverage Toolbar")),
624
+ title: ( localize2(10212, "Test Coverage Toolbar")),
623
625
  metadata: {
624
- description: ( localize2(10011, 'Toggle the sticky coverage bar in the editor.'))
626
+ description: ( localize2(10213, 'Toggle the sticky coverage bar in the editor.'))
625
627
  },
626
628
  category: Categories.Test,
627
629
  toggled: {
@@ -644,7 +646,7 @@ registerAction2(class FilterCoverageToTestInEditor extends Action2 {
644
646
  constructor() {
645
647
  super({
646
648
  id: TestCommandId.CoverageFilterToTestInEditor,
647
- title: ( localize2(10012, "Filter Coverage to Test")),
649
+ title: ( localize2(10214, "Filter Coverage to Test")),
648
650
  category: Categories.Test,
649
651
  icon: Codicon.filter,
650
652
  toggled: {
@@ -654,7 +656,7 @@ registerAction2(class FilterCoverageToTestInEditor extends Action2 {
654
656
  menu: [
655
657
  {
656
658
  id: MenuId.EditorTitle,
657
- when: ( ContextKeyExpr.and(TestingContextKeys.isTestCoverageOpen, ( TestingContextKeys.coverageToolbarEnabled.notEqualsTo(true)), TestingContextKeys.hasPerTestCoverage)),
659
+ when: ( ContextKeyExpr.and(TestingContextKeys.isTestCoverageOpen, ( TestingContextKeys.coverageToolbarEnabled.notEqualsTo(true)), TestingContextKeys.hasPerTestCoverage, ( ActiveEditorContext.isEqualTo(TEXT_FILE_EDITOR_ID)))),
658
660
  group: 'navigation',
659
661
  },
660
662
  ]
@@ -75,11 +75,11 @@ function getLabelForItem(result, testId, commonPrefixLen) {
75
75
  }
76
76
  var labels;
77
77
  (function (labels) {
78
- labels.showingFilterFor = (label) => ( localize(10013, "Showing \"{0}\"", label));
79
- labels.clickToChangeFiltering = ( localize(10014, 'Click to view coverage for a single test'));
80
- labels.percentCoverage = (percent, precision) => ( localize(10015, '{0} Coverage', displayPercent(percent, precision)));
81
- labels.allTests = ( localize(10016, 'All tests'));
82
- labels.pickShowCoverage = ( localize(10017, 'Pick a test to show coverage for'));
78
+ labels.showingFilterFor = (label) => ( localize(10215, "Showing \"{0}\"", label));
79
+ labels.clickToChangeFiltering = ( localize(10216, 'Click to view coverage for a single test'));
80
+ labels.percentCoverage = (percent, precision) => ( localize(10217, '{0} Coverage', displayPercent(percent, precision)));
81
+ labels.allTests = ( localize(10218, 'All tests'));
82
+ labels.pickShowCoverage = ( localize(10219, '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(10018, 'View icon of the test view.')));
11
- const testingResultsIcon = registerIcon('test-results-icon', Codicon.checklist, ( localize(10019, 'Icons for test results.')));
12
- const testingRunIcon = registerIcon('testing-run-icon', Codicon.run, ( localize(10020, 'Icon of the "run test" action.')));
13
- const testingRerunIcon = registerIcon('testing-rerun-icon', Codicon.debugRerun, ( localize(10021, 'Icon of the "rerun tests" action.')));
14
- const testingRunAllIcon = registerIcon('testing-run-all-icon', Codicon.runAll, ( localize(10022, 'Icon of the "run all tests" action.')));
15
- const testingDebugAllIcon = registerIcon('testing-debug-all-icon', Codicon.debugAltSmall, ( localize(10023, 'Icon of the "debug all tests" action.')));
16
- const testingDebugIcon = registerIcon('testing-debug-icon', Codicon.debugAltSmall, ( localize(10024, 'Icon of the "debug test" action.')));
17
- const testingCoverageIcon = registerIcon('testing-coverage-icon', Codicon.runCoverage, ( localize(10025, 'Icon of the "run test with coverage" action.')));
18
- const testingCoverageAllIcon = registerIcon('testing-coverage-all-icon', Codicon.runAllCoverage, ( localize(10026, 'Icon of the "run all tests with coverage" action.')));
19
- const testingCancelIcon = registerIcon('testing-cancel-icon', Codicon.debugStop, ( localize(10027, 'Icon to cancel ongoing test runs.')));
20
- const testingFilterIcon = registerIcon('testing-filter', Codicon.filter, ( localize(10028, 'Icon for the \'Filter\' action in the testing view.')));
21
- const testingHiddenIcon = registerIcon('testing-hidden', Codicon.eyeClosed, ( localize(10029, 'Icon shown beside hidden tests, when they\'ve been shown.')));
22
- registerIcon('testing-show-as-list-icon', Codicon.listTree, ( localize(10030, 'Icon shown when the test explorer is disabled as a tree.')));
23
- registerIcon('testing-show-as-list-icon', Codicon.listFlat, ( localize(10031, 'Icon shown when the test explorer is disabled as a list.')));
24
- const testingUpdateProfiles = registerIcon('testing-update-profiles', Codicon.gear, ( localize(10032, 'Icon shown to update test profiles.')));
25
- const testingRefreshTests = registerIcon('testing-refresh-tests', Codicon.refresh, ( localize(10033, 'Icon on the button to refresh tests.')));
26
- const testingTurnContinuousRunOn = registerIcon('testing-turn-continuous-run-on', Codicon.eye, ( localize(10034, 'Icon to turn continuous test runs on.')));
27
- const testingTurnContinuousRunOff = registerIcon('testing-turn-continuous-run-off', Codicon.eyeClosed, ( localize(10035, 'Icon to turn continuous test runs off.')));
28
- const testingContinuousIsOn = registerIcon('testing-continuous-is-on', Codicon.eye, ( localize(10036, 'Icon when continuous run is on for a test ite,.')));
29
- const testingCancelRefreshTests = registerIcon('testing-cancel-refresh-tests', Codicon.stop, ( localize(10037, 'Icon on the button to cancel refreshing tests.')));
30
- const testingCoverageReport = registerIcon('testing-coverage', Codicon.coverage, ( localize(10038, 'Icon representing test coverage')));
31
- const testingWasCovered = registerIcon('testing-was-covered', Codicon.check, ( localize(10039, 'Icon representing that an element was covered')));
32
- const testingCoverageMissingBranch = registerIcon('testing-missing-branch', Codicon.question, ( localize(10040, 'Icon representing a uncovered block without a range')));
10
+ const testingViewIcon = registerIcon('test-view-icon', Codicon.beaker, ( localize(10220, 'View icon of the test view.')));
11
+ const testingResultsIcon = registerIcon('test-results-icon', Codicon.checklist, ( localize(10221, 'Icons for test results.')));
12
+ const testingRunIcon = registerIcon('testing-run-icon', Codicon.run, ( localize(10222, 'Icon of the "run test" action.')));
13
+ const testingRerunIcon = registerIcon('testing-rerun-icon', Codicon.debugRerun, ( localize(10223, 'Icon of the "rerun tests" action.')));
14
+ const testingRunAllIcon = registerIcon('testing-run-all-icon', Codicon.runAll, ( localize(10224, 'Icon of the "run all tests" action.')));
15
+ const testingDebugAllIcon = registerIcon('testing-debug-all-icon', Codicon.debugAltSmall, ( localize(10225, 'Icon of the "debug all tests" action.')));
16
+ const testingDebugIcon = registerIcon('testing-debug-icon', Codicon.debugAltSmall, ( localize(10226, 'Icon of the "debug test" action.')));
17
+ const testingCoverageIcon = registerIcon('testing-coverage-icon', Codicon.runCoverage, ( localize(10227, 'Icon of the "run test with coverage" action.')));
18
+ const testingCoverageAllIcon = registerIcon('testing-coverage-all-icon', Codicon.runAllCoverage, ( localize(10228, 'Icon of the "run all tests with coverage" action.')));
19
+ const testingCancelIcon = registerIcon('testing-cancel-icon', Codicon.debugStop, ( localize(10229, 'Icon to cancel ongoing test runs.')));
20
+ const testingFilterIcon = registerIcon('testing-filter', Codicon.filter, ( localize(10230, 'Icon for the \'Filter\' action in the testing view.')));
21
+ const testingHiddenIcon = registerIcon('testing-hidden', Codicon.eyeClosed, ( localize(10231, 'Icon shown beside hidden tests, when they\'ve been shown.')));
22
+ registerIcon('testing-show-as-list-icon', Codicon.listTree, ( localize(10232, 'Icon shown when the test explorer is disabled as a tree.')));
23
+ registerIcon('testing-show-as-list-icon', Codicon.listFlat, ( localize(10233, 'Icon shown when the test explorer is disabled as a list.')));
24
+ const testingUpdateProfiles = registerIcon('testing-update-profiles', Codicon.gear, ( localize(10234, 'Icon shown to update test profiles.')));
25
+ const testingRefreshTests = registerIcon('testing-refresh-tests', Codicon.refresh, ( localize(10235, 'Icon on the button to refresh tests.')));
26
+ const testingTurnContinuousRunOn = registerIcon('testing-turn-continuous-run-on', Codicon.eye, ( localize(10236, 'Icon to turn continuous test runs on.')));
27
+ const testingTurnContinuousRunOff = registerIcon('testing-turn-continuous-run-off', Codicon.eyeClosed, ( localize(10237, 'Icon to turn continuous test runs off.')));
28
+ const testingContinuousIsOn = registerIcon('testing-continuous-is-on', Codicon.eye, ( localize(10238, 'Icon when continuous run is on for a test ite,.')));
29
+ const testingCancelRefreshTests = registerIcon('testing-cancel-refresh-tests', Codicon.stop, ( localize(10239, 'Icon on the button to cancel refreshing tests.')));
30
+ const testingCoverageReport = registerIcon('testing-coverage', Codicon.coverage, ( localize(10240, 'Icon representing test coverage')));
31
+ const testingWasCovered = registerIcon('testing-was-covered', Codicon.check, ( localize(10241, 'Icon representing that an element was covered')));
32
+ const testingCoverageMissingBranch = registerIcon('testing-missing-branch', Codicon.question, ( localize(10242, 'Icon representing a uncovered block without a range')));
33
33
  const testingStatesToIcons = ( new Map([
34
- [TestResultState.Errored, registerIcon('testing-error-icon', Codicon.issues, ( localize(10041, 'Icon shown for tests that have an error.')))],
35
- [TestResultState.Failed, registerIcon('testing-failed-icon', Codicon.error, ( localize(10042, 'Icon shown for tests that failed.')))],
36
- [TestResultState.Passed, registerIcon('testing-passed-icon', Codicon.pass, ( localize(10043, 'Icon shown for tests that passed.')))],
37
- [TestResultState.Queued, registerIcon('testing-queued-icon', Codicon.history, ( localize(10044, 'Icon shown for tests that are queued.')))],
34
+ [TestResultState.Errored, registerIcon('testing-error-icon', Codicon.issues, ( localize(10243, 'Icon shown for tests that have an error.')))],
35
+ [TestResultState.Failed, registerIcon('testing-failed-icon', Codicon.error, ( localize(10244, 'Icon shown for tests that failed.')))],
36
+ [TestResultState.Passed, registerIcon('testing-passed-icon', Codicon.pass, ( localize(10245, 'Icon shown for tests that passed.')))],
37
+ [TestResultState.Queued, registerIcon('testing-queued-icon', Codicon.history, ( localize(10246, 'Icon shown for tests that are queued.')))],
38
38
  [TestResultState.Running, spinningLoading],
39
- [TestResultState.Skipped, registerIcon('testing-skipped-icon', Codicon.debugStepOver, ( localize(10045, 'Icon shown for tests that are skipped.')))],
40
- [TestResultState.Unset, registerIcon('testing-unset-icon', Codicon.circleOutline, ( localize(10046, 'Icon shown for tests that are in an unset state.')))],
39
+ [TestResultState.Skipped, registerIcon('testing-skipped-icon', Codicon.debugStepOver, ( localize(10247, 'Icon shown for tests that are skipped.')))],
40
+ [TestResultState.Unset, registerIcon('testing-unset-icon', Codicon.circleOutline, ( localize(10248, '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()) {
@@ -1,6 +1,6 @@
1
1
  import n from '@codingame/monaco-vscode-api/external/rollup-plugin-styles/dist/runtime/inject-css';
2
2
 
3
- var css = ".monaco-workbench{.codicon-testing-error-icon{color:var(--vscode-testing-iconErrored)}.codicon-testing-failed-icon{color:var(--vscode-testing-iconFailed)}.codicon-testing-passed-icon{color:var(--vscode-testing-iconPassed)}.codicon-testing-queued-icon{color:var(--vscode-testing-iconQueued)}.codicon-testing-skipped-icon{color:var(--vscode-testing-iconSkipped)}.codicon-testing-unset-icon{color:var(--vscode-testing-iconUnset)}}.test-explorer{display:flex;flex-direction:column}.test-explorer>.test-explorer-tree{flex-grow:1;height:0;position:relative}.test-coverage-list-item .name,.test-coverage-list-item-label,.test-explorer .test-item .label,.test-output-peek-tree .test-peek-item .name{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:0;.monaco-list.horizontal-scrolling &{overflow:visible;width:auto}}.test-explorer .test-item .label .codicon,.test-output-peek-tree .test-peek-item .name .codicon{font-size:1em;margin:0 .125em;transform:scale(1.25);vertical-align:middle}.test-explorer .test-item,.test-output-peek-tree .test-peek-item{align-items:center;display:flex}.test-output-peek-tree{border-left:1px solid var(--vscode-panelSection-border);color:var(--vscode-editor-foreground)}.test-explorer .monaco-list-row .codicon-testing-hidden,.test-explorer .monaco-list-row .monaco-action-bar,.test-output-peek-tree .monaco-list-row .monaco-action-bar{display:none;flex-shrink:0;margin-right:.8em}.test-explorer .monaco-list-row .monaco-action-bar .codicon-testing-continuous-is-on{background:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);border:1px solid var(--vscode-inputOption-activeBorder);border-radius:3px;color:var(--vscode-inputOption-activeForeground)}.test-explorer .monaco-list-row:not(.focused,:hover) .monaco-action-bar.testing-is-continuous-run .action-item{display:none}.test-explorer .monaco-list-row .monaco-action-bar.testing-is-continuous-run .action-item:last-child{display:block!important}.test-explorer .monaco-list-row .monaco-action-bar.testing-is-continuous-run,.test-explorer .monaco-list-row.focused .monaco-action-bar,.test-explorer .monaco-list-row:hover .monaco-action-bar,.test-output-peek-tree .monaco-list-row.focused .monaco-action-bar,.test-output-peek-tree .monaco-list-row:hover .monaco-action-bar{display:initial}.test-explorer .monaco-list-row .test-is-hidden .codicon-testing-hidden{display:block;margin-right:9px}.test-explorer .monaco-list-row.focused .codicon-testing-hidden,.test-explorer .monaco-list-row:hover .codicon-testing-hidden{display:none}.test-explorer .monaco-list-row .error{background:var(--vscode-inputValidation-errorBackground);border-radius:2px;font-size:12px;height:17px;line-height:17px;margin:3px 12px 3px 3px;outline:1px solid var(--vscode-inputValidation-errorBorder);overflow:hidden;padding:2px 4px}.test-explorer .monaco-list-row .error p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-explorer .monaco-list-row .error a{color:var(--vscode-textLink-foreground)}.test-explorer .monaco-list-row .error a:hover{color:var(--vscode-textLink-activeForeground)}.test-explorer .computed-state,.test-output-peek-tree .computed-state{margin-right:.25em}.test-explorer .test-is-hidden{opacity:.8}.test-explorer .result-summary-container{box-sizing:border-box;font-variant-numeric:tabular-nums;height:27px;padding:0 12px 8px}.test-explorer .result-summary{align-items:center;display:flex;gap:2px}.test-explorer .result-summary>span{flex-grow:1}.monaco-workbench .test-explorer .monaco-action-bar .action-item>.action-label{margin-right:2px;padding:1px 2px}.monaco-workbench .part>.title>.title-actions .action-label.codicon-testing-autorun:after{border-radius:100%;content:\"\";display:none;height:.4em;left:50%;margin:.1em 0 0 .05em;position:absolute;top:50%;width:.4em}.monaco-workbench .part>.title>.title-actions .action-label.codicon-testing-autorun.checked:after{display:block}.codicon-testing-loading-icon:before{animation:codicon-spin 1.25s steps(30) infinite}.testing-no-test-placeholder{display:none;left:0;padding:0 20px;position:absolute;right:0;top:0;z-index:1}.testing-no-test-placeholder.visible{display:block}.monaco-editor .zone-widget.test-output-peek .zone-widget-container.peekview-widget{border-bottom-width:2px;border-top-width:2px}.monaco-editor .zone-widget.test-output-peek .type-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .zone-widget.test-output-peek .monaco-editor .inputarea.ime-input,.monaco-editor .zone-widget.test-output-peek .monaco-editor .monaco-editor-background,.monaco-editor .zone-widget.test-output-peek .test-output-peek-message-container{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .zone-widget.test-output-peek .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.test-output-peek-message-container{overflow:hidden}.test-output-peek-message-container .floating-click-widget{bottom:10px;position:absolute;right:20px}.test-output-peek-message-container,.test-output-peek-tree{height:100%}.test-output-peek-message-container .preview-text{line-height:normal;padding:8px 12px 8px 20px;white-space:normal}.test-output-peek-message-container .preview-text p:first-child{margin-top:0}.test-output-peek-message-container .preview-text p:last-child{margin-bottom:0}.test-output-peek-message-container .preview-text a{cursor:pointer}.testing-followup-action{align-items:center;display:flex;gap:14px;line-height:25px;overflow:hidden;pointer-events:none;&.animated{animation:fadeIn .15s ease-out}>a{align-items:center;cursor:pointer;display:flex;flex-shrink:0;gap:4px;pointer-events:auto;width:fit-content;&,.codicon{color:var(--vscode-textLink-foreground)}&:hover{color:var(--vscode-textLink-activeForeground)}&[aria-disabled=true]{color:inherit;cursor:default;.codicon{color:inherit}}}}.test-output-call-stack{height:100%}.monaco-action-bar.testing-filter-action-bar{flex-shrink:0;height:auto;margin:4px 12px}.testing-filter-action-item{align-items:center;display:flex!important;flex-grow:1;max-width:400px}.testing-filter-action-item>.monaco-action-bar .testing-filter-button.checked{background-color:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);color:var(--vscode-inputOption-activeForeground)}.testing-filter-action-bar .testing-filter-action-item{max-width:none}.testing-filter-action-item .testing-filter-wrapper{flex-grow:1}.testing-filter-action-item .testing-filter-wrapper input{padding-right:30px!important}.testing-filter-action-item .monaco-action-bar{align-items:center;bottom:0;display:flex;position:absolute;right:3px;top:0}.monaco-editor .testing-run-glyph{cursor:pointer}.testing-diff-title-widget{display:inline-block;font-size:12px;line-height:19px;overflow:hidden;padding-right:6px;text-overflow:ellipsis;white-space:nowrap}.test-message-inline-content{font-family:var(--testMessageDecorationFontFamily);font-size:var(--testMessageDecorationFontSize)}.test-message-inline-content-clickable{cursor:pointer}.test-label-description{font-size:.9em;margin-left:.5em;opacity:.7;white-space:pre}.testing-diff-lens-widget{color:var(--vscode-editorCodeLens-foreground)}.test-message-inline-content{margin-left:4em;+.test-message-inline-content{margin-left:0;&:before{display:none}}}.test-message-inline-content-s1{color:var(--vscode-testing-message-info-decorationForeground)!important}.monaco-workbench .test-error-content-widget{z-index:0}.monaco-workbench .test-error-content-widget .inner{align-items:center;background:var(--vscode-testing-message-error-badgeBackground);border:1px solid var(--vscode-testing-message-error-badgeBorder);border-bottom-right-radius:2px;border-left:none;border-top-right-radius:2px;box-sizing:border-box;color:var(--vscode-testing-message-error-badgeForeground)!important;cursor:pointer;display:flex!important;font-size:11px;gap:3px;margin-left:20px;padding-right:3px;position:relative;user-select:none;&.is-current{display:none!important}.codicon.codicon-testing-failed-icon{color:currentColor!important;font-size:11px;margin:1px 0 0 -4px;z-index:1}.content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrow svg{fill:var(--vscode-testing-message-error-badgeBackground);stroke-width:.71px;stroke:var(--vscode-testing-message-error-badgeBorder);height:calc(100% + 2px);left:-10px;position:absolute;top:-1px;width:15px;z-index:-1}}.monaco-editor .testing-inline-message-severity-0{background:var(--vscode-testing-message-error-lineBackground)!important}.monaco-editor .testing-inline-message-severity-1{background:var(--vscode-testing-message-info-lineBackground)!important}.coverage-view-is-filtered>.pane-header>.actions{display:block!important}.test-coverage-bars,.test-coverage-list-item{align-items:center;display:flex}.test-coverage-bars{font-size:11px;gap:4px;margin-right:.8em}.test-coverage-bars .bar{border:1px solid;border-radius:2px;height:8px;overflow:hidden;position:relative}.test-coverage-bars .bar:before{background:currentColor;content:\"\";height:100%;opacity:.7;position:absolute;width:var(--test-bar-width)}.test-coverage-list-item .icon{margin-right:.2em}.test-coverage-list-item.not-covered .name{opacity:.7}.coverage-summary-widget{background:var(--vscode-editor-background);box-shadow:var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;color:var(--vscode-editor-foreground);left:0;width:100%;z-index:1;>div{align-items:center;display:flex;height:25px;padding:0 22px}.btn{margin:0 4px;padding:0 4px;position:relative;&:first-child{margin-left:0}&:last-child{margin-right:0}}.action-label,.stat{margin:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-label{align-items:center;display:flex;font-size:13px;padding:0 4px;.codicon{margin-right:4px}}}.test-coverage-tree-per-test-switcher{background-color:var(--vscode-dropdown-background);border:1px solid var(--vscode-dropdown-border);color:var(--vscode-dropdown-foreground);cursor:pointer;display:flex;line-height:20px;margin:3px 22px 3px 0;max-width:calc(100% - 44px);padding:0 6px;width:fit-content;span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}&:after{content:\"\";content:var(--vscode-icon-chevron-right-content);font-family:var(--vscode-icon-chevron-right-font-family);font-size:18px;padding-left:22px}}.explorer-item-with-test-coverage{display:flex}.explorer-item-with-test-coverage .explorer-item{flex-grow:1}.explorer-item-with-test-coverage .monaco-icon-label:after{margin-right:12px}.coverage-deco-gutter{z-index:0}.coverage-deco-gutter:before{content:\"\";inset:0;position:absolute;z-index:-1}.coverage-deco-gutter.coverage-deco-hit:before{background:var(--vscode-testing-coveredGutterBackground);border-color:var(--vscode-testing-coveredGutterBackground)}.coverage-deco-gutter.coverage-deco-miss:before{background:var(--vscode-testing-uncoveredGutterBackground);border-color:var(--vscode-testing-uncoveredGutterBackground)}.hc-black .coverage-deco-gutter:before,.hc-light .coverage-deco-gutter:before{background:none;border-style:solid;border-width:3px 0 3px 5px}.coverage-deco-gutter.coverage-deco-miss.coverage-deco-hit:before{background-color:transparent;background-image:linear-gradient(45deg,var(--vscode-testing-coveredGutterBackground) 25%,var(--vscode-testing-uncoveredGutterBackground) 25%,var(--vscode-testing-uncoveredGutterBackground) 50%,var(--vscode-testing-coveredGutterBackground) 50%,75%,var(--vscode-testing-uncoveredGutterBackground) 75%,var(--vscode-testing-uncoveredGutterBackground) 100%);background-size:6px 6px}.coverage-deco-inline{outline-offset:-1px}.monaco-editor{.coverage-deco-inline.coverage-deco-hit{background:var(--vscode-testing-coveredBackground);outline:1px solid var(--vscode-testing-coveredBorder)}.coverage-deco-inline.coverage-deco-miss{background:var(--vscode-testing-uncoveredBackground);outline:1px solid var(--vscode-testing-uncoveredBorder)}.hc-black .coverage-deco-inline.coverage-deco-hit,.hc-light .coverage-deco-inline.coverage-deco-hit{outline-style:dashed}.coverage-deco-branch-miss-indicator{display:inline-block;font:inherit!important;height:100%;position:relative;width:4ch}.coverage-deco-branch-miss-indicator:before{border:1px solid;border-radius:2px;font:normal normal normal calc(var(--vscode-testing-coverage-lineHeight)/2)/1 codicon;left:50%;padding:calc(var(--vscode-testing-coverage-lineHeight)/10);position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.coverage-deco-inline-count{background:var(--vscode-testing-coverCountBadgeBackground);border-bottom-left-radius:2px;border-top-left-radius:2px;color:var(--vscode-testing-coverCountBadgeForeground);font-size:.7em;margin:0 .7em 0 .4em;padding:.2em 0 .2em .2em;position:relative;&:after{background-image:linear-gradient(to bottom left,transparent 50%,var(--vscode-testing-coverCountBadgeBackground) 0),linear-gradient(to bottom right,var(--vscode-testing-coverCountBadgeBackground) 50%,transparent 0);background-position:top,bottom;background-repeat:no-repeat;background-size:100% 50%;bottom:0;content:\"\";display:block;left:100%;position:absolute;top:0;width:.5em}}}";
3
+ var css = ".monaco-workbench{.codicon-testing-error-icon{color:var(--vscode-testing-iconErrored)}.codicon-testing-failed-icon{color:var(--vscode-testing-iconFailed)}.codicon-testing-passed-icon{color:var(--vscode-testing-iconPassed)}.codicon-testing-queued-icon{color:var(--vscode-testing-iconQueued)}.codicon-testing-skipped-icon{color:var(--vscode-testing-iconSkipped)}.codicon-testing-unset-icon{color:var(--vscode-testing-iconUnset)}}.test-explorer{display:flex;flex-direction:column}.test-explorer>.test-explorer-tree{flex-grow:1;height:0;position:relative}.testing-stdtree-container{align-items:center;display:flex;.label{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:0;.codicon{font-size:1em;margin:0 .125em;transform:scale(1.25);vertical-align:middle}.monaco-list.horizontal-scrolling &{overflow:visible;width:auto}}.monaco-action-bar{display:none;flex-shrink:0;margin-right:.8em}&.focused,&:hover{.monaco-action-bar{display:initial}}}.test-output-peek-tree{border-left:1px solid var(--vscode-panelSection-border);color:var(--vscode-editor-foreground)}.test-explorer .monaco-list-row .codicon-testing-hidden{display:none;flex-shrink:0;margin-right:.8em}.test-explorer .monaco-list-row .monaco-action-bar.testing-is-continuous-run{display:initial}.test-explorer .monaco-list-row .monaco-action-bar .codicon-testing-continuous-is-on{background:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);border:1px solid var(--vscode-inputOption-activeBorder);border-radius:3px;color:var(--vscode-inputOption-activeForeground)}.test-explorer .monaco-list-row:not(.focused,:hover) .monaco-action-bar.testing-is-continuous-run .action-item{display:none}.test-explorer .monaco-list-row .monaco-action-bar.testing-is-continuous-run .action-item:last-child{display:block!important}.test-explorer .monaco-list-row .test-is-hidden .codicon-testing-hidden{display:block;margin-right:9px}.test-explorer .monaco-list-row.focused .codicon-testing-hidden,.test-explorer .monaco-list-row:hover .codicon-testing-hidden{display:none}.test-explorer .monaco-list-row .error{background:var(--vscode-inputValidation-errorBackground);border-radius:2px;font-size:12px;height:17px;line-height:17px;margin:3px 12px 3px 3px;outline:1px solid var(--vscode-inputValidation-errorBorder);overflow:hidden;padding:2px 4px}.test-explorer .monaco-list-row .error p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-explorer .monaco-list-row .error a{color:var(--vscode-textLink-foreground)}.test-explorer .monaco-list-row .error a:hover{color:var(--vscode-textLink-activeForeground)}.test-explorer .computed-state,.test-output-peek-tree .computed-state{margin-right:.25em}.test-explorer .test-is-hidden{opacity:.8}.test-explorer .result-summary-container{box-sizing:border-box;font-variant-numeric:tabular-nums;height:27px;padding:0 12px 8px}.test-explorer .result-summary{align-items:center;display:flex;gap:2px}.test-explorer .result-summary>span{flex-grow:1}.monaco-workbench .test-explorer .monaco-action-bar .action-item>.action-label{margin-right:2px;padding:1px 2px}.monaco-workbench .part>.title>.title-actions .action-label.codicon-testing-autorun:after{border-radius:100%;content:\"\";display:none;height:.4em;left:50%;margin:.1em 0 0 .05em;position:absolute;top:50%;width:.4em}.monaco-workbench .part>.title>.title-actions .action-label.codicon-testing-autorun.checked:after{display:block}.codicon-testing-loading-icon:before{animation:codicon-spin 1.25s steps(30) infinite}.testing-no-test-placeholder{display:none;left:0;padding:0 20px;position:absolute;right:0;top:0;z-index:1}.testing-no-test-placeholder.visible{display:block}.monaco-editor .zone-widget.test-output-peek .zone-widget-container.peekview-widget{border-bottom-width:2px;border-top-width:2px}.monaco-editor .zone-widget.test-output-peek .type-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .zone-widget.test-output-peek .monaco-editor .inputarea.ime-input,.monaco-editor .zone-widget.test-output-peek .monaco-editor .monaco-editor-background,.monaco-editor .zone-widget.test-output-peek .test-output-peek-message-container{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .zone-widget.test-output-peek .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.test-output-peek-message-container{overflow:hidden}.test-output-peek-message-container .floating-click-widget{bottom:10px;position:absolute;right:20px}.test-output-peek-message-container,.test-output-peek-tree{height:100%}.test-output-peek-message-container .preview-text{line-height:normal;padding:8px 12px 8px 20px;white-space:normal}.test-output-peek-message-container .preview-text p:first-child{margin-top:0}.test-output-peek-message-container .preview-text p:last-child{margin-bottom:0}.test-output-peek-message-container .preview-text a{cursor:pointer}.testing-followup-action{align-items:center;display:flex;gap:14px;line-height:25px;overflow:hidden;pointer-events:none;&.animated{animation:fadeIn .15s ease-out}>a{align-items:center;cursor:pointer;display:flex;flex-shrink:0;gap:4px;pointer-events:auto;width:fit-content;&,.codicon{color:var(--vscode-textLink-foreground)}&:hover{color:var(--vscode-textLink-activeForeground)}&[aria-disabled=true]{color:inherit;cursor:default;.codicon{color:inherit}}}}.test-output-call-stack{height:100%}.monaco-action-bar.testing-filter-action-bar{flex-shrink:0;height:auto;margin:4px 12px}.testing-filter-action-item{align-items:center;display:flex!important;flex-grow:1;max-width:400px}.testing-filter-action-item>.monaco-action-bar .testing-filter-button.checked{background-color:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);color:var(--vscode-inputOption-activeForeground)}.testing-filter-action-bar .testing-filter-action-item{max-width:none}.testing-filter-action-item .testing-filter-wrapper{flex-grow:1}.testing-filter-action-item .testing-filter-wrapper input{padding-right:30px!important}.testing-filter-action-item .monaco-action-bar{align-items:center;bottom:0;display:flex;position:absolute;right:3px;top:0}.monaco-editor .testing-run-glyph{cursor:pointer}.testing-diff-title-widget{display:inline-block;font-size:12px;line-height:19px;overflow:hidden;padding-right:6px;text-overflow:ellipsis;white-space:nowrap}.test-message-inline-content{font-family:var(--testMessageDecorationFontFamily);font-size:var(--testMessageDecorationFontSize)}.test-message-inline-content-clickable{cursor:pointer}.test-label-description{font-size:.9em;margin-left:.5em;opacity:.7;white-space:pre}.testing-diff-lens-widget{color:var(--vscode-editorCodeLens-foreground)}.test-message-inline-content{margin-left:4em;+.test-message-inline-content{margin-left:0;&:before{display:none}}}.test-message-inline-content-s1{color:var(--vscode-testing-message-info-decorationForeground)!important}.monaco-workbench .test-error-content-widget{z-index:0}.monaco-workbench .test-error-content-widget .inner{align-items:center;border:1px solid var(--vscode-testing-message-error-badgeBorder);border-bottom-right-radius:2px;border-left:none;border-top-right-radius:2px;box-sizing:border-box;color:var(--vscode-testing-message-error-badgeForeground)!important;cursor:pointer;display:flex!important;font-size:11px;gap:3px;margin-left:20px;padding-right:3px;position:relative;user-select:none;&.is-current{display:none!important}.codicon.codicon-testing-failed-icon{color:currentColor!important;font-size:11px;margin:1px 0 0 -4px;z-index:1}.content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrow svg{stroke-width:.71px;stroke:var(--vscode-testing-message-error-badgeBorder);height:calc(100% + 2px);left:-10px;position:absolute;top:-1px;width:15px;z-index:-1}}.monaco-editor .testing-inline-message-severity-0{background:var(--vscode-testing-message-error-lineBackground)!important}.monaco-editor .testing-inline-message-severity-1{background:var(--vscode-testing-message-info-lineBackground)!important}.test-coverage-bars{align-items:center;display:flex;font-size:11px;gap:4px;margin-right:12px}.test-coverage-bars .bar{border:1px solid;border-radius:2px;height:8px;overflow:hidden;position:relative}.test-coverage-bars .bar:before{background:currentColor;content:\"\";height:100%;opacity:.7;position:absolute;width:var(--test-bar-width)}.test-coverage-list-item .icon{margin-right:.2em}.test-coverage-list-item.not-covered .name{opacity:.7}.coverage-summary-widget{background:var(--vscode-editor-background);box-shadow:var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;color:var(--vscode-editor-foreground);left:0;width:100%;z-index:1;>div{align-items:center;display:flex;height:25px;padding:0 22px}.btn{margin:0 4px;padding:0 4px;position:relative;&:first-child{margin-left:0}&:last-child{margin-right:0}}.action-label,.stat{margin:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-label{align-items:center;display:flex;font-size:13px;padding:0 4px;.codicon{margin-right:4px}}}.test-coverage-tree-per-test-switcher{background-color:var(--vscode-dropdown-background);border:1px solid var(--vscode-dropdown-border);color:var(--vscode-dropdown-foreground);cursor:pointer;display:flex;line-height:20px;margin:3px 22px 3px 0;max-width:calc(100% - 44px);padding:0 6px;width:fit-content;span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}&:after{content:\"\";content:var(--vscode-icon-chevron-right-content);font-family:var(--vscode-icon-chevron-right-font-family);font-size:18px;padding-left:22px}}.explorer-item-with-test-coverage{display:flex}.explorer-item-with-test-coverage .explorer-item{flex-grow:1}.explorer-item-with-test-coverage .monaco-icon-label:after{margin-right:12px}.coverage-deco-gutter{z-index:0}.coverage-deco-gutter:before{content:\"\";inset:0;position:absolute;z-index:-1}.coverage-deco-gutter.coverage-deco-hit:before{background:var(--vscode-testing-coveredGutterBackground);border-color:var(--vscode-testing-coveredGutterBackground)}.coverage-deco-gutter.coverage-deco-miss:before{background:var(--vscode-testing-uncoveredGutterBackground);border-color:var(--vscode-testing-uncoveredGutterBackground)}.hc-black .coverage-deco-gutter:before,.hc-light .coverage-deco-gutter:before{background:none;border-style:solid;border-width:3px 0 3px 5px}.coverage-deco-gutter.coverage-deco-miss.coverage-deco-hit:before{background-color:transparent;background-image:linear-gradient(45deg,var(--vscode-testing-coveredGutterBackground) 25%,var(--vscode-testing-uncoveredGutterBackground) 25%,var(--vscode-testing-uncoveredGutterBackground) 50%,var(--vscode-testing-coveredGutterBackground) 50%,75%,var(--vscode-testing-uncoveredGutterBackground) 75%,var(--vscode-testing-uncoveredGutterBackground) 100%);background-size:6px 6px}.coverage-deco-inline{outline-offset:-1px}.monaco-editor{.coverage-deco-inline.coverage-deco-hit{background:var(--vscode-testing-coveredBackground);outline:1px solid var(--vscode-testing-coveredBorder)}.coverage-deco-inline.coverage-deco-miss{background:var(--vscode-testing-uncoveredBackground);outline:1px solid var(--vscode-testing-uncoveredBorder)}.hc-black .coverage-deco-inline.coverage-deco-hit,.hc-light .coverage-deco-inline.coverage-deco-hit{outline-style:dashed}.coverage-deco-branch-miss-indicator{display:inline-block;font:inherit!important;height:100%;position:relative;width:4ch}.coverage-deco-branch-miss-indicator:before{border:1px solid;border-radius:2px;font:normal normal normal calc(var(--vscode-testing-coverage-lineHeight)/2)/1 codicon;left:50%;padding:calc(var(--vscode-testing-coverage-lineHeight)/10);position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.coverage-deco-inline-count{background:var(--vscode-testing-coverCountBadgeBackground);border-bottom-left-radius:2px;border-top-left-radius:2px;color:var(--vscode-testing-coverCountBadgeForeground);font-size:.7em;margin:0 .7em 0 .4em;padding:.2em 0 .2em .2em;position:relative;&:after{background-image:linear-gradient(to bottom left,transparent 50%,var(--vscode-testing-coverCountBadgeBackground) 0),linear-gradient(to bottom right,var(--vscode-testing-coverCountBadgeBackground) 50%,transparent 0);background-position:top,bottom;background-repeat:no-repeat;background-size:100% 50%;bottom:0;content:\"\";display:block;left:100%;position:absolute;top:0;width:.5em}}}";
4
4
  n(css,{});
5
5
 
6
6
  export { css, css as default };
@@ -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-a4683c2b-a0d2-5112-96ba-eedc605346d2-common/vscode/vs/workbench/contrib/files/browser/explorerFileContrib";
6
+ import { IExplorerFileContribution } from "@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-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 {
@@ -17,7 +17,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
17
17
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
18
18
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
19
19
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
20
- import { ExplorerExtensions } from '@codingame/monaco-vscode-a4683c2b-a0d2-5112-96ba-eedc605346d2-common/vscode/vs/workbench/contrib/files/browser/explorerFileContrib';
20
+ import { ExplorerExtensions } from '@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-common/vscode/vs/workbench/contrib/files/browser/explorerFileContrib';
21
21
  import { calculateDisplayedStat, displayPercent, percent, getCoverageColor } from './codeCoverageDisplayUtils.js';
22
22
  import { TestingConfigKeys, getTestingConfiguration, observeTestingConfiguration } from '../common/configuration.js';
23
23
  import { ITestCoverageService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testCoverageService.service';
@@ -130,21 +130,21 @@ const renderBar = (bar, pct, isZero, thresholds) => {
130
130
  };
131
131
  const nf = new Intl.NumberFormat();
132
132
  const stmtCoverageText = (coverage) => ( localize(
133
- 10047,
133
+ 10249,
134
134
  '{0}/{1} statements covered ({2})',
135
135
  nf.format(coverage.statement.covered),
136
136
  nf.format(coverage.statement.total),
137
137
  displayPercent(percent(coverage.statement))
138
138
  ));
139
139
  const fnCoverageText = (coverage) => coverage.declaration && ( localize(
140
- 10048,
140
+ 10250,
141
141
  '{0}/{1} functions covered ({2})',
142
142
  nf.format(coverage.declaration.covered),
143
143
  nf.format(coverage.declaration.total),
144
144
  displayPercent(percent(coverage.declaration))
145
145
  ));
146
146
  const branchCoverageText = (coverage) => coverage.branch && ( localize(
147
- 10049,
147
+ 10251,
148
148
  '{0}/{1} branches covered ({2})',
149
149
  nf.format(coverage.branch.covered),
150
150
  nf.format(coverage.branch.total),