diff --git a/tests/test_gui/test_gui_guimain.py b/tests/test_gui/test_gui_guimain.py index 80c3cf578..b0b3c321d 100644 --- a/tests/test_gui/test_gui_guimain.py +++ b/tests/test_gui/test_gui_guimain.py @@ -39,6 +39,7 @@ from novelwriter.gui.projtree import GuiProjectTree from novelwriter.tools.welcome import GuiWelcome +from tests.mocked import causeOSError from tests.tools import NWD_IGNORE, XML_IGNORE, C, buildTestProject, cmpFiles KEY_DELAY = 1 @@ -651,7 +652,7 @@ def testGuiMain_Viewing(qtbot, monkeypatch, nwGUI, projPath, mockRnd): @pytest.mark.gui -def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd): +def testGuiMain_Features(qtbot, monkeypatch, nwGUI, projPath, mockRnd): """Test various features of the main window.""" buildTestProject(nwGUI, projPath) assert SHARED.focusMode is False @@ -672,6 +673,7 @@ def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd): # Enable focus mode nwGUI.toggleFocusMode() + assert SHARED.focusMode is True assert nwGUI.treePane.isVisible() is False assert nwGUI.mainStatus.isVisible() is False assert nwGUI.mainMenu.isVisible() is False @@ -680,12 +682,19 @@ def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd): # Disable focus mode nwGUI.toggleFocusMode() + assert SHARED.focusMode is False assert nwGUI.treePane.isVisible() is True assert nwGUI.mainStatus.isVisible() is True assert nwGUI.mainMenu.isVisible() is True assert nwGUI.sideBar.isVisible() is True assert nwGUI.splitView.isVisible() is True + # Closing editor disables focus mode + nwGUI.toggleFocusMode() + assert SHARED.focusMode is True + nwGUI.closeDocument() + assert SHARED.focusMode is False + # Full Screen Mode # ================ @@ -702,6 +711,17 @@ def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd): nwGUI.sideBar.mSettings.show() nwGUI.sideBar.mSettings.hide() + # Document Open Errors + # ==================== + + # Cannot edit a folder + assert nwGUI.openDocument(C.hChapterDir) is False + + # Handle I/O error + with monkeypatch.context() as mp: + mp.setattr("builtins.open", causeOSError) + assert nwGUI.openDocument(C.hChapterDoc) is False + # qtbot.stop()