diff --git a/bec_widgets/widgets/editors/web_console/web_console.py b/bec_widgets/widgets/editors/web_console/web_console.py index 06404202..cfecda42 100644 --- a/bec_widgets/widgets/editors/web_console/web_console.py +++ b/bec_widgets/widgets/editors/web_console/web_console.py @@ -204,7 +204,8 @@ class WebConsoleRegistry: if page_info.owner_gui_id == gui_id: page_info.owner_gui_id = None if not page_info.widget_ids: - self._page_registry[unique_id].page = None + if page_info.page: + page_info.page.deleteLater() del self._page_registry[unique_id] logger.info(f"Unregistered page {unique_id} for {gui_id}") @@ -345,7 +346,7 @@ class WebConsole(BECWidget, QWidget): # If no unique_id is provided, create a new page if not self._unique_id: - self.page = BECWebEnginePage() + self.page = BECWebEnginePage(self) self.page.authenticationRequired.connect(self._authenticate) self.page.setUrl(QUrl(f"http://localhost:{_web_console_registry._server_port}")) self.browser.setPage(self.page) diff --git a/tests/unit_tests/test_web_console.py b/tests/unit_tests/test_web_console.py index 3da2f9a0..ca3c5674 100644 --- a/tests/unit_tests/test_web_console.py +++ b/tests/unit_tests/test_web_console.py @@ -34,7 +34,7 @@ def test_web_console_write(console_widget): with mock.patch.object(console_widget.page, "runJavaScript") as mock_run_js: console_widget.write("Hello, World!") - assert mock.call("window.term.paste('Hello, World!');") in mock_run_js.mock_calls + assert mock.call('window.term.paste("Hello, World!");') in mock_run_js.mock_calls def test_web_console_write_no_return(console_widget): @@ -42,7 +42,7 @@ def test_web_console_write_no_return(console_widget): with mock.patch.object(console_widget.page, "runJavaScript") as mock_run_js: console_widget.write("Hello, World!", send_return=False) - assert mock.call("window.term.paste('Hello, World!');") in mock_run_js.mock_calls + assert mock.call('window.term.paste("Hello, World!");') in mock_run_js.mock_calls assert mock_run_js.call_count == 1