@opensumi/ide-testing 2.21.13 → 2.22.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 (109) hide show
  1. package/lib/browser/components/testing.explorer.tree.d.ts.map +1 -1
  2. package/lib/browser/components/testing.explorer.tree.js +7 -5
  3. package/lib/browser/components/testing.explorer.tree.js.map +1 -1
  4. package/lib/browser/components/testing.view.js +1 -1
  5. package/lib/browser/components/testing.view.js.map +1 -1
  6. package/lib/browser/icons/icons.d.ts +1 -0
  7. package/lib/browser/icons/icons.d.ts.map +1 -1
  8. package/lib/browser/icons/icons.js +15 -14
  9. package/lib/browser/icons/icons.js.map +1 -1
  10. package/lib/browser/index.js.map +1 -1
  11. package/lib/browser/outputPeek/test-output-peek.js +9 -9
  12. package/lib/browser/outputPeek/test-output-peek.js.map +1 -1
  13. package/lib/browser/outputPeek/test-peek-message.service.js.map +1 -1
  14. package/lib/browser/outputPeek/test-peek-opener.service.js +1 -1
  15. package/lib/browser/outputPeek/test-peek-opener.service.js.map +1 -1
  16. package/lib/browser/outputPeek/test-peek-widget.js +1 -1
  17. package/lib/browser/outputPeek/test-peek-widget.js.map +1 -1
  18. package/lib/browser/outputPeek/test-tree-container.js +2 -2
  19. package/lib/browser/outputPeek/test-tree-container.js.map +1 -1
  20. package/lib/browser/test-contextkey.service.js.map +1 -1
  21. package/lib/browser/test-decorations.js +19 -19
  22. package/lib/browser/test-decorations.js.map +1 -1
  23. package/lib/browser/test-profile.service.js.map +1 -1
  24. package/lib/browser/test-tree-view.model.d.ts +1 -0
  25. package/lib/browser/test-tree-view.model.d.ts.map +1 -1
  26. package/lib/browser/test-tree-view.model.js +13 -10
  27. package/lib/browser/test-tree-view.model.js.map +1 -1
  28. package/lib/browser/test.result.service.d.ts +1 -1
  29. package/lib/browser/test.result.service.d.ts.map +1 -1
  30. package/lib/browser/test.result.service.js +5 -5
  31. package/lib/browser/test.result.service.js.map +1 -1
  32. package/lib/browser/test.service.d.ts +4 -0
  33. package/lib/browser/test.service.d.ts.map +1 -1
  34. package/lib/browser/test.service.js +31 -4
  35. package/lib/browser/test.service.js.map +1 -1
  36. package/lib/browser/testing.contribution.d.ts.map +1 -1
  37. package/lib/browser/testing.contribution.js +21 -10
  38. package/lib/browser/testing.contribution.js.map +1 -1
  39. package/lib/common/commands.d.ts +1 -0
  40. package/lib/common/commands.d.ts.map +1 -1
  41. package/lib/common/commands.js +6 -1
  42. package/lib/common/commands.js.map +1 -1
  43. package/lib/common/constants.js +12 -12
  44. package/lib/common/constants.js.map +1 -1
  45. package/lib/common/getComputedState.d.ts +1 -1
  46. package/lib/common/getComputedState.d.ts.map +1 -1
  47. package/lib/common/getComputedState.js +1 -1
  48. package/lib/common/getComputedState.js.map +1 -1
  49. package/lib/common/index.d.ts +5 -0
  50. package/lib/common/index.d.ts.map +1 -1
  51. package/lib/common/index.js.map +1 -1
  52. package/lib/common/observableValue.d.ts +14 -0
  53. package/lib/common/observableValue.d.ts.map +1 -0
  54. package/lib/common/observableValue.js +23 -0
  55. package/lib/common/observableValue.js.map +1 -0
  56. package/lib/common/test-result.d.ts +2 -2
  57. package/lib/common/test-result.d.ts.map +1 -1
  58. package/lib/common/test-result.js +19 -19
  59. package/lib/common/test-result.js.map +1 -1
  60. package/lib/common/testCollection.d.ts +9 -8
  61. package/lib/common/testCollection.d.ts.map +1 -1
  62. package/lib/common/testCollection.js +27 -27
  63. package/lib/common/testCollection.js.map +1 -1
  64. package/lib/common/testId.js +21 -21
  65. package/lib/common/testId.js.map +1 -1
  66. package/lib/common/testingStates.js +11 -11
  67. package/lib/common/testingStates.js.map +1 -1
  68. package/lib/common/testingUri.d.ts +1 -1
  69. package/lib/common/testingUri.d.ts.map +1 -1
  70. package/lib/common/testingUri.js +16 -16
  71. package/lib/common/testingUri.js.map +1 -1
  72. package/package.json +14 -13
  73. package/src/browser/components/testing.explorer.tree.tsx +129 -0
  74. package/src/browser/components/testing.module.less +26 -0
  75. package/src/browser/components/testing.view.tsx +35 -0
  76. package/src/browser/icons/icons.less +31 -0
  77. package/src/browser/icons/icons.ts +31 -0
  78. package/src/browser/index.ts +51 -0
  79. package/src/browser/outputPeek/test-message-container.tsx +183 -0
  80. package/src/browser/outputPeek/test-output-peek.ts +282 -0
  81. package/src/browser/outputPeek/test-peek-message.service.ts +15 -0
  82. package/src/browser/outputPeek/test-peek-opener.service.ts +131 -0
  83. package/src/browser/outputPeek/test-peek-widget.less +86 -0
  84. package/src/browser/outputPeek/test-peek-widget.tsx +127 -0
  85. package/src/browser/outputPeek/test-tree-container.tsx +171 -0
  86. package/src/browser/test-contextkey.service.ts +24 -0
  87. package/src/browser/test-decorations.ts +567 -0
  88. package/src/browser/test-profile.service.ts +66 -0
  89. package/src/browser/test-tree-view.model.ts +304 -0
  90. package/src/browser/test.result.service.ts +193 -0
  91. package/src/browser/test.service.ts +190 -0
  92. package/src/browser/testing.contribution.ts +471 -0
  93. package/src/browser/theme.less +6 -0
  94. package/src/common/commands.ts +78 -0
  95. package/src/common/constants.ts +57 -0
  96. package/src/common/contextKeys.ts +0 -0
  97. package/src/common/getComputedState.ts +136 -0
  98. package/src/common/index.ts +55 -0
  99. package/src/common/observableValue.ts +27 -0
  100. package/src/common/test-profile.ts +25 -0
  101. package/src/common/test-result.ts +328 -0
  102. package/src/common/testCollection.ts +680 -0
  103. package/src/common/testId.ts +191 -0
  104. package/src/common/testing-view.ts +28 -0
  105. package/src/common/testingPeekOpener.ts +31 -0
  106. package/src/common/testingStates.ts +92 -0
  107. package/src/common/testingUri.ts +101 -0
  108. package/src/common/tree-view.model.ts +41 -0
  109. package/src/index.ts +1 -0
