@theia/scm 1.73.0-next.9 → 1.74.0-next.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 (22) hide show
  1. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts +2 -0
  2. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts.map +1 -1
  3. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js +6 -1
  4. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js.map +1 -1
  5. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts +2 -0
  6. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts.map +1 -1
  7. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js +6 -1
  8. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js.map +1 -1
  9. package/lib/browser/scm-amend-component.d.ts +2 -2
  10. package/lib/browser/scm-amend-component.d.ts.map +1 -1
  11. package/lib/browser/scm-repositories-widget.spec.js +83 -68
  12. package/lib/browser/scm-repositories-widget.spec.js.map +1 -1
  13. package/lib/browser/scm-tree-widget.d.ts +5 -3
  14. package/lib/browser/scm-tree-widget.d.ts.map +1 -1
  15. package/lib/browser/scm-tree-widget.js +7 -1
  16. package/lib/browser/scm-tree-widget.js.map +1 -1
  17. package/package.json +7 -7
  18. package/src/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.ts +6 -3
  19. package/src/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.ts +6 -3
  20. package/src/browser/scm-amend-component.tsx +2 -2
  21. package/src/browser/scm-repositories-widget.spec.ts +86 -84
  22. package/src/browser/scm-tree-widget.tsx +8 -5
@@ -1,3 +1,4 @@
1
+ import { ILogger } from '@theia/core';
1
2
  import { EditorDecoration, Range } from '@theia/editor/lib/browser';
2
3
  import { NavigationLocationService } from '@theia/editor/lib/browser/navigation/navigation-location-service';
3
4
  import { MergeEditorPane } from './merge-editor-pane';
@@ -5,6 +6,7 @@ import { MergeEditorPaneToolbarItem } from './merge-editor-pane-header';
5
6
  import { LineRange } from '../../model/line-range';
6
7
  import { MergeRange } from '../../model/merge-range';
7
8
  export declare class MergeEditorResultPane extends MergeEditorPane {
9
+ protected readonly logger: ILogger;
8
10
  protected readonly navigationLocationService: NavigationLocationService;
9
11
  constructor();
10
12
  protected initContextKeys(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"merge-editor-result-pane.d.ts","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,qBACa,qBAAsB,SAAQ,eAAe;IAGtD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;;cAOrD,eAAe,IAAI,IAAI;cAKvB,yBAAyB,IAAI,IAAI;IAU3C,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS;cAIlD,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAI1D,SAAS,CAAC,2BAA2B,IAAI,IAAI;IAK7C,KAAK,IAAI,IAAI;cAiBM,eAAe,IAAI,0BAA0B,EAAE;cA0B/C,wBAAwB,IAAI,gBAAgB,EAAE;CAmBpE"}
1
+ {"version":3,"file":"merge-editor-result-pane.d.ts","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,qBACa,qBAAsB,SAAQ,eAAe;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;;cAOrD,eAAe,IAAI,IAAI;cAKvB,yBAAyB,IAAI,IAAI;IAU3C,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS;cAIlD,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAI1D,SAAS,CAAC,2BAA2B,IAAI,IAAI;IAK7C,KAAK,IAAI,IAAI;cAiBM,eAAe,IAAI,0BAA0B,EAAE;cA0B/C,wBAAwB,IAAI,gBAAgB,EAAE;CAmBpE"}
@@ -66,7 +66,7 @@ let MergeEditorResultPane = class MergeEditorResultPane extends merge_editor_pan
66
66
  await observable_1.ObservableUtils.waitForState(model.isUpToDateObservable);
67
67
  this.mergeEditor.goToFirstMergeRange(mergeRange => !model.isMergeRangeHandled(mergeRange));
68
68
  }
69
- }).catch(e => console.error(e));
69
+ }).catch(e => this.logger.error(e));
70
70
  }
71
71
  getToolbarItems() {
72
72
  const { model } = this.mergeEditor;
@@ -111,6 +111,11 @@ let MergeEditorResultPane = class MergeEditorResultPane extends merge_editor_pan
111
111
  }
