Added a basic test of the GUI
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""novelWriter Main GUI Class Tester
|
||||
"""
|
||||
|
||||
import nw, pytest
|
||||
from nwtools import *
|
||||
from os import path, unlink
|
||||
from PyQt5.QtCore import Qt
|
||||
|
||||
keyDelay = 10
|
||||
testDir = path.dirname(__file__)
|
||||
testRef = path.join(testDir,"reference")
|
||||
|
||||
@pytest.mark.gui
|
||||
def testMainWindows(qtbot, tmpdir):
|
||||
confDir = tmpdir.mkdir("conf")
|
||||
projDir = tmpdir.mkdir("project")
|
||||
nwGUI = nw.main(["--testmode","--config=%s" % confDir])
|
||||
qtbot.addWidget(nwGUI)
|
||||
nwGUI.show()
|
||||
qtbot.waitForWindowShown(nwGUI)
|
||||
qtbot.wait(500)
|
||||
nwGUI.theProject.handleSeed = 42
|
||||
assert nwGUI.theProject.setProjectPath(projDir)
|
||||
assert nwGUI.newProject()
|
||||
assert nwGUI.theProject.setProjectPath(projDir)
|
||||
assert nwGUI.saveProject()
|
||||
qtbot.wait(500)
|
||||
assert nwGUI.openProject(projDir)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_1, modifier=Qt.ControlModifier, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_Down, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_Right, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_Down, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_Right, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_Down, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_Return, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.treeView, Qt.Key_2, modifier=Qt.ControlModifier, delay=keyDelay)
|
||||
for c in "# Hello World!":
|
||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||
for c in "This is a paragraph of dummy text.":
|
||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||
for c in "This is another paragraph of much longer dummy text. It is in fact very very dum dummy text! ":
|
||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||
for c in "We can also try replacing \"quotes\", even single's quotes are replaced. ":
|
||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||
for c in "We can hyphen-ate, make dashes -- and even longer dashes --- if we want. ":
|
||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||
for c in "Ellipsis? Not a problem either ... ":
|
||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||
qtbot.wait(500)
|
||||
qtbot.keyClick(nwGUI, "s", modifier=Qt.ControlModifier, delay=keyDelay)
|
||||
qtbot.wait(500)
|
||||
|
||||
projFile = projDir.join("nwProject.nwx")
|
||||
assert cmpFiles(projFile, path.join(testRef,"gui_nwProject.nwx"), [2])
|
||||
sceneFile = projDir.join("data_3","1489056e0916_main.nwd")
|
||||
assert cmpFiles(sceneFile, path.join(testRef,"gui_1489056e0916_main.nwd"))
|
||||
|
||||
# qtbot.stopForInteraction()
|
||||
Reference in New Issue
Block a user