@@ -9,13 +9,6 @@ exports.TestId = void 0;
9
9
  * The test ID is a stringifiable client that
10
10
  */
11
11
  class TestId {
12
- constructor(path, viewEnd = path.length) {
13
- this.path = path;
14
- this.viewEnd = viewEnd;
15
- if (path.length === 0 || viewEnd < 1) {
16
- throw new Error('cannot create test with empty path');
17
- }
18
- }
19
12
  /**
20
13
  * Creates a test ID from an ext host test item.
21
14
  */
@@ -34,13 +27,13 @@ class TestId {
34
27
  * Cheaply ets whether the ID refers to the root .
35
28
  */
36
29
  static isRoot(idString) {
37
- return !idString.includes("\0" /* Delimiter */);
30
+ return !idString.includes("\0" /* TestIdPathParts.Delimiter */);
38
31
  }
39
32
  /**
40
33
  * Creates a test ID from a serialized TestId instance.
41
34
  */
42
35
  static fromString(idString) {
43
- return new TestId(idString.split("\0" /* Delimiter */));
36
+ return new TestId(idString.split("\0" /* TestIdPathParts.Delimiter */));
44
37
  }
45
38
  /**
46
39
  * Gets the ID resulting from adding b to the base ID.
@@ -52,22 +45,29 @@ class TestId {
52
45
  * Gets the string ID resulting from adding b to the base ID.
53
46
  */
54
47
  static joinToString(base, b) {
55
- return base.toString() + "\0" /* Delimiter */ + b;
48
+ return base.toString() + "\0" /* TestIdPathParts.Delimiter */ + b;
56
49
  }
57
50
  /**
58
51
  * Compares the position of the two ID strings.
59
52
  */
60
53
  static compare(a, b) {
61
54
  if (a === b) {
62
- return 0 /* IsSame */;
55
+ return 0 /* TestPosition.IsSame */;
63
56
  }
64
- if (b.startsWith(a + "\0" /* Delimiter */)) {
65
- return 2 /* IsChild */;
57
+ if (b.startsWith(a + "\0" /* TestIdPathParts.Delimiter */)) {
58
+ return 2 /* TestPosition.IsChild */;
66
59
  }
67
- if (a.startsWith(b + "\0" /* Delimiter */)) {
68
- return 3 /* IsParent */;
60
+ if (a.startsWith(b + "\0" /* TestIdPathParts.Delimiter */)) {
61
+ return 3 /* TestPosition.IsParent */;
62
+ }
63
+ return 1 /* TestPosition.Disconnected */;
64
+ }
65
+ constructor(path, viewEnd = path.length) {
66
+ this.path = path;
67
+ this.viewEnd = viewEnd;
68
+ if (path.length === 0 || viewEnd < 1) {
69
+ throw new Error('cannot create test with empty path');
69
70
  }
70
- return 1 /* Disconnected */;
71
71
  }
72
72
  /**
73
73
  * Gets the ID of the parent test.
@@ -111,16 +111,16 @@ class TestId {
111
111
  }
112
112
  for (let i = 0; i < other.viewEnd && i < this.viewEnd; i++) {
113
113
  if (other.path[i] !== this.path[i]) {
114
- return 1 /* Disconnected */;
114
+ return 1 /* TestPosition.Disconnected */;
115
115
  }
116
116
  }
117
117
  if (other.viewEnd > this.viewEnd) {
118
- return 2 /* IsChild */;
118
+ return 2 /* TestPosition.IsChild */;
119
119
  }
120
120
  if (other.viewEnd < this.viewEnd) {
121
- return 3 /* IsParent */;
121
+ return 3 /* TestPosition.IsParent */;
122
122
  }
123
- return 0 /* IsSame */;
123
+ return 0 /* TestPosition.IsSame */;
124
124
  }
125
125
  /**
126
126
  * Serializes the ID.
@@ -135,7 +135,7 @@ class TestId {
135
135
  if (!this.stringifed) {
136
136
  this.stringifed = this.path[0];
137
137
  for (let i = 1; i < this.viewEnd; i++) {
138
- this.stringifed += "\0" /* Delimiter */;
138
+ this.stringifed += "\0" /* TestIdPathParts.Delimiter */;
139
139
  this.stringifed += this.path[i];
140
140
  }
