Skip to content

Commit

Permalink
Fix circular imports when importing ReactDialog (#14352)
Browse files Browse the repository at this point in the history
Fixes #14347

Contributed on behalf of Toro Cloud

Signed-off-by: Rannie Peralta <[email protected]>
  • Loading branch information
rannp-toro-cloud authored Oct 30, 2024
1 parent 67bdf05 commit 5b2836a
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 1 deletion.
2 changes: 1 addition & 1 deletion packages/core/src/browser/dialogs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { injectable, inject } from 'inversify';
import { Disposable, MaybePromise, CancellationTokenSource, nls } from '../common';
import { Key } from './keyboard/keys';
import { Widget, BaseWidget, Message, addKeyListener, codiconArray } from './widgets';
import { Widget, BaseWidget, Message, addKeyListener, codiconArray } from './widgets/widget';
import { FrontendApplicationContribution } from './frontend-application-contribution';

@injectable()
Expand Down
47 changes: 47 additions & 0 deletions packages/core/src/browser/dialogs/react-dialog.spec.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// *****************************************************************************
// Copyright (C) 2024 Toro Cloud Pty Ltd and others.
//
// This program and the accompanying materials are made available under the
// terms of the Eclipse Public License v. 2.0 which is available at
// http://www.eclipse.org/legal/epl-2.0.
//
// This Source Code may also be made available under the following Secondary
// Licenses when the conditions for such availability set forth in the Eclipse
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
// with the GNU Classpath Exception which is available at
// https://www.gnu.org/software/classpath/license.html.
//
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
// *****************************************************************************

import * as assert from 'assert';
import * as React from 'react';
import { enableJSDOM } from '../test/jsdom';

let disableJSDOM = enableJSDOM();

import { ReactDialog } from './react-dialog';

class MyDialog extends ReactDialog<void> {
constructor() {
super({ title: '' });
}

override get value(): void {
return;
}

protected override render(): React.ReactNode {
return <></>;
}
}

describe('ReactDialog', () => {
before(() => disableJSDOM = enableJSDOM());
after(() => disableJSDOM());

it('should be extended', () => {
const dialog = new MyDialog();
assert.equal(dialog instanceof ReactDialog, true);
});
});

0 comments on commit 5b2836a

Please sign in to comment.