112
112
  };
113
113
  exports.MergeEditorResultPane = MergeEditorResultPane;
114
+ tslib_1.__decorate([
115
+ (0, inversify_1.inject)(core_1.ILogger),
116
+ (0, inversify_1.named)('scm:MergeEditorResultPane'),
117
+ tslib_1.__metadata("design:type", Object)
118
+ ], MergeEditorResultPane.prototype, "logger", void 0);
114
119
  tslib_1.__decorate([
115
120
  (0, inversify_1.inject)(navigation_location_service_1.NavigationLocationService),
116
121
  tslib_1.__metadata("design:type", navigation_location_service_1.NavigationLocationService)
@@ -1 +1 @@
1
- {"version":3,"file":"merge-editor-result-pane.js","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-editor-result-pane.js","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ILogger } from '@theia/core';
1
2
  import { LabelProvider, OpenerService } from '@theia/core/lib/browser';
2
3
  import { EditorDecoration, Range } from '@theia/editor/lib/browser';
3
4
  import { MergeRange, MergeSide } from '../../model/merge-range';
@@ -7,6 +8,7 @@ import { LineRange } from '../../model/line-range';
7
8
  export declare abstract class MergeEditorSidePane extends MergeEditorPane {
8
9
  protected readonly labelProvider: LabelProvider;
9
10
  protected readonly openerService: OpenerService;
11
+ protected readonly logger: ILogger;
10
12
  abstract get mergeSide(): MergeSide;
11
13
  constructor();
12
14
  getLineRangeForMergeRange(mergeRange: MergeRange): LineRange;
@@ -1 +1 @@
1
- {"version":3,"file":"merge-editor-side-pane.d.ts","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAqB,aAAa,EAAQ,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAuB,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,UAAU,EAA2B,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,8BACsB,mBAAoB,SAAQ,eAAe;IAG7D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC;;IAO3B,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS;cAIlD,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAIpD,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBvC,eAAe,IAAI,IAAI;cAYJ,eAAe,IAAI,0BAA0B,EAAE;cAiB/C,wBAAwB,IAAI,gBAAgB,EAAE;CAmBpE;AAED,qBACa,oBAAqB,SAAQ,mBAAmB;IAEzD,QAAQ,CAAC,SAAS,KAAK;;CAM1B;AAED,qBACa,oBAAqB,SAAQ,mBAAmB;IAEzD,QAAQ,CAAC,SAAS,KAAK;;CAM1B"}
1
+ {"version":3,"file":"merge-editor-side-pane.d.ts","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAqB,aAAa,EAAQ,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAuB,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,UAAU,EAA2B,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,8BACsB,mBAAoB,SAAQ,eAAe;IAG7D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC;;IAO3B,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS;cAIlD,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAIpD,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBvC,eAAe,IAAI,IAAI;cAYJ,eAAe,IAAI,0BAA0B,EAAE;cAiB/C,wBAAwB,IAAI,gBAAgB,EAAE;CAmBpE;AAED,qBACa,oBAAqB,SAAQ,mBAAmB;IAEzD,QAAQ,CAAC,SAAS,KAAK;;CAM1B;AAED,qBACa,oBAAqB,SAAQ,mBAAmB;IAEzD,QAAQ,CAAC,SAAS,KAAK;;CAM1B"}
@@ -59,7 +59,7 @@ let MergeEditorSidePane = class MergeEditorSidePane extends merge_editor_pane_1.
59
59
  label += `${core_1.nls.localizeByDefault('Base')} ⟷ ${this.header.title.label}`;
60
60
  const options = { selection: { start: this.editor.cursor } };
61
61
  (0, browser_1.open)(this.openerService, browser_1.DiffUris.encode(this.mergeEditor.baseUri, this.editor.uri, label), options).catch(e => {
62
- console.error(e);
62
+ this.logger.error(e);
63
63
  });
64
64
  }
65
65
  getToolbarItems() {
@@ -104,6 +104,11 @@ tslib_1.__decorate([
104
104
  (0, inversify_1.inject)(browser_1.OpenerService),
105
105
  tslib_1.__metadata("design:type", Object)
106
106
  ], MergeEditorSidePane.prototype, "openerService", void 0);
107
+ tslib_1.__decorate([
108
+ (0, inversify_1.inject)(core_1.ILogger),
109
+ (0, inversify_1.named)('scm:MergeEditorSidePane'),
110
+ tslib_1.__metadata("design:type", Object)
111
+ ], MergeEditorSidePane.prototype, "logger", void 0);
107
112
  exports.MergeEditorSidePane = MergeEditorSidePane = tslib_1.__decorate([
108
113
  (0, inversify_1.injectable)(),
109
114
  tslib_1.__metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":"merge-editor-side-pane.js","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-editor-side-pane.js","sourceRoot":"","sources":["../../../../../src/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ export declare class ScmAmendComponent extends React.Component<ScmAmendComponent
71
71
  protected amend: () => Promise<void>;
72
72
  protected unamend: () => Promise<void>;
73
73
  private resetAndSetMessage;
74
- render(): JSX.Element;
74
+ render(): React.JSX.Element;
75
75
  protected getLastCommit(): Promise<{
76
76
  commit: ScmCommit;
77
77
  avatar: string;
@@ -97,7 +97,7 @@ export declare class ScmAmendComponent extends React.Component<ScmAmendComponent
97
97
  protected renderCommitBeingAmended(commitData: {
98
98
  commit: ScmCommit;
99
99
  avatar: string;
100
- }, isOldestAmendCommit: boolean): JSX.Element;
100
+ }, isOldestAmendCommit: boolean): React.JSX.Element;
101
101
  protected styleAmendedCommits(): React.CSSProperties;
102
102
  protected styleLastCommitMovingUp(transitionState: 'start' | 'transitioning'): React.CSSProperties;
103
103
  protected styleLastCommitMovingDown(transitionState: 'start' | 'transitioning'): React.CSSProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"scm-amend-component.d.ts","sourceRoot":"","sources":["../../src/browser/scm-amend-component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scm-amend-component.d.ts","sourceRoot":"","sources":["../../src/browser/scm-amend-component.tsx"],"names":[],"mappings":"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"}
@@ -17,11 +17,15 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
19
  let disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ let disableReactActEnvironment = (0, jsdom_1.enableReactActEnvironment)();
20
21
  const chai_1 = require("chai");
21
- const ReactDOM = require("@theia/core/shared/react-dom");
22
+ const React = require("@theia/core/shared/react");
23
+ const client_1 = require("@theia/core/shared/react-dom/client");
24
+ const messaging_1 = require("@theia/core/shared/@lumino/messaging");
22
25
  const event_1 = require("@theia/core/lib/common/event");
23
26
  const label_parser_1 = require("@theia/core/lib/browser/label-parser");
24
27
  const scm_repositories_widget_1 = require("./scm-repositories-widget");
28
+ disableReactActEnvironment();
25
29
  disableJSDOM();
26
30
  function makeRepo(opts) {
27
31
  return {
@@ -68,7 +72,10 @@ function createWidget(opts) {
68
72
  widget.commandService = mockCommandService;
69
73
  widget.contextMenuRenderer = mockContextMenuRenderer;
70
74
  widget.scmContextKeys = mockScmContextKeys;
71
- widget.init();
75
+ React.act(() => {
76
+ widget.init();
77
+ messaging_1.MessageLoop.flush();
78
+ });
72
79
  return widget;
73
80
  }
74
81
  describe('ScmRepositoriesWidget', () => {
@@ -79,13 +86,17 @@ describe('ScmRepositoriesWidget', () => {
79
86
  let onChangedSelectedEmitter;
80
87
  let executedCommands;
81
88
  let widget;
89
+ let renderedRoots;
82
90
  before(() => {
83
91
  disableJSDOM = (0, jsdom_1.enableJSDOM)();
92
+ disableReactActEnvironment = (0, jsdom_1.enableReactActEnvironment)();
84
93
  });
85
94
  after(() => {
95
+ disableReactActEnvironment();
86
96
  disableJSDOM();
87
97
  });
88
98
  beforeEach(() => {
99
+ renderedRoots = [];
89
100
  repositories = [];
90
101
  selectedRepositoryRef = { value: undefined };
91
102
  onAddEmitter = new event_1.Emitter();
@@ -102,10 +113,37 @@ describe('ScmRepositoriesWidget', () => {
102
113
  });
103
114
  });
104
115
  afterEach(() => {
105
- onAddEmitter.dispose();
106
- onRemoveEmitter.dispose();
107
- onChangedSelectedEmitter.dispose();
116
+ try {
117
+ React.act(() => {
118
+ for (const { root } of renderedRoots) {
119
+ root.unmount();
120
+ }
121
+ widget.dispose();
122
+ messaging_1.MessageLoop.flush();
123
+ });
124
+ }
125
+ finally {
126
+ for (const { container } of renderedRoots) {
127
+ container.remove();
128
+ }
129
+ renderedRoots = [];
130
+ onAddEmitter.dispose();
131
+ onRemoveEmitter.dispose();
132
+ onChangedSelectedEmitter.dispose();
133
+ }
108
134
  });
135
+ function actAndFlush(fn) {
136
+ React.act(() => {
137
+ fn();
138
+ messaging_1.MessageLoop.flush();
139
+ });
140
+ }
141
+ function fireRepositoryAdded(repository) {
142
+ actAndFlush(() => onAddEmitter.fire(repository));
143
+ }
144
+ function fireRepositoryRemoved(repository) {
145
+ actAndFlush(() => onRemoveEmitter.fire(repository));
146
+ }
109
147
  // --- Visibility ---
110
148
  it('should not programmatically show when there are no repositories', () => {
111
149
  // The widget does not call setHidden(false) with < 2 repos.
@@ -116,7 +154,7 @@ describe('ScmRepositoriesWidget', () => {
116
154
  it('should not programmatically show when there is exactly one repository', () => {
117
155
  const repo = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
118
156
  repositories.push(repo);
119
- onAddEmitter.fire(repo);
157
+ fireRepositoryAdded(repo);
120
158
  // With < 2 repos the widget does NOT call setHidden(false).
121
159
  // It remains in its initial state (visible in standalone test, hidden in real ViewContainer).
122
160
  (0, chai_1.expect)(widget.isHidden).to.be.false;
@@ -125,17 +163,17 @@ describe('ScmRepositoriesWidget', () => {
125
163
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
126
164
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
127
165
  repositories.push(repo1, repo2);
128
- onAddEmitter.fire(repo2);
166
+ fireRepositoryAdded(repo2);
129
167
  (0, chai_1.expect)(widget.isHidden).to.be.false;
130
168
  });
131
169
  it('should not programmatically hide when repositories drop below 2', () => {
132
170
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
133
171
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
134
172
  repositories.push(repo1, repo2);
135
- onAddEmitter.fire(repo2);
173
+ fireRepositoryAdded(repo2);
136
174
  (0, chai_1.expect)(widget.isHidden).to.be.false;
137
175
  repositories.splice(1, 1);
138
- onRemoveEmitter.fire(repo2);
176
+ fireRepositoryRemoved(repo2);
139
177
  // Widget stays visible — we never programmatically hide
140
178
  (0, chai_1.expect)(widget.isHidden).to.be.false;
141
179
  });
@@ -146,8 +184,13 @@ describe('ScmRepositoriesWidget', () => {
146
184
  function renderIntoContainer(node) {
147
185
  const container = document.createElement('div');
148
186
  document.body.appendChild(container);
149
- ReactDOM.render(node, container);
150
- return container;
187
+ const root = (0, client_1.createRoot)(container);
188
+ const renderedRoot = { container, root };
189
+ renderedRoots.push(renderedRoot);
190
+ React.act(() => {
191
+ root.render(node);
192
+ });
193
+ return renderedRoot;
151
194
  }
152
195
  it('should render a repo icon, folder name, and status commands for each repository', () => {
153
196
  const repo1 = makeRepo({
@@ -156,9 +199,9 @@ describe('ScmRepositoriesWidget', () => {
156
199
  });
157
200
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
158
201
  repositories.push(repo1, repo2);
159
- onAddEmitter.fire(repo2);
202
+ fireRepositoryAdded(repo2);
160
203
  const rendered = widget.render();
161
- const container = renderIntoContainer(rendered);
204
+ const { container } = renderIntoContainer(rendered);
162
205
  const rows = container.querySelectorAll('.theia-scm-repository-item');
163
206
  (0, chai_1.expect)(rows.length).to.equal(2);
164
207
  const myrepoRow = Array.from(rows).find(r => r.querySelector('.theia-scm-repository-name')?.textContent === 'myrepo');
@@ -167,22 +210,18 @@ describe('ScmRepositoriesWidget', () => {
167
210
  (0, chai_1.expect)(iconEl).to.exist;
168
211
  const statusCmd = myrepoRow.querySelector('.theia-scm-repository-status-command');
169
212
  (0, chai_1.expect)(statusCmd).to.exist;
170
- ReactDOM.unmountComponentAtNode(container);
171
- container.remove();
172
213
  });
173
214
  it('should apply "selected" class only to the selected repository row', () => {
174
215
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
175
216
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
176
217
  repositories.push(repo1, repo2);
177
218
  selectedRepositoryRef.value = repo1;
178
- onAddEmitter.fire(repo2);
219
+ fireRepositoryAdded(repo2);
179
220
  const rendered = widget.render();
180
- const container = renderIntoContainer(rendered);
221
+ const { container } = renderIntoContainer(rendered);
181
222
  const rows = container.querySelectorAll('.theia-scm-repository-item');
182
223
  (0, chai_1.expect)(rows[0].classList.contains('selected')).to.be.true;
183
224
  (0, chai_1.expect)(rows[1].classList.contains('selected')).to.be.false;
184
- ReactDOM.unmountComponentAtNode(container);
185
- container.remove();
186
225
  });
187
226
  it('should execute the status command when clicked and stop propagation', async () => {
188
227
  const repo1 = makeRepo({
@@ -191,9 +230,9 @@ describe('ScmRepositoriesWidget', () => {
191
230
  });
192
231
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
193
232
  repositories.push(repo1, repo2);
194
- onAddEmitter.fire(repo2);
233
+ fireRepositoryAdded(repo2);
195
234
  const rendered = widget.render();
196
- const container = renderIntoContainer(rendered);
235
+ const { container } = renderIntoContainer(rendered);
197
236
  const statusCmd = container.querySelector('.theia-scm-repository-status-command');
198
237
  (0, chai_1.expect)(statusCmd).to.exist;
199
238
  statusCmd.click();
@@ -201,8 +240,6 @@ describe('ScmRepositoriesWidget', () => {
201
240
  (0, chai_1.expect)(executedCommands).to.have.length(1);
202
241
  (0, chai_1.expect)(executedCommands[0].id).to.equal('git.sync');
203
242
  (0, chai_1.expect)(executedCommands[0].args).to.deep.equal(['arg1']);
204
- ReactDOM.unmountComponentAtNode(container);
205
- container.remove();
206
243
  });
207
244
  // --- Grouping: parent-based nesting ---
208
245
  it('should show worktrees nested under their parent repo with collapse toggle', () => {
@@ -221,9 +258,9 @@ describe('ScmRepositoriesWidget', () => {
221
258
  parentRootUri: '/projects/myrepo'
222
259
  });
223
260
  repositories.push(parent, wt1, wt2);
224
- onAddEmitter.fire(wt1);
261
+ fireRepositoryAdded(wt1);
225
262
  const rendered = widget.render();
226
- const container = renderIntoContainer(rendered);
263
+ const { container } = renderIntoContainer(rendered);
227
264
  const rows = container.querySelectorAll('.theia-scm-repository-item');
228
265
  (0, chai_1.expect)(rows.length).to.equal(3);
229
266
  // Parent has collapse toggle
@@ -233,8 +270,6 @@ describe('ScmRepositoriesWidget', () => {
233
270
  (0, chai_1.expect)(rows[2].classList.contains('child')).to.be.true;
234
271
  // Parent does not have .child class
235
272
  (0, chai_1.expect)(rows[0].classList.contains('child')).to.be.false;
236
- ReactDOM.unmountComponentAtNode(container);
237
- container.remove();
238
273
  });
239
274
  it('should show submodules nested under their parent repo', () => {
240
275
  const parent = makeRepo({
@@ -247,9 +282,9 @@ describe('ScmRepositoriesWidget', () => {
247
282
  parentRootUri: '/projects/myrepo'
248
283
  });
249
284
  repositories.push(parent, sub);
250
- onAddEmitter.fire(sub);
285
+ fireRepositoryAdded(sub);
251
286
  const rendered = widget.render();
252
- const container = renderIntoContainer(rendered);
287
+ const { container } = renderIntoContainer(rendered);
253
288
  const rows = container.querySelectorAll('.theia-scm-repository-item');
254
289
  (0, chai_1.expect)(rows.length).to.equal(2);
255
290
  (0, chai_1.expect)(rows[0].querySelector('.theia-scm-repository-collapse-toggle')).to.exist;
@@ -258,8 +293,6 @@ describe('ScmRepositoriesWidget', () => {
258
293
  const subIcon = rows[1].querySelector('.theia-scm-repository-icon');
259
294
  (0, chai_1.expect)(subIcon).to.exist;
260
295
  (0, chai_1.expect)(subIcon.className).to.include('codicon-file-submodule');
261
- ReactDOM.unmountComponentAtNode(container);
262
- container.remove();
263
296
  });
264
297
  it('should show independent nested repos flat without grouping', () => {
265
298
  const gitRepo = makeRepo({
@@ -271,9 +304,9 @@ describe('ScmRepositoriesWidget', () => {
271
304
  providerContextValue: 'repository'
272
305
  });
273
306
  repositories.push(gitRepo, nestedRepo);
274
- onAddEmitter.fire(nestedRepo);
307
+ fireRepositoryAdded(nestedRepo);
275
308
  const rendered = widget.render();
276
- const container = renderIntoContainer(rendered);
309
+ const { container } = renderIntoContainer(rendered);
277
310
  const rows = container.querySelectorAll('.theia-scm-repository-item');
278
311
  // Both repos are flat (no parent relationship set)
279
312
  (0, chai_1.expect)(rows.length).to.equal(2);
@@ -287,8 +320,6 @@ describe('ScmRepositoriesWidget', () => {
287
320
  const icon1 = rows[1].querySelector('.theia-scm-repository-icon');
288
321
  (0, chai_1.expect)(icon0.className).to.include('codicon-repo');
289
322
  (0, chai_1.expect)(icon1.className).to.include('codicon-repo');
290
- ReactDOM.unmountComponentAtNode(container);
291
- container.remove();
292
323
  });
293
324
  it('should use codicon-worktree for worktrees', () => {
294
325
  const parent = makeRepo({
@@ -300,14 +331,12 @@ describe('ScmRepositoriesWidget', () => {
300
331
  parentRootUri: '/projects/myrepo'
301
332
  });
302
333
  repositories.push(parent, wt);
303
- onAddEmitter.fire(wt);
334
+ fireRepositoryAdded(wt);
304
335
  const rendered = widget.render();
305
- const container = renderIntoContainer(rendered);
336
+ const { container } = renderIntoContainer(rendered);
306
337
  const rows = container.querySelectorAll('.theia-scm-repository-item');
307
338
  const wtIcon = rows[1].querySelector('.theia-scm-repository-icon');
308
339
  (0, chai_1.expect)(wtIcon.className).to.include('codicon-worktree');
309
- ReactDOM.unmountComponentAtNode(container);
310
- container.remove();
311
340
  });
312
341
  it('should handle mixed scenario: parent + worktree + submodule + independent repo', () => {
313
342
  const parent = makeRepo({
@@ -329,9 +358,9 @@ describe('ScmRepositoriesWidget', () => {
329
358
  providerContextValue: 'repository'
330
359
  });
331
360
  repositories.push(parent, wt, sub, independent);
332
- onAddEmitter.fire(independent);
361
+ fireRepositoryAdded(independent);
333
362
  const rendered = widget.render();
334
- const container = renderIntoContainer(rendered);
363
+ const { container } = renderIntoContainer(rendered);
335
364
  const rows = container.querySelectorAll('.theia-scm-repository-item');
336
365
  // parent (root with toggle) + wt (child) + sub (child) + independent (root, no toggle)
337
366
  (0, chai_1.expect)(rows.length).to.equal(4);
@@ -344,8 +373,6 @@ describe('ScmRepositoriesWidget', () => {
344
373
  // Fourth: independent, flat, no collapse toggle
345
374
  (0, chai_1.expect)(rows[3].classList.contains('child')).to.be.false;
346
375
  (0, chai_1.expect)(rows[3].querySelector('.theia-scm-repository-collapse-toggle')).to.not.exist;
347
- ReactDOM.unmountComponentAtNode(container);
348
- container.remove();
349
376
  });
350
377
  it('should hide children when parent is collapsed', () => {
351
378
  const parent = makeRepo({
@@ -357,46 +384,40 @@ describe('ScmRepositoriesWidget', () => {
357
384
  parentRootUri: '/projects/myrepo'
358
385
  });
359
386
  repositories.push(parent, child);
360
- onAddEmitter.fire(child);
387
+ fireRepositoryAdded(child);
361
388
  // Collapse the parent
362
- widget.toggleCollapse(parent.provider.rootUri);
389
+ actAndFlush(() => widget.toggleCollapse(parent.provider.rootUri));
363
390
  const rendered = widget.render();
364
- const container = renderIntoContainer(rendered);
391
+ const { container } = renderIntoContainer(rendered);
365
392
  const rows = container.querySelectorAll('.theia-scm-repository-item');
366
393
  (0, chai_1.expect)(rows.length).to.equal(1);
367
394
  const toggle = rows[0].querySelector('.theia-scm-repository-collapse-toggle');
368
395
  (0, chai_1.expect)(toggle).to.exist;
369
396
  (0, chai_1.expect)(toggle.className).to.include('codicon-chevron-right');
370
- ReactDOM.unmountComponentAtNode(container);
371
- container.remove();
372
397
  });
373
398
  it('should render a ... more-button on each repository row', () => {
374
399
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
375
400
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
376
401
  repositories.push(repo1, repo2);
377
- onAddEmitter.fire(repo2);
402
+ fireRepositoryAdded(repo2);
378
403
  const rendered = widget.render();
379
- const container = renderIntoContainer(rendered);
404
+ const { container } = renderIntoContainer(rendered);
380
405
  const moreButtons = container.querySelectorAll('.theia-scm-repository-more-button');
381
406
  (0, chai_1.expect)(moreButtons.length).to.equal(2);
382
- ReactDOM.unmountComponentAtNode(container);
383
- container.remove();
384
407
  });
385
408
  it('should create separate flat entries for repos with different provider ids and no parent', () => {
386
409
  const gitRepo = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/myrepo' });
387
410
  const svnRepo = makeRepo({ id: 'svn', label: 'SVN', rootUri: '/workspace/other' });
388
411
  repositories.push(gitRepo, svnRepo);
389
- onAddEmitter.fire(svnRepo);
412
+ fireRepositoryAdded(svnRepo);
390
413
  const rendered = widget.render();
391
- const container = renderIntoContainer(rendered);
414
+ const { container } = renderIntoContainer(rendered);
392
415
  const rows = container.querySelectorAll('.theia-scm-repository-item');
393
416
  (0, chai_1.expect)(rows.length).to.equal(2);
394
417
  (0, chai_1.expect)(rows[0].classList.contains('child')).to.be.false;
395
418
  (0, chai_1.expect)(rows[1].classList.contains('child')).to.be.false;
396
419
  (0, chai_1.expect)(rows[0].querySelector('.theia-scm-repository-collapse-toggle')).to.not.exist;
397
420
  (0, chai_1.expect)(rows[1].querySelector('.theia-scm-repository-collapse-toggle')).to.not.exist;
398
- ReactDOM.unmountComponentAtNode(container);
399
- container.remove();
400
421
  });
401
422
  // --- Duplicate name disambiguation ---
402
423
  it('should show relative path descriptions when two repos share the same folder name', () => {
@@ -404,9 +425,9 @@ describe('ScmRepositoriesWidget', () => {
404
425
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/foo' });
405
426
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/bar/foo' });
406
427
  repositories.push(repo1, repo2);
407
- onAddEmitter.fire(repo2);
428
+ fireRepositoryAdded(repo2);
408
429
  const rendered = widget.render();
409
- const container = renderIntoContainer(rendered);
430
+ const { container } = renderIntoContainer(rendered);
410
431
  const rows = container.querySelectorAll('.theia-scm-repository-item');
411
432
  (0, chai_1.expect)(rows.length).to.equal(2);
412
433
  const desc0 = rows[0].querySelector('.theia-scm-repository-description');
@@ -416,16 +437,14 @@ describe('ScmRepositoriesWidget', () => {
416
437
  // Repo at workspace root shows "/", nested repo shows relative path
417
438
  (0, chai_1.expect)(desc0.textContent).to.equal('/');
418
439
  (0, chai_1.expect)(desc1.textContent).to.equal('bar');
419
- ReactDOM.unmountComponentAtNode(container);
420
- container.remove();
421
440
  });
422
441
  it('should show relative descriptions when duplicate names are in sibling directories', () => {
423
442
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/projects/lib' });
424
443
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/vendor/lib' });
425
444
  repositories.push(repo1, repo2);
426
- onAddEmitter.fire(repo2);
445
+ fireRepositoryAdded(repo2);
427
446
  const rendered = widget.render();
428
- const container = renderIntoContainer(rendered);
447
+ const { container } = renderIntoContainer(rendered);
429
448
  const rows = container.querySelectorAll('.theia-scm-repository-item');
430
449
  (0, chai_1.expect)(rows.length).to.equal(2);
431
450
  const desc0 = rows[0].querySelector('.theia-scm-repository-description');
@@ -434,23 +453,19 @@ describe('ScmRepositoriesWidget', () => {
434
453
  (0, chai_1.expect)(desc1).to.exist;
435
454
  (0, chai_1.expect)(desc0.textContent).to.equal('projects');
436
455
  (0, chai_1.expect)(desc1.textContent).to.equal('vendor');
437
- ReactDOM.unmountComponentAtNode(container);
438
- container.remove();
439
456
  });
440
457
  it('should not show a description path when all repos have unique folder names', () => {
441
458
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/alpha' });
442
459
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/beta' });
443
460
  repositories.push(repo1, repo2);
444
- onAddEmitter.fire(repo2);
461
+ fireRepositoryAdded(repo2);
445
462
  const rendered = widget.render();
446
- const container = renderIntoContainer(rendered);
463
+ const { container } = renderIntoContainer(rendered);
447
464
  const rows = container.querySelectorAll('.theia-scm-repository-item');
448
465
  (0, chai_1.expect)(rows.length).to.equal(2);
449
466
  // No description elements since names are unique
450
467
  (0, chai_1.expect)(rows[0].querySelector('.theia-scm-repository-description')).to.not.exist;
451
468
  (0, chai_1.expect)(rows[1].querySelector('.theia-scm-repository-description')).to.not.exist;
452
- ReactDOM.unmountComponentAtNode(container);
453
- container.remove();
454
469
  });
455
470
  });
456
471
  //# sourceMappingURL=scm-repositories-widget.spec.js.map