141
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testId.js","sourceRoot":"","sources":["../../src/common/testId.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testId.js","sourceRoot":"","sources":["../../src/common/testId.ts"],"names":[],"mappings":"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"}
@@ -14,17 +14,17 @@ const { count } = ide_core_common_1.strings;
14
14
  * reflected in the parent node.
15
15
  */
16
16
  exports.statePriority = {
17
- [2 /* Running */]: 6,
18
- [6 /* Errored */]: 5,
19
- [4 /* Failed */]: 4,
20
- [1 /* Queued */]: 3,
21
- [3 /* Passed */]: 2,
22
- [0 /* Unset */]: 1,
23
- [5 /* Skipped */]: 0,
17
+ [2 /* TestResultState.Running */]: 6,
18
+ [6 /* TestResultState.Errored */]: 5,
19
+ [4 /* TestResultState.Failed */]: 4,
20
+ [1 /* TestResultState.Queued */]: 3,
21
+ [3 /* TestResultState.Passed */]: 2,
22
+ [0 /* TestResultState.Unset */]: 1,
23
+ [5 /* TestResultState.Skipped */]: 0,
24
24
  };
25
- const isFailedState = (s) => s === 6 /* Errored */ || s === 4 /* Failed */;
25
+ const isFailedState = (s) => s === 6 /* TestResultState.Errored */ || s === 4 /* TestResultState.Failed */;
26
26
  exports.isFailedState = isFailedState;
27
- const isStateWithResult = (s) => s === 6 /* Errored */ || s === 4 /* Failed */ || s === 3 /* Passed */;
27
+ const isStateWithResult = (s) => s === 6 /* TestResultState.Errored */ || s === 4 /* TestResultState.Failed */ || s === 3 /* TestResultState.Passed */;
28
28
  exports.isStateWithResult = isStateWithResult;
