@theia/scm 1.73.0-next.31 → 1.73.0-next.40

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.
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"scm-repositories-widget.spec.js","sourceRoot":"","sources":["../../src/browser/scm-repositories-widget.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scm-repositories-widget.spec.js","sourceRoot":"","sources":["../../src/browser/scm-repositories-widget.spec.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,7 @@ export declare namespace ScmElement {
131
131
  }
132
132
  }
133
133
  export declare class ScmResourceComponent extends ScmElement<ScmResourceComponent.Props> {
134
- render(): JSX.Element | undefined;
134
+ render(): React.JSX.Element | undefined;
135
135
  protected open: () => void;
136
136
  protected readonly contextMenuPath: string[];
137
137
  protected get contextMenuArgs(): any[];
@@ -157,7 +157,7 @@ export declare namespace ScmResourceComponent {
157
157
  }
158
158
  }
159
159
  export declare class ScmResourceGroupElement extends ScmElement<ScmResourceGroupComponent.Props> {
160
- render(): JSX.Element;
160
+ render(): React.JSX.Element;
161
161
  protected renderChangeCount(): React.ReactNode;
162
162
  protected readonly contextMenuPath: string[];
163
163
  protected get contextMenuArgs(): any[];
@@ -168,7 +168,7 @@ export declare namespace ScmResourceGroupComponent {
168
168
  }
169
169
  }