29
29
  exports.stateNodes = Object.entries(exports.statePriority).reduce((acc, [stateStr, priority]) => {
30
30
  const state = Number(stateStr);
@@ -36,7 +36,7 @@ exports.cmpPriority = cmpPriority;
36
36
  const maxPriority = (...states) => {
37
37
  switch (states.length) {
38
38
  case 0:
39
- return 0 /* Unset */;
39
+ return 0 /* TestResultState.Unset */;
40
40
  case 1:
41
41
  return states[0];
42
42
  case 2:
@@ -56,7 +56,7 @@ exports.maxPriority = maxPriority;
56
56
  exports.statesInOrder = Object.keys(exports.statePriority)
57
57
  .map((s) => Number(s))
58
58
  .sort(exports.cmpPriority);
59
- const isRunningState = (s) => s === 1 /* Queued */ || s === 2 /* Running */;
59
+ const isRunningState = (s) => s === 1 /* TestResultState.Queued */ || s === 2 /* TestResultState.Running */;
60
60
  exports.isRunningState = isRunningState;
61
61
  const firstLine = (str) => {
62
62
  const index = str.indexOf('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"testingStates.js","sourceRoot":"","sources":["../../src/common/testingStates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testingStates.js","sourceRoot":"","sources":["../../src/common/testingStates.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ interface IResultTestOutputReference extends IResultTestUri {
18
18
  type: TestUriType.ResultActualOutput | TestUriType.ResultExpectedOutput;
19
19
  messageIndex: number;
20
20
  }
21
- export declare type ParsedTestUri = IResultTestMessageReference | IResultTestOutputReference;
21
+ export type ParsedTestUri = IResultTestMessageReference | IResultTestOutputReference;
22
22
  export declare const parseTestUri: (uri: URI) => ParsedTestUri | undefined;
23
23
  export declare const buildTestUri: (parsed: ParsedTestUri) => URI;
24
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"testingUri.d.ts","sourceRoot":"","sources":["../../src/common/testingUri.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,0BAAkB,WAAW;IAC3B,aAAa,IAAA;IACb,kBAAkB,IAAA;IAClB,oBAAoB,IAAA;CACrB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,2BAA4B,SAAQ,cAAc;IAC1D,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,0BAA2B,SAAQ,cAAc;IACzD,IAAI,EAAE,WAAW,CAAC,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,CAAC;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,aAAa,GAAG,2BAA2B,GAAG,0BAA0B,CAAC;AAWrF,eAAO,MAAM,YAAY,QAAS,GAAG,KAAG,aAAa,GAAG,SAkCvD,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,aAAa,KAAG,GAsBpD,CAAC"}
1
+ {"version":3,"file":"testingUri.d.ts","sourceRoot":"","sources":["../../src/common/testingUri.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,0BAAkB,WAAW;IAC3B,aAAa,IAAA;IACb,kBAAkB,IAAA;IAClB,oBAAoB,IAAA;CACrB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,2BAA4B,SAAQ,cAAc;IAC1D,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,0BAA2B,SAAQ,cAAc;IACzD,IAAI,EAAE,WAAW,CAAC,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,CAAC;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,2BAA2B,GAAG,0BAA0B,CAAC;AAWrF,eAAO,MAAM,YAAY,QAAS,GAAG,KAAG,aAAa,GAAG,SAkCvD,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,aAAa,KAAG,GAsBpD,CAAC"}
@@ -10,30 +10,30 @@ exports.TEST_DATA_SCHEME = 'opensumi-test-data';
10
10
  const parseTestUri = (uri) => {
11
11
  const type = uri.authority;
12
12
  const [locationId, ...request] = uri.path.toString().slice(1).split('/');
13
- if (request[0] === "message" /* Messages */) {
13
+ if (request[0] === "message" /* TestUriParts.Messages */) {
14
14
  const taskIndex = Number(request[1]);
15
15
  const index = Number(request[2]);
16
16
  const part = request[3];
17
17
  const testExtId = uri.query;
18
- if (type === "results" /* Results */) {
18
+ if (type === "results" /* TestUriParts.Results */) {
19
19
  switch (part) {
20
- case "TestFailureMessage" /* Text */:
21
- return { resultId: locationId, taskIndex, testExtId, messageIndex: index, type: 0 /* ResultMessage */ };
22
- case "ActualOutput" /* ActualOutput */:
20
+ case "TestFailureMessage" /* TestUriParts.Text */:
21
+ return { resultId: locationId, taskIndex, testExtId, messageIndex: index, type: 0 /* TestUriType.ResultMessage */ };
22
+ case "ActualOutput" /* TestUriParts.ActualOutput */:
23
23
  return {
24
24
  resultId: locationId,
25
25
  taskIndex,
26
26
  testExtId,
27
27
  messageIndex: index,
28
- type: 1 /* ResultActualOutput */,
28
+ type: 1 /* TestUriType.ResultActualOutput */,
29
29
  };
30
- case "ExpectedOutput" /* ExpectedOutput */:
30
+ case "ExpectedOutput" /* TestUriParts.ExpectedOutput */:
31
31
  return {
32
32
  resultId: locationId,
33
33
  taskIndex,
34
34
  testExtId,
35
35
  messageIndex: index,
36
- type: 2 /* ResultExpectedOutput */,
36
+ type: 2 /* TestUriType.ResultExpectedOutput */,
37
37
  };
38
38
  }
39
39
  }
@@ -44,16 +44,16 @@ exports.parseTestUri = parseTestUri;
44
44
  const buildTestUri = (parsed) => {
45
45
  const uriParts = {
46
46
  scheme: exports.TEST_DATA_SCHEME,
47
- authority: "results" /* Results */,
47
+ authority: "results" /* TestUriParts.Results */,
48
48
  };
49
- const msgRef = (locationId, ...remaining) => ide_core_common_1.URI.from(Object.assign(Object.assign({}, uriParts), { query: parsed.testExtId, path: ['', locationId, "message" /* Messages */, ...remaining].join('/') }));
49
+ const msgRef = (locationId, ...remaining) => ide_core_common_1.URI.from(Object.assign(Object.assign({}, uriParts), { query: parsed.testExtId, path: ['', locationId, "message" /* TestUriParts.Messages */, ...remaining].join('/') }));
50
50
  switch (parsed.type) {
51
- case 1 /* ResultActualOutput */:
52
- return msgRef(parsed.resultId, parsed.taskIndex, parsed.messageIndex, "ActualOutput" /* ActualOutput */);
53
- case 2 /* ResultExpectedOutput */:
54
- return msgRef(parsed.resultId, parsed.taskIndex, parsed.messageIndex, "ExpectedOutput" /* ExpectedOutput */);
55
- case 0 /* ResultMessage */:
56
- return msgRef(parsed.resultId, parsed.taskIndex, parsed.messageIndex, "TestFailureMessage" /* Text */);
51
+ case 1 /* TestUriType.ResultActualOutput */:
52
+ return msgRef(parsed.resultId, parsed.taskIndex, parsed.messageIndex, "ActualOutput" /* TestUriParts.ActualOutput */);
53
+ case 2 /* TestUriType.ResultExpectedOutput */:
54
+ return msgRef(parsed.resultId, parsed.taskIndex, parsed.messageIndex, "ExpectedOutput" /* TestUriParts.ExpectedOutput */);
55
+ case 0 /* TestUriType.ResultMessage */:
56
+ return msgRef(parsed.resultId, parsed.taskIndex, parsed.messageIndex, "TestFailureMessage" /* TestUriParts.Text */);
57
57
  default:
58
58
  throw new Error('Invalid test uri');
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testingUri.js","sourceRoot":"","sources":["../../src/common/testingUri.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,+DAAgD;AAEnC,QAAA,gBAAgB,GAAG,oBAAoB,CAAC;AAmC9C,MAAM,YAAY,GAAG,CAAC,GAAQ,EAA6B,EAAE;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEzE,IAAI,OAAO,CAAC,CAAC,CAAC,6BAA0B,EAAE;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,IAAI,4BAAyB,EAAE;YACjC,QAAQ,IAAI,EAAE;gBACZ;oBACE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,uBAA2B,EAAE,CAAC;gBAC9G;oBACE,OAAO;wBACL,QAAQ,EAAE,UAAU;wBACpB,SAAS;wBACT,SAAS;wBACT,YAAY,EAAE,KAAK;wBACnB,IAAI,4BAAgC;qBACrC,CAAC;gBACJ;oBACE,OAAO;wBACL,QAAQ,EAAE,UAAU;wBACpB,SAAS;wBACT,SAAS;wBACT,YAAY,EAAE,KAAK;wBACnB,IAAI,8BAAkC;qBACvC,CAAC;aACL;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB;AAEK,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAO,EAAE;IACzD,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,wBAAgB;QACxB,SAAS,yBAAsB;KAChC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,UAAkB,EAAE,GAAG,SAA8B,EAAE,EAAE,CACvE,qBAAG,CAAC,IAAI,iCACH,QAAQ,KACX,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,IAAI,EAAE,CAAC,EAAE,EAAE,UAAU,4BAAyB,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IACrE,CAAC;IAEL,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB;YACE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,oCAA4B,CAAC;QACnG;YACE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,wCAA8B,CAAC;QACrG;YACE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,kCAAoB,CAAC;QAC3F;YACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACvC;AACH,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB"}
1
+ {"version":3,"file":"testingUri.js","sourceRoot":"","sources":["../../src/common/testingUri.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,+DAAgD;AAEnC,QAAA,gBAAgB,GAAG,oBAAoB,CAAC;AAmC9C,MAAM,YAAY,GAAG,CAAC,GAAQ,EAA6B,EAAE;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEzE,IAAI,OAAO,CAAC,CAAC,CAAC,0CAA0B,EAAE;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,IAAI,yCAAyB,EAAE;YACjC,QAAQ,IAAI,EAAE;gBACZ;oBACE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,mCAA2B,EAAE,CAAC;gBAC9G;oBACE,OAAO;wBACL,QAAQ,EAAE,UAAU;wBACpB,SAAS;wBACT,SAAS;wBACT,YAAY,EAAE,KAAK;wBACnB,IAAI,wCAAgC;qBACrC,CAAC;gBACJ;oBACE,OAAO;wBACL,QAAQ,EAAE,UAAU;wBACpB,SAAS;wBACT,SAAS;wBACT,YAAY,EAAE,KAAK;wBACnB,IAAI,0CAAkC;qBACvC,CAAC;aACL;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB;AAEK,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAO,EAAE;IACzD,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,wBAAgB;QACxB,SAAS,sCAAsB;KAChC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,UAAkB,EAAE,GAAG,SAA8B,EAAE,EAAE,CACvE,qBAAG,CAAC,IAAI,iCACH,QAAQ,KACX,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,IAAI,EAAE,CAAC,EAAE,EAAE,UAAU,yCAAyB,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IACrE,CAAC;IAEL,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB;YACE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,iDAA4B,CAAC;QACnG;YACE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,qDAA8B,CAAC;QACrG;YACE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,+CAAoB,CAAC;QAC3F;YACE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACvC;AACH,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@opensumi/ide-testing",
3
- "version": "2.21.13",
3
+ "version": "2.22.0",
4
4
  "files": [
5
- "lib"
5
+ "lib",
6
+ "src"
6
7
  ],
7
8
  "main": "lib/index.js",
8
9
  "typings": "lib/index.d.ts",
@@ -14,18 +15,18 @@
14
15
  "url": "git@github.com:opensumi/core.git"
15
16
  },
16
17
  "dependencies": {
17
- "@opensumi/ide-core-common": "2.21.13"
18
+ "@opensumi/ide-core-common": "2.22.0"
18
19
  },
19
20
  "devDependencies": {
20
- "@opensumi/ide-components": "2.21.13",
21
- "@opensumi/ide-core-browser": "2.21.13",
22
- "@opensumi/ide-dev-tool": "^1.1.0",
23
- "@opensumi/ide-editor": "2.21.13",
24
- "@opensumi/ide-file-service": "2.21.13",
25
- "@opensumi/ide-main-layout": "2.21.13",
26
- "@opensumi/ide-markdown": "2.21.13",
27
- "@opensumi/ide-monaco": "2.21.13",
28
- "@opensumi/ide-monaco-enhance": "2.21.13"
21
+ "@opensumi/ide-components": "2.22.0",
22
+ "@opensumi/ide-core-browser": "2.22.0",
23
+ "@opensumi/ide-dev-tool": "1.3.1",
24
+ "@opensumi/ide-editor": "2.22.0",
25
+ "@opensumi/ide-file-service": "2.22.0",
26
+ "@opensumi/ide-main-layout": "2.22.0",
27
+ "@opensumi/ide-markdown": "2.22.0",
28
+ "@opensumi/ide-monaco": "2.22.0",
29
+ "@opensumi/ide-monaco-enhance": "2.22.0"
29
30
  },
30
- "gitHead": "1480afacfef7ef11eae65c5cbbddce416f227fe8"
31
+ "gitHead": "927717e1c60f9cf5f01622fd51085b318a175eeb"
31
32
  }
@@ -0,0 +1,129 @@
1
+ import { observer } from 'mobx-react-lite';
2
+ import React, { useEffect, useState } from 'react';
3
+
4
+ import { BasicRecycleTree, IRecycleTreeHandle, RecycleTree } from '@opensumi/ide-components/lib/recycle-tree';
5
+ import { BasicCompositeTreeNode } from '@opensumi/ide-components/lib/recycle-tree/basic/tree-node.define';
6
+ import { CommandService, Event, map, useInjectable } from '@opensumi/ide-core-browser';
7
+
8
+ import { ITestService, TestServiceToken } from '../../common';
9
+ import { DebugTestCommand, GoToTestCommand, RuntTestCommand } from '../../common/commands';
10
+ import { TestItemExpandState, TestRunProfileBitset } from '../../common/testCollection';
11
+ import { TestingExplorerInlineMenus } from '../../common/testing-view';
12
+ import { ITestTreeData, ITestTreeItem, TestTreeViewModelToken } from '../../common/tree-view.model';
13
+ import { getIconWithColor } from '../icons/icons';
14
+ import { TestTreeItem, TestTreeViewModelImpl } from '../test-tree-view.model';
15
+
16
+ import styles from './testing.module.less';
17
+
18
+ export const TestingExplorerTree: React.FC<{}> = observer(() => {
19
+ const testViewModel = useInjectable<TestTreeViewModelImpl>(TestTreeViewModelToken);
20
+ const testService = useInjectable<ITestService>(TestServiceToken);
21
+ const commandService = useInjectable<CommandService>(CommandService);
22
+
23
+ const [treeData, setTreeData] = useState<ITestTreeData[]>([]);
24
+
25
+ const getItemIcon = React.useCallback((item: ITestTreeItem) => getIconWithColor(item.state), []);
26
+
27
+ const asTreeData = React.useCallback(
28
+ (item: TestTreeItem): ITestTreeData => ({
29
+ label: item.label,
30
+ icon: '',
31
+ get iconClassName() {
32
+ return getItemIcon(item);
33
+ },
34
+ expandable: item.test.expand !== TestItemExpandState.NotExpandable,
35
+ rawItem: item,
36
+ sortText: item.sortText,
37
+ get children() {
38
+ if (item.test.expand === TestItemExpandState.Expandable || item.children) {
39
+ const testTree = testViewModel.getTestTreeItem(item.test.item.extId);
40
+ return Array.from(map(testTree?.children || [], asTreeData));
41
+ }
42
+ return null;
43
+ },
44
+ }),
45
+ [],
46
+ );
47
+
48
+ useEffect(() => {
49
+ const disposable = Event.debounce(
50
+ testViewModel.onUpdate,
51
+ () => {},
52
+ 500,
53
+ )(() => {
54
+ for (const root of testViewModel.roots) {
55
+ if (root.depth === 0 && root.children.size > 0) {
56
+ let result: ITestTreeData[] = [];
57
+ for (const child of root.children) {
58
+ result.push(asTreeData(child));
59
+ }
60
+
61
+ result = result.sort((a, b) => (a.sortText || a.label).localeCompare(b.sortText || b.label));
62
+ setTreeData(result);
63
+ }
64
+ }
65
+ });
66
+
67
+ return disposable.dispose;
68
+ }, [testViewModel]);
69
+
70
+ useEffect(() => {
71
+ if (testViewModel.treeHandlerApi) {
72
+ const model = testViewModel.treeHandlerApi.getModel();
73
+ if (model.root.children?.length === 0) {
74
+ model.root.refresh();
75
+ }
76
+ }
77
+ }, [treeData]);
78
+
79
+ const resolveTestChildren = React.useCallback((node?: ITestTreeData) => {
80
+ if (!node) {
81
+ return null;
82
+ }
83
+ if (node.children && node.children.length > 0) {
84
+ return node.children;
85
+ }
86
+ return [];
87
+ }, []);
88
+
89
+ const inlineMenuActuator = React.useCallback((node: BasicCompositeTreeNode, action) => {
90
+ const { rawItem } = node.raw as ITestTreeData;
91
+ switch (action.command) {
92
+ case RuntTestCommand.id:
93
+ testService.runTests({
94
+ tests: rawItem.tests,
95
+ group: TestRunProfileBitset.Run,
96
+ });
97
+ break;
98
+ case DebugTestCommand.id:
99
+ testService.runTests({
100
+ tests: rawItem.tests,
101
+ group: TestRunProfileBitset.Debug,
102
+ });
103
+ break;
104
+ case GoToTestCommand.id:
105
+ commandService.executeCommand(GoToTestCommand.id, rawItem.test.item.extId);
106
+ break;
107
+ }
108
+ }, []);
109
+
110
+ const handleTreeReady = (handle: IRecycleTreeHandle) => {
111
+ testViewModel.setTreeHandlerApi(handle);
112
+ };
113
+
114
+ return (
115
+ <div>
116
+ {treeData.length > 0 && (
117
+ <BasicRecycleTree
118
+ treeData={treeData}
119
+ onReady={handleTreeReady}
120
+ itemClassname={styles.item_label}
121
+ height={900}
122
+ resolveChildren={resolveTestChildren}
123
+ inlineMenus={TestingExplorerInlineMenus}
124
+ inlineMenuActuator={inlineMenuActuator}
125
+ />
126
+ )}
127
+ </div>
128
+ );
129
+ });
@@ -0,0 +1,26 @@
1
+ .testing_container {
2
+ padding: 0 8px;
3
+
4
+ .item_label {
5
+ .overflow_wrap {
6
+ padding-left: 5px;
7
+ }
8
+ }
9
+ }
10
+
11
+ .test_output_peek_message_container,
12
+ .test_output_peek_tree {
13
+ height: 100%;
14
+ }
15
+
16
+ .test_output_peek_tree {
17
+ background-color: var(--peekViewResult-background);
18
+ color: var(--peekViewResult-lineForeground);
19
+ }
20
+
21
+ .preview_markdown {
22
+ position: relative;
23
+ overflow: hidden;
24
+ padding: 8px 12px 8px 20px;
25
+ height: calc(100% - 16px);
26
+ }
@@ -0,0 +1,35 @@
1
+ import React, { useEffect, useState } from 'react';
2
+
3
+ import { localize, useInjectable, ViewContextKeyRegistry } from '@opensumi/ide-core-browser';
4
+ import { InlineMenuBar } from '@opensumi/ide-core-browser/lib/components/actions';
5
+ import { AbstractContextMenuService, IContextMenu, MenuId } from '@opensumi/ide-core-browser/lib/menu/next';
6
+ import { TitleBar } from '@opensumi/ide-main-layout/lib/browser/accordion/titlebar.view';
7
+
8
+ import { Testing } from '../../common/constants';
9
+
10
+ import { TestingExplorerTree } from './testing.explorer.tree';
11
+ import styles from './testing.module.less';
12
+
13
+ export const TestingView = () => {
14
+ const menuService = useInjectable<AbstractContextMenuService>(AbstractContextMenuService);
15
+ const viewContextKeyRegistry = useInjectable<ViewContextKeyRegistry>(ViewContextKeyRegistry);
16
+
17
+ const [menus, setMenus] = useState<IContextMenu>();
18
+
19
+ useEffect(() => {
20
+ const menu = menuService.createMenu({
21
+ id: MenuId.ViewTitle,
22
+ contextKeyService: viewContextKeyRegistry.getContextKeyService(Testing.ExplorerViewId),
23
+ });
24
+ setMenus(menu);
25
+ }, []);
26
+
27
+ return (
28
+ <div className={styles.testing_container}>
29
+ <TitleBar title={localize('test.title')} menubar={menus ? <InlineMenuBar menus={menus}></InlineMenuBar> : null} />
30
+ {/* 筛选器暂时先不搞 */}
31
+ {/* <Input placeholder={'Filter (e.g. text, !exclude, @tag)'} addonAfter={<Icon icon='filter' />} /> */}
32
+ <TestingExplorerTree />
33
+ </div>
34
+ );
35
+ };
@@ -0,0 +1,31 @@
1
+ .testing_icon_iconFailed {
2
+ color: var(--testing-iconFailed) !important;
3
+ }
4
+
5
+ .testing_icon_iconErrored {
6
+ color: var(--testing-iconErrored) !important;
7
+ }
8
+
9
+ .testing_icon_iconPassed {
10
+ color: var(--testing-iconPassed) !important;
11
+ }
12
+
13
+ .testing_icon_runAction {
14
+ color: var(--testing-runAction) !important;
15
+ }
16
+
17
+ .testing_icon_iconQueued {
18
+ color: var(--testing-iconQueued) !important;
19
+ }
20
+
21
+ .testing_icon_iconUnset {
22
+ color: var(--testing-iconUnset) !important;
23
+ }
24
+
25
+ .monaco-editor .testing-run-glyph {
26
+ cursor: pointer;
27
+ }
28
+
29
+ .monaco-editor .testing-inline-message-content {
30
+ cursor: pointer;
31
+ }
@@ -0,0 +1,31 @@
1
+ import { getExternalIcon } from '@opensumi/ide-core-browser';
2
+
3
+ import { TestResultState } from '../../common/testCollection';
4
+
5
+ export const defaultIconColor = 'testing_icon_iconPassed';
6
+
7
+ export const testStatesToIconColors: { [K in TestResultState]?: string } = {
8
+ [TestResultState.Errored]: 'testing_icon_iconFailed',
9
+ [TestResultState.Failed]: 'testing_icon_iconErrored',
10
+ [TestResultState.Passed]: defaultIconColor,
11
+ [TestResultState.Queued]: 'testing_icon_iconQueued',
12
+ [TestResultState.Unset]: 'testing_icon_iconUnset',
13
+ [TestResultState.Skipped]: 'testing_icon_iconUnset',
14
+ };
15
+
16
+ export const testingStatesToIcons = new Map<TestResultState, string>([
17
+ [TestResultState.Errored, getExternalIcon('issues')],
18
+ [TestResultState.Failed, getExternalIcon('error')],
19
+ [TestResultState.Passed, getExternalIcon('pass')],
20
+ [TestResultState.Queued, getExternalIcon('history')],
21
+ [TestResultState.Running, getExternalIcon('loading') + ' kt-icon-loading'],
22
+ [TestResultState.Skipped, getExternalIcon('debug-step-over')],
23
+ [TestResultState.Unset, getExternalIcon('circle-outline')],
24
+ ]);
25
+
26
+ export const testingRunIcon = getExternalIcon('run');
27
+ export const testingRunAllIcon = getExternalIcon('run-all');
28
+ export const testingRefreshTests = getExternalIcon('refresh');
29
+
30
+ export const getIconWithColor = (state: TestResultState) =>
31
+ `${testingStatesToIcons.get(state)} ${testStatesToIconColors[state]}` || '';
@@ -0,0 +1,51 @@
1
+ import { Provider, Injectable } from '@opensumi/di';
2
+ import { BrowserModule } from '@opensumi/ide-core-browser';
3
+
4
+ import { TestPeekMessageToken, TestServiceToken } from '../common';
5
+ import { TestProfileServiceToken } from '../common/test-profile';
6
+ import { TestResultServiceToken } from '../common/test-result';
7
+ import { TestingPeekOpenerServiceToken } from '../common/testingPeekOpener';
8
+ import { TestTreeViewModelToken } from '../common/tree-view.model';
9
+
10
+ import { TestingPeekMessageServiceImpl } from './outputPeek/test-peek-message.service';
11
+ import { TestingPeekOpenerServiceImpl } from './outputPeek/test-peek-opener.service';
12
+ import { TestProfileServiceImpl } from './test-profile.service';
13
+ import { TestTreeViewModelImpl } from './test-tree-view.model';
14
+ import { TestResultServiceImpl } from './test.result.service';
15
+ import { TestServiceImpl } from './test.service';
16
+ import { TestingContribution } from './testing.contribution';
17
+
18
+ import './icons/icons.less';
19
+ import './outputPeek/test-peek-widget.less';
20
+ import './theme.less';
21
+
22
+ @Injectable()
23
+ export class TestingModule extends BrowserModule {
24
+ providers: Provider[] = [
25
+ TestingContribution,
26
+ {
27
+ token: TestServiceToken,
28
+ useClass: TestServiceImpl,
29
+ },
30
+ {
31
+ token: TestTreeViewModelToken,
32
+ useClass: TestTreeViewModelImpl,
33
+ },
34
+ {
35
+ token: TestProfileServiceToken,
36
+ useClass: TestProfileServiceImpl,
37
+ },
38
+ {
39
+ token: TestResultServiceToken,
40
+ useClass: TestResultServiceImpl,
41
+ },
42
+ {
43
+ token: TestingPeekOpenerServiceToken,
44
+ useClass: TestingPeekOpenerServiceImpl,
45
+ },
46
+ {
47
+ token: TestPeekMessageToken,
48
+ useClass: TestingPeekMessageServiceImpl,
49
+ },
50
+ ];
51
+ }