170
170
  export declare class ScmResourceFolderElement extends ScmElement<ScmResourceFolderElement.Props> {
171
- render(): JSX.Element;
171
+ render(): React.JSX.Element;
172
172
  protected readonly contextMenuPath: string[];
173
173
  protected get contextMenuArgs(): any[];
174
174
  protected get singleNodeArgs(): any[];
@@ -1 +1 @@
1
- {"version":3,"file":"scm-tree-widget.d.ts","sourceRoot":"","sources":["../../src/browser/scm-tree-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scm-tree-widget.d.ts","sourceRoot":"","sources":["../../src/browser/scm-tree-widget.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@theia/scm",
3
- "version": "1.73.0-next.31+f888a90fa",
3
+ "version": "1.73.0-next.40+201e8aea5",
4
4
  "description": "Theia - Source control Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.73.0-next.31+f888a90fa",
7
- "@theia/editor": "1.73.0-next.31+f888a90fa",
8
- "@theia/filesystem": "1.73.0-next.31+f888a90fa",
9
- "@theia/monaco": "1.73.0-next.31+f888a90fa",
6
+ "@theia/core": "1.73.0-next.40+201e8aea5",
7
+ "@theia/editor": "1.73.0-next.40+201e8aea5",
8
+ "@theia/filesystem": "1.73.0-next.40+201e8aea5",
9
+ "@theia/monaco": "1.73.0-next.40+201e8aea5",
10
10
  "@theia/monaco-editor-core": "1.108.201",
11
11
  "@types/diff": "^5.2.3",
12
12
  "diff": "^5.2.2",
@@ -55,5 +55,5 @@
55
55
  "nyc": {
56
56
  "extends": "../../configs/nyc.json"
57
57
  },
58
- "gitHead": "f888a90fa9ccf8c0468fcb567369625c51ede3ee"
58
+ "gitHead": "201e8aea5001e76ba316499bc634ae485b97b098"
59
59
  }
@@ -273,7 +273,7 @@ export class ScmAmendComponent extends React.Component<ScmAmendComponentProps, S
273
273
  this.props.setCommitMessage(message);
274
274
  }
275
275
 
276
- override render(): JSX.Element {
276
+ override render(): React.JSX.Element {
277
277
  const neverShrink = this.state.amendingCommits.length <= 3;
278
278
 
279
279
  const style: React.CSSProperties = neverShrink
@@ -439,7 +439,7 @@ export class ScmAmendComponent extends React.Component<ScmAmendComponentProps, S
439
439
  </div>;
440
440
  }
441
441
 
442
- protected renderCommitBeingAmended(commitData: { commit: ScmCommit, avatar: string }, isOldestAmendCommit: boolean): JSX.Element {
442
+ protected renderCommitBeingAmended(commitData: { commit: ScmCommit, avatar: string }, isOldestAmendCommit: boolean): React.JSX.Element {
443
443
  if (isOldestAmendCommit && this.state.transition.state !== 'none' && this.state.transition.direction === 'up') {
444
444
  return <div className={ScmAmendComponent.Styles.COMMIT_AVATAR_AND_TEXT} style={{ flexGrow: 0, flexShrink: 0 }} key={commitData.commit.id}>
445
445
  <div className='fixed-height-commit-container'>
@@ -14,17 +14,20 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
17
+ import { enableJSDOM, enableReactActEnvironment } from '@theia/core/lib/browser/test/jsdom';
18
18
  let disableJSDOM = enableJSDOM();
19
+ let disableReactActEnvironment = enableReactActEnvironment();
19
20
 
20
21
  import { expect } from 'chai';
21
22
  import * as React from '@theia/core/shared/react';
22
- import * as ReactDOM from '@theia/core/shared/react-dom';
23
+ import { createRoot, Root } from '@theia/core/shared/react-dom/client';
24
+ import { MessageLoop } from '@theia/core/shared/@lumino/messaging';
23
25
  import { Emitter } from '@theia/core/lib/common/event';
24
26
  import { LabelParser } from '@theia/core/lib/browser/label-parser';
25
27
  import { ScmRepositoriesWidget } from './scm-repositories-widget';
26
28
  import { ScmRepository } from './scm-repository';
27
29
 
30
+ disableReactActEnvironment();
28
31
  disableJSDOM();
29
32
 
30
33
  interface MakeRepoOptions {
@@ -98,7 +101,10 @@ function createWidget(opts: CreateWidgetOptions): ScmRepositoriesWidget {
98
101
  (widget as unknown as Record<string, unknown>).contextMenuRenderer = mockContextMenuRenderer;
99
102
  (widget as unknown as Record<string, unknown>).scmContextKeys = mockScmContextKeys;
100
103
 
101
- (widget as unknown as { init(): void }).init();
104
+ React.act(() => {
105
+ (widget as unknown as { init(): void }).init();
106
+ MessageLoop.flush();
107
+ });
102
108
 
103
109
  return widget;
104
110
  }
@@ -111,16 +117,20 @@ describe('ScmRepositoriesWidget', () => {
111
117
  let onChangedSelectedEmitter: Emitter<ScmRepository | undefined>;
112
118
  let executedCommands: { id: string; args: unknown[] }[];
113
119
  let widget: ScmRepositoriesWidget;
120
+ let renderedRoots: Array<{ container: HTMLElement; root: Root }>;
114
121
 
115
122
  before(() => {
116
123
  disableJSDOM = enableJSDOM();
124
+ disableReactActEnvironment = enableReactActEnvironment();
117
125
  });
118
126
 
119
127
  after(() => {
128
+ disableReactActEnvironment();
120
129
  disableJSDOM();
121
130
  });
122
131
 
123
132
  beforeEach(() => {
133
+ renderedRoots = [];
124
134
  repositories = [];
125
135
  selectedRepositoryRef = { value: undefined };
126
136
  onAddEmitter = new Emitter<ScmRepository>();
@@ -138,11 +148,40 @@ describe('ScmRepositoriesWidget', () => {
138
148
  });
139
149
 
140
150
  afterEach(() => {
141
- onAddEmitter.dispose();
142
- onRemoveEmitter.dispose();
143
- onChangedSelectedEmitter.dispose();
151
+ try {
152
+ React.act(() => {
153
+ for (const { root } of renderedRoots) {
154
+ root.unmount();
155
+ }
156
+ widget.dispose();
157
+ MessageLoop.flush();
158
+ });
159
+ } finally {
160
+ for (const { container } of renderedRoots) {
161
+ container.remove();
162
+ }
163
+ renderedRoots = [];
164
+ onAddEmitter.dispose();
165
+ onRemoveEmitter.dispose();
166
+ onChangedSelectedEmitter.dispose();
167
+ }
144
168
  });
145
169
 
170
+ function actAndFlush(fn: () => void): void {
171
+ React.act(() => {
172
+ fn();
173
+ MessageLoop.flush();
174
+ });
175
+ }
176
+
177
+ function fireRepositoryAdded(repository: ScmRepository): void {
178
+ actAndFlush(() => onAddEmitter.fire(repository));
179
+ }
180
+
181
+ function fireRepositoryRemoved(repository: ScmRepository): void {
182
+ actAndFlush(() => onRemoveEmitter.fire(repository));
183
+ }
184
+
146
185
  // --- Visibility ---
147
186
 
148
187
  it('should not programmatically show when there are no repositories', () => {
@@ -155,7 +194,7 @@ describe('ScmRepositoriesWidget', () => {
155
194
  it('should not programmatically show when there is exactly one repository', () => {
156
195
  const repo = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
157
196
  repositories.push(repo);
158
- onAddEmitter.fire(repo);
197
+ fireRepositoryAdded(repo);
159
198
  // With < 2 repos the widget does NOT call setHidden(false).
160
199
  // It remains in its initial state (visible in standalone test, hidden in real ViewContainer).
161
200
  expect(widget.isHidden).to.be.false;
@@ -165,7 +204,7 @@ describe('ScmRepositoriesWidget', () => {
165
204
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
166
205
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
167
206
  repositories.push(repo1, repo2);
168
- onAddEmitter.fire(repo2);
207
+ fireRepositoryAdded(repo2);
169
208
  expect(widget.isHidden).to.be.false;
170
209
  });
171
210
 
@@ -173,11 +212,11 @@ describe('ScmRepositoriesWidget', () => {
173
212
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
174
213
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
175
214
  repositories.push(repo1, repo2);
176
- onAddEmitter.fire(repo2);
215
+ fireRepositoryAdded(repo2);
177
216
  expect(widget.isHidden).to.be.false;
178
217
 
179
218
  repositories.splice(1, 1);
180
- onRemoveEmitter.fire(repo2);
219
+ fireRepositoryRemoved(repo2);
181
220
  // Widget stays visible — we never programmatically hide
182
221
  expect(widget.isHidden).to.be.false;
183
222
  });
@@ -188,11 +227,16 @@ describe('ScmRepositoriesWidget', () => {
188
227
 
189
228
  // --- Rendering ---
190
229
 
191
- function renderIntoContainer(node: React.ReactNode): HTMLElement {
230
+ function renderIntoContainer(node: React.ReactNode): { container: HTMLElement; root: Root } {
192
231
  const container = document.createElement('div');
193
232
  document.body.appendChild(container);
194
- ReactDOM.render(node as React.ReactElement, container);
195
- return container;
233
+ const root = createRoot(container);
234
+ const renderedRoot = { container, root };
235
+ renderedRoots.push(renderedRoot);
236
+ React.act(() => {
237
+ root.render(node);
238
+ });
239
+ return renderedRoot;
196
240
  }
197
241
 
198
242
  it('should render a repo icon, folder name, and status commands for each repository', () => {
@@ -202,10 +246,10 @@ describe('ScmRepositoriesWidget', () => {
202
246
  });
203
247
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
204
248
  repositories.push(repo1, repo2);
205
- onAddEmitter.fire(repo2);
249
+ fireRepositoryAdded(repo2);
206
250
 
207
251
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
208
- const container = renderIntoContainer(rendered);
252
+ const { container } = renderIntoContainer(rendered);
209
253
 
210
254
  const rows = container.querySelectorAll('.theia-scm-repository-item');
211
255
  expect(rows.length).to.equal(2);
@@ -218,9 +262,6 @@ describe('ScmRepositoriesWidget', () => {
218
262
 
219
263
  const statusCmd = myrepoRow!.querySelector('.theia-scm-repository-status-command');
220
264
  expect(statusCmd).to.exist;
221
-
222
- ReactDOM.unmountComponentAtNode(container);
223
- container.remove();
224
265
  });
225
266
 
226
267
  it('should apply "selected" class only to the selected repository row', () => {
@@ -228,17 +269,14 @@ describe('ScmRepositoriesWidget', () => {
228
269
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
229
270
  repositories.push(repo1, repo2);
230
271
  selectedRepositoryRef.value = repo1;
231
- onAddEmitter.fire(repo2);
272
+ fireRepositoryAdded(repo2);
232
273
 
233
274
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
234
- const container = renderIntoContainer(rendered);
275
+ const { container } = renderIntoContainer(rendered);
235
276
 
236
277
  const rows = container.querySelectorAll('.theia-scm-repository-item');
237
278
  expect(rows[0].classList.contains('selected')).to.be.true;
238
279
  expect(rows[1].classList.contains('selected')).to.be.false;
239
-
240
- ReactDOM.unmountComponentAtNode(container);
241
- container.remove();
242
280
  });
243
281
 
244
282
  it('should execute the status command when clicked and stop propagation', async () => {
@@ -248,10 +286,10 @@ describe('ScmRepositoriesWidget', () => {
248
286
  });
249
287
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
250
288
  repositories.push(repo1, repo2);
251
- onAddEmitter.fire(repo2);
289
+ fireRepositoryAdded(repo2);
252
290
 
253
291
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
254
- const container = renderIntoContainer(rendered);
292
+ const { container } = renderIntoContainer(rendered);
255
293
 
256
294
  const statusCmd = container.querySelector('.theia-scm-repository-status-command') as HTMLElement;
257
295
  expect(statusCmd).to.exist;
@@ -262,9 +300,6 @@ describe('ScmRepositoriesWidget', () => {
262
300
  expect(executedCommands).to.have.length(1);
263
301
  expect(executedCommands[0].id).to.equal('git.sync');
264
302
  expect(executedCommands[0].args).to.deep.equal(['arg1']);
265
-
266
- ReactDOM.unmountComponentAtNode(container);
267
- container.remove();
268
303
  });
269
304
 
270
305
  // --- Grouping: parent-based nesting ---
@@ -285,10 +320,10 @@ describe('ScmRepositoriesWidget', () => {
285
320
  parentRootUri: '/projects/myrepo'
286
321
  });
287
322
  repositories.push(parent, wt1, wt2);
288
- onAddEmitter.fire(wt1);
323
+ fireRepositoryAdded(wt1);
289
324
 
290
325
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
291
- const container = renderIntoContainer(rendered);
326
+ const { container } = renderIntoContainer(rendered);
292
327
 
293
328
  const rows = container.querySelectorAll('.theia-scm-repository-item');
294
329
  expect(rows.length).to.equal(3);
@@ -300,9 +335,6 @@ describe('ScmRepositoriesWidget', () => {
300
335
  expect(rows[2].classList.contains('child')).to.be.true;
301
336
  // Parent does not have .child class
302
337
  expect(rows[0].classList.contains('child')).to.be.false;
303
-
304
- ReactDOM.unmountComponentAtNode(container);
305
- container.remove();
306
338
  });
307
339
 
308
340
  it('should show submodules nested under their parent repo', () => {
@@ -316,10 +348,10 @@ describe('ScmRepositoriesWidget', () => {
316
348
  parentRootUri: '/projects/myrepo'
317
349
  });
318
350
  repositories.push(parent, sub);
319
- onAddEmitter.fire(sub);
351
+ fireRepositoryAdded(sub);
320
352
 
321
353
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
322
- const container = renderIntoContainer(rendered);
354
+ const { container } = renderIntoContainer(rendered);
323
355
 
324
356
  const rows = container.querySelectorAll('.theia-scm-repository-item');
325
357
  expect(rows.length).to.equal(2);
@@ -331,9 +363,6 @@ describe('ScmRepositoriesWidget', () => {
331
363
  const subIcon = rows[1].querySelector('.theia-scm-repository-icon');
332
364
  expect(subIcon).to.exist;
333
365
  expect(subIcon!.className).to.include('codicon-file-submodule');
334
-
335
- ReactDOM.unmountComponentAtNode(container);
336
- container.remove();
337
366
  });
338
367
 
339
368
  it('should show independent nested repos flat without grouping', () => {
@@ -346,10 +375,10 @@ describe('ScmRepositoriesWidget', () => {
346
375
  providerContextValue: 'repository'
347
376
  });
348
377
  repositories.push(gitRepo, nestedRepo);
349
- onAddEmitter.fire(nestedRepo);
378
+ fireRepositoryAdded(nestedRepo);
350
379
 
351
380
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
352
- const container = renderIntoContainer(rendered);
381
+ const { container } = renderIntoContainer(rendered);
353
382
 
354
383
  const rows = container.querySelectorAll('.theia-scm-repository-item');
355
384
  // Both repos are flat (no parent relationship set)
@@ -365,9 +394,6 @@ describe('ScmRepositoriesWidget', () => {
365
394
  const icon1 = rows[1].querySelector('.theia-scm-repository-icon');
366
395
  expect(icon0!.className).to.include('codicon-repo');
367
396
  expect(icon1!.className).to.include('codicon-repo');
368
-
369
- ReactDOM.unmountComponentAtNode(container);
370
- container.remove();
371
397
  });
372
398
 
373
399
  it('should use codicon-worktree for worktrees', () => {
@@ -380,17 +406,14 @@ describe('ScmRepositoriesWidget', () => {
380
406
  parentRootUri: '/projects/myrepo'
381
407
  });
382
408
  repositories.push(parent, wt);
383
- onAddEmitter.fire(wt);
409
+ fireRepositoryAdded(wt);
384
410
 
385
411
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
386
- const container = renderIntoContainer(rendered);
412
+ const { container } = renderIntoContainer(rendered);
387
413
 
388
414
  const rows = container.querySelectorAll('.theia-scm-repository-item');
389
415
  const wtIcon = rows[1].querySelector('.theia-scm-repository-icon');
390
416
  expect(wtIcon!.className).to.include('codicon-worktree');
391
-
392
- ReactDOM.unmountComponentAtNode(container);
393
- container.remove();
394
417
  });
395
418
 
396
419
  it('should handle mixed scenario: parent + worktree + submodule + independent repo', () => {
@@ -413,10 +436,10 @@ describe('ScmRepositoriesWidget', () => {
413
436
  providerContextValue: 'repository'
414
437
  });
415
438
  repositories.push(parent, wt, sub, independent);
416
- onAddEmitter.fire(independent);
439
+ fireRepositoryAdded(independent);
417
440
 
418
441
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
419
- const container = renderIntoContainer(rendered);
442
+ const { container } = renderIntoContainer(rendered);
420
443
 
421
444
  const rows = container.querySelectorAll('.theia-scm-repository-item');
422
445
  // parent (root with toggle) + wt (child) + sub (child) + independent (root, no toggle)
@@ -433,9 +456,6 @@ describe('ScmRepositoriesWidget', () => {
433
456
  // Fourth: independent, flat, no collapse toggle
434
457
  expect(rows[3].classList.contains('child')).to.be.false;
435
458
  expect(rows[3].querySelector('.theia-scm-repository-collapse-toggle')).to.not.exist;
436
-
437
- ReactDOM.unmountComponentAtNode(container);
438
- container.remove();
439
459
  });
440
460
 
441
461
  it('should hide children when parent is collapsed', () => {
@@ -448,48 +468,42 @@ describe('ScmRepositoriesWidget', () => {
448
468
  parentRootUri: '/projects/myrepo'
449
469
  });
450
470
  repositories.push(parent, child);
451
- onAddEmitter.fire(child);
471
+ fireRepositoryAdded(child);
452
472
 
453
473
  // Collapse the parent
454
- (widget as unknown as { toggleCollapse(uri: string): void }).toggleCollapse(parent.provider.rootUri);
474
+ actAndFlush(() => (widget as unknown as { toggleCollapse(uri: string): void }).toggleCollapse(parent.provider.rootUri));
455
475
 
456
476
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
457
- const container = renderIntoContainer(rendered);
477
+ const { container } = renderIntoContainer(rendered);
458
478
 
459
479
  const rows = container.querySelectorAll('.theia-scm-repository-item');
460
480
  expect(rows.length).to.equal(1);
461
481
  const toggle = rows[0].querySelector('.theia-scm-repository-collapse-toggle');
462
482
  expect(toggle).to.exist;
463
483
  expect(toggle!.className).to.include('codicon-chevron-right');
464
-
465
- ReactDOM.unmountComponentAtNode(container);
466
- container.remove();
467
484
  });
468
485
 
469
486
  it('should render a ... more-button on each repository row', () => {
470
487
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo1' });
471
488
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/repo2' });
472
489
  repositories.push(repo1, repo2);
473
- onAddEmitter.fire(repo2);
490
+ fireRepositoryAdded(repo2);
474
491
 
475
492
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
476
- const container = renderIntoContainer(rendered);
493
+ const { container } = renderIntoContainer(rendered);
477
494
 
478
495
  const moreButtons = container.querySelectorAll('.theia-scm-repository-more-button');
479
496
  expect(moreButtons.length).to.equal(2);
480
-
481
- ReactDOM.unmountComponentAtNode(container);
482
- container.remove();
483
497
  });
484
498
 
485
499
  it('should create separate flat entries for repos with different provider ids and no parent', () => {
486
500
  const gitRepo = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/myrepo' });
487
501
  const svnRepo = makeRepo({ id: 'svn', label: 'SVN', rootUri: '/workspace/other' });
488
502
  repositories.push(gitRepo, svnRepo);
489
- onAddEmitter.fire(svnRepo);
503
+ fireRepositoryAdded(svnRepo);
490
504
 
491
505
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
492
- const container = renderIntoContainer(rendered);
506
+ const { container } = renderIntoContainer(rendered);
493
507
 
494
508
  const rows = container.querySelectorAll('.theia-scm-repository-item');
495
509
  expect(rows.length).to.equal(2);
@@ -497,9 +511,6 @@ describe('ScmRepositoriesWidget', () => {
497
511
  expect(rows[1].classList.contains('child')).to.be.false;
498
512
  expect(rows[0].querySelector('.theia-scm-repository-collapse-toggle')).to.not.exist;
499
513
  expect(rows[1].querySelector('.theia-scm-repository-collapse-toggle')).to.not.exist;
500
-
501
- ReactDOM.unmountComponentAtNode(container);
502
- container.remove();
503
514
  });
504
515
 
505
516
  // --- Duplicate name disambiguation ---
@@ -509,10 +520,10 @@ describe('ScmRepositoriesWidget', () => {
509
520
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/foo' });
510
521
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/bar/foo' });
511
522
  repositories.push(repo1, repo2);
512
- onAddEmitter.fire(repo2);
523
+ fireRepositoryAdded(repo2);
513
524
 
514
525
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
515
- const container = renderIntoContainer(rendered);
526
+ const { container } = renderIntoContainer(rendered);
516
527
 
517
528
  const rows = container.querySelectorAll('.theia-scm-repository-item');
518
529
  expect(rows.length).to.equal(2);
@@ -525,19 +536,16 @@ describe('ScmRepositoriesWidget', () => {
525
536
  // Repo at workspace root shows "/", nested repo shows relative path
526
537
  expect(desc0!.textContent).to.equal('/');
527
538
  expect(desc1!.textContent).to.equal('bar');
528
-
529
- ReactDOM.unmountComponentAtNode(container);
530
- container.remove();
531
539
  });
532
540
 
533
541
  it('should show relative descriptions when duplicate names are in sibling directories', () => {
534
542
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/projects/lib' });
535
543
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/vendor/lib' });
536
544
  repositories.push(repo1, repo2);
537
- onAddEmitter.fire(repo2);
545
+ fireRepositoryAdded(repo2);
538
546
 
539
547
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
540
- const container = renderIntoContainer(rendered);
548
+ const { container } = renderIntoContainer(rendered);
541
549
 
542
550
  const rows = container.querySelectorAll('.theia-scm-repository-item');
543
551
  expect(rows.length).to.equal(2);
@@ -549,19 +557,16 @@ describe('ScmRepositoriesWidget', () => {
549
557
 
550
558
  expect(desc0!.textContent).to.equal('projects');
551
559
  expect(desc1!.textContent).to.equal('vendor');
552
-
553
- ReactDOM.unmountComponentAtNode(container);
554
- container.remove();
555
560
  });
556
561
 
557
562
  it('should not show a description path when all repos have unique folder names', () => {
558
563
  const repo1 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/alpha' });
559
564
  const repo2 = makeRepo({ id: 'git', label: 'Git', rootUri: '/workspace/beta' });
560
565
  repositories.push(repo1, repo2);
561
- onAddEmitter.fire(repo2);
566
+ fireRepositoryAdded(repo2);
562
567
 
563
568
  const rendered = (widget as unknown as { render(): React.ReactNode }).render();
564
- const container = renderIntoContainer(rendered);
569
+ const { container } = renderIntoContainer(rendered);
565
570
 
566
571
  const rows = container.querySelectorAll('.theia-scm-repository-item');
567
572
  expect(rows.length).to.equal(2);
@@ -569,8 +574,5 @@ describe('ScmRepositoriesWidget', () => {
569
574
  // No description elements since names are unique
570
575
  expect(rows[0].querySelector('.theia-scm-repository-description')).to.not.exist;
571
576
  expect(rows[1].querySelector('.theia-scm-repository-description')).to.not.exist;
572
-
573
- ReactDOM.unmountComponentAtNode(container);
574
- container.remove();
575
577
  });
576
578
  });
@@ -564,7 +564,7 @@ export namespace ScmElement {
564
564
 
565
565
  export class ScmResourceComponent extends ScmElement<ScmResourceComponent.Props> {
566
566
 
567
- override render(): JSX.Element | undefined {
567
+ override render(): React.JSX.Element | undefined {
568
568
  const { hover } = this.state;
569
569
  const { model, treeNode, colors, parentPath, sourceUri, decoration, labelProvider, menus, contextKeys, caption, isLightTheme } = this.props;
570
570
  const resourceUri = new URI(sourceUri);
@@ -685,7 +685,7 @@ export namespace ScmResourceComponent {
685
685
 
686
686
  export class ScmResourceGroupElement extends ScmElement<ScmResourceGroupComponent.Props> {
687
687
 
688
- override render(): JSX.Element {
688
+ override render(): React.JSX.Element {
689
689
  const { hover } = this.state;
690
690
  const { model, treeNode, menus, contextKeys, caption } = this.props;
691
691
  return <div className={`theia-header scm-theia-header ${TREE_NODE_SEGMENT_GROW_CLASS}`}
@@ -735,7 +735,7 @@ export namespace ScmResourceGroupComponent {
735
735
 
736
736
  export class ScmResourceFolderElement extends ScmElement<ScmResourceFolderElement.Props> {
737
737
 
738
- override render(): JSX.Element {
738
+ override render(): React.JSX.Element {
739
739
  const { hover } = this.state;
740
740
  const { model, treeNode, sourceUri, labelProvider, menus, contextKeys, caption } = this.props;
741
741
  const sourceFileStat = FileStat.dir(sourceUri);