Updated tests and added a minimal test for timelineview.
This commit is contained in:
+4
-3
@@ -366,9 +366,10 @@ class GuiMain(QMainWindow):
|
|||||||
return
|
return
|
||||||
|
|
||||||
logger.verbose("Requesting change to item %s" % tHandle)
|
logger.verbose("Requesting change to item %s" % tHandle)
|
||||||
dlgProj = GuiItemEditor(self, self.theProject, tHandle)
|
if self.mainConf.showGUI:
|
||||||
if dlgProj.exec_():
|
dlgProj = GuiItemEditor(self, self.theProject, tHandle)
|
||||||
self.treeView.setTreeItemValues(tHandle)
|
if dlgProj.exec_():
|
||||||
|
self.treeView.setTreeItemValues(tHandle)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,20 @@
|
|||||||
# Hello World!
|
# Novel
|
||||||
|
|
||||||
## With a Subtitle
|
## Chapter
|
||||||
|
|
||||||
### An Even Subier Title
|
@pov: Jane
|
||||||
|
@plot: MainPlot
|
||||||
|
|
||||||
#### Basically Not a Title at All
|
### Scene
|
||||||
|
|
||||||
% How about a comment?
|
% How about a comment?
|
||||||
@keyword: value
|
@pov: Jane
|
||||||
|
@plot: MainPlot
|
||||||
|
@location: Home
|
||||||
|
|
||||||
|
#### Some Section
|
||||||
|
|
||||||
|
@char: Jane
|
||||||
|
|
||||||
This is a paragraph of dummy text.
|
This is a paragraph of dummy text.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Main Plot
|
||||||
|
|
||||||
|
@tag: MainPlot
|
||||||
|
|
||||||
|
This is a file detailing the main plot.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Main Location
|
||||||
|
|
||||||
|
@tag: Home
|
||||||
|
|
||||||
|
This is a file describing Jane’s home.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Jane Doe
|
||||||
|
|
||||||
|
@tag: Jane
|
||||||
|
|
||||||
|
This is a file about Jane.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
<novelWriterXML appVersion="0.1.4" fileVersion="1.0" timeStamp="2019-05-25 23:29:32">
|
<novelWriterXML appVersion="0.1.4" fileVersion="1.0" timeStamp="2019-06-01 20:57:28">
|
||||||
<project>
|
<project>
|
||||||
<name></name>
|
<name></name>
|
||||||
<title></title>
|
<title></title>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
<spellCheck>True</spellCheck>
|
<spellCheck>True</spellCheck>
|
||||||
<lastEdited>31489056e0916</lastEdited>
|
<lastEdited>31489056e0916</lastEdited>
|
||||||
<lastViewed>31489056e0916</lastViewed>
|
<lastViewed>31489056e0916</lastViewed>
|
||||||
<lastWordCount>69</lastWordCount>
|
<lastWordCount>86</lastWordCount>
|
||||||
<status>
|
<status>
|
||||||
<entry blue="100" green="100" red="100">New</entry>
|
<entry blue="100" green="100" red="100">New</entry>
|
||||||
<entry blue="0" green="50" red="200">Note</entry>
|
<entry blue="0" green="50" red="200">Note</entry>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<entry blue="0" green="200" red="50">Main</entry>
|
<entry blue="0" green="200" red="50">Main</entry>
|
||||||
</importance>
|
</importance>
|
||||||
</settings>
|
</settings>
|
||||||
<content count="6">
|
<content count="9">
|
||||||
<item handle="73475cb40a568" order="0" parent="None">
|
<item handle="73475cb40a568" order="0" parent="None">
|
||||||
<name>Novel</name>
|
<name>Novel</name>
|
||||||
<type>ROOT</type>
|
<type>ROOT</type>
|
||||||
@@ -44,31 +44,67 @@
|
|||||||
<status>New</status>
|
<status>New</status>
|
||||||
<expanded>False</expanded>
|
<expanded>False</expanded>
|
||||||
<layout>SCENE</layout>
|
<layout>SCENE</layout>
|
||||||
<charCount>377</charCount>
|
<charCount>331</charCount>
|
||||||
<wordCount>69</wordCount>
|
<wordCount>59</wordCount>
|
||||||
<paraCount>2</paraCount>
|
<paraCount>2</paraCount>
|
||||||
<cursorPos>443</cursorPos>
|
<cursorPos>465</cursorPos>
|
||||||
</item>
|
</item>
|
||||||
<item handle="44cb730c42048" order="1" parent="None">
|
<item handle="44cb730c42048" order="1" parent="None">
|
||||||
<name>Characters</name>
|
<name>Characters</name>
|
||||||
<type>ROOT</type>
|
<type>ROOT</type>
|
||||||
<class>CHARACTER</class>
|
<class>CHARACTER</class>
|
||||||
<status>New</status>
|
<status>New</status>
|
||||||
|
<expanded>True</expanded>
|
||||||
|
</item>
|
||||||
|
<item handle="2fca346db6561" order="0" parent="44cb730c42048">
|
||||||
|
<name>New File</name>
|
||||||
|
<type>FILE</type>
|
||||||
|
<class>CHARACTER</class>
|
||||||
|
<status>New</status>
|
||||||
<expanded>False</expanded>
|
<expanded>False</expanded>
|
||||||
|
<layout>NOTE</layout>
|
||||||
|
<charCount>34</charCount>
|
||||||
|
<wordCount>8</wordCount>
|
||||||
|
<paraCount>1</paraCount>
|
||||||
|
<cursorPos>51</cursorPos>
|
||||||
</item>
|
</item>
|
||||||
<item handle="71ee45a3c0db9" order="2" parent="None">
|
<item handle="71ee45a3c0db9" order="2" parent="None">
|
||||||
<name>Plot</name>
|
<name>Plot</name>
|
||||||
<type>ROOT</type>
|
<type>ROOT</type>
|
||||||
<class>PLOT</class>
|
<class>PLOT</class>
|
||||||
<status>New</status>
|
<status>New</status>
|
||||||
|
<expanded>True</expanded>
|
||||||
|
</item>
|
||||||
|
<item handle="02d20bbd7e394" order="0" parent="71ee45a3c0db9">
|
||||||
|
<name>New File</name>
|
||||||
|
<type>FILE</type>
|
||||||
|
<class>PLOT</class>
|
||||||
|
<status>New</status>
|
||||||
<expanded>False</expanded>
|
<expanded>False</expanded>
|
||||||
|
<layout>NOTE</layout>
|
||||||
|
<charCount>48</charCount>
|
||||||
|
<wordCount>10</wordCount>
|
||||||
|
<paraCount>1</paraCount>
|
||||||
|
<cursorPos>69</cursorPos>
|
||||||
</item>
|
</item>
|
||||||
<item handle="811786ad1ae74" order="3" parent="None">
|
<item handle="811786ad1ae74" order="3" parent="None">
|
||||||
<name>World</name>
|
<name>World</name>
|
||||||
<type>ROOT</type>
|
<type>ROOT</type>
|
||||||
<class>WORLD</class>
|
<class>WORLD</class>
|
||||||
<status>New</status>
|
<status>New</status>
|
||||||
|
<expanded>True</expanded>
|
||||||
|
</item>
|
||||||
|
<item handle="7688b6ef52555" order="0" parent="811786ad1ae74">
|
||||||
|
<name>New File</name>
|
||||||
|
<type>FILE</type>
|
||||||
|
<class>WORLD</class>
|
||||||
|
<status>New</status>
|
||||||
<expanded>False</expanded>
|
<expanded>False</expanded>
|
||||||
|
<layout>NOTE</layout>
|
||||||
|
<charCount>51</charCount>
|
||||||
|
<wordCount>9</wordCount>
|
||||||
|
<paraCount>1</paraCount>
|
||||||
|
<cursorPos>68</cursorPos>
|
||||||
</item>
|
</item>
|
||||||
</content>
|
</content>
|
||||||
</novelWriterXML>
|
</novelWriterXML>
|
||||||
|
|||||||
+123
-10
@@ -9,6 +9,7 @@ from os import path, unlink
|
|||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
|
|
||||||
from nw.gui.projecteditor import GuiProjectEditor
|
from nw.gui.projecteditor import GuiProjectEditor
|
||||||
|
from nw.gui.timelineview import GuiTimeLineView
|
||||||
from nw.gui.itemeditor import GuiItemEditor
|
from nw.gui.itemeditor import GuiItemEditor
|
||||||
from nw.enum import *
|
from nw.enum import *
|
||||||
|
|
||||||
@@ -47,8 +48,6 @@ def testMainWindows(qtbot, nwTempGUI, nwRef):
|
|||||||
assert cmpFiles(projFile, path.join(nwRef,"gui","0_nwProject.nwx"), [2])
|
assert cmpFiles(projFile, path.join(nwRef,"gui","0_nwProject.nwx"), [2])
|
||||||
qtbot.wait(stepDelay)
|
qtbot.wait(stepDelay)
|
||||||
|
|
||||||
# qtbot.stopForInteraction()
|
|
||||||
|
|
||||||
# Re-open project
|
# Re-open project
|
||||||
assert nwGUI.openProject(nwTempGUI)
|
assert nwGUI.openProject(nwTempGUI)
|
||||||
qtbot.wait(stepDelay)
|
qtbot.wait(stepDelay)
|
||||||
@@ -75,33 +74,101 @@ def testMainWindows(qtbot, nwTempGUI, nwRef):
|
|||||||
assert nwGUI.treeView._getTreeItem("71ee45a3c0db9") is not None
|
assert nwGUI.treeView._getTreeItem("71ee45a3c0db9") is not None
|
||||||
assert nwGUI.treeView._getTreeItem("811786ad1ae74") is not None
|
assert nwGUI.treeView._getTreeItem("811786ad1ae74") is not None
|
||||||
|
|
||||||
|
nwGUI.mainMenu.toolsSpellCheck.setChecked(True)
|
||||||
|
assert nwGUI.mainMenu._toggleSpellCheck()
|
||||||
|
|
||||||
|
# Add a Character File
|
||||||
|
nwGUI.setFocus(1)
|
||||||
|
nwGUI.treeView.clearSelection()
|
||||||
|
nwGUI.treeView._getTreeItem("44cb730c42048").setSelected(True)
|
||||||
|
nwGUI.treeView.newTreeItem(nwItemType.FILE, None)
|
||||||
|
assert nwGUI.openSelectedItem()
|
||||||
|
|
||||||
|
# Type something into the document
|
||||||
|
nwGUI.setFocus(2)
|
||||||
|
for c in "# Jane Doe":
|
||||||
|
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 "@tag: Jane":
|
||||||
|
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 file about Jane.":
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
|
||||||
|
# Add a Plot File
|
||||||
|
nwGUI.setFocus(1)
|
||||||
|
nwGUI.treeView.clearSelection()
|
||||||
|
nwGUI.treeView._getTreeItem("71ee45a3c0db9").setSelected(True)
|
||||||
|
nwGUI.treeView.newTreeItem(nwItemType.FILE, None)
|
||||||
|
assert nwGUI.openSelectedItem()
|
||||||
|
|
||||||
|
# Type something into the document
|
||||||
|
nwGUI.setFocus(2)
|
||||||
|
for c in "# Main Plot":
|
||||||
|
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 "@tag: MainPlot":
|
||||||
|
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 file detailing the main plot.":
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
|
||||||
|
# Add a World File
|
||||||
|
nwGUI.setFocus(1)
|
||||||
|
nwGUI.treeView.clearSelection()
|
||||||
|
nwGUI.treeView._getTreeItem("811786ad1ae74").setSelected(True)
|
||||||
|
nwGUI.treeView.newTreeItem(nwItemType.FILE, None)
|
||||||
|
assert nwGUI.openSelectedItem()
|
||||||
|
|
||||||
|
# Type something into the document
|
||||||
|
nwGUI.setFocus(2)
|
||||||
|
for c in "# Main Location":
|
||||||
|
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 "@tag: Home":
|
||||||
|
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 file describing Jane's home.":
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
|
||||||
# Select the 'New Scene' file
|
# Select the 'New Scene' file
|
||||||
nwGUI.setFocus(1)
|
nwGUI.setFocus(1)
|
||||||
|
nwGUI.treeView.clearSelection()
|
||||||
nwGUI.treeView._getTreeItem("73475cb40a568").setExpanded(True)
|
nwGUI.treeView._getTreeItem("73475cb40a568").setExpanded(True)
|
||||||
nwGUI.treeView._getTreeItem("25fc0e7096fc6").setExpanded(True)
|
nwGUI.treeView._getTreeItem("25fc0e7096fc6").setExpanded(True)
|
||||||
nwGUI.treeView._getTreeItem("31489056e0916").setSelected(True)
|
nwGUI.treeView._getTreeItem("31489056e0916").setSelected(True)
|
||||||
assert nwGUI.openSelectedItem()
|
assert nwGUI.openSelectedItem()
|
||||||
nwGUI.mainMenu.toolsSpellCheck.setChecked(True)
|
|
||||||
assert nwGUI.mainMenu._toggleSpellCheck()
|
|
||||||
|
|
||||||
# Type something into the document
|
# Type something into the document
|
||||||
nwGUI.setFocus(2)
|
nwGUI.setFocus(2)
|
||||||
for c in "# Hello World!":
|
for c in "# Novel":
|
||||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
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)
|
||||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
|
||||||
for c in "## With a Subtitle":
|
for c in "## Chapter":
|
||||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
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)
|
||||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
|
||||||
for c in "### An Even Subier Title":
|
for c in "@pov: Jane":
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
for c in "@plot: MainPlot":
|
||||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
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)
|
||||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
|
||||||
for c in "#### Basically Not a Title at All":
|
for c in "### Scene":
|
||||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
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)
|
||||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
@@ -109,7 +176,23 @@ def testMainWindows(qtbot, nwTempGUI, nwRef):
|
|||||||
for c in "% How about a comment?":
|
for c in "% How about a comment?":
|
||||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
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 "@keyword: value":
|
for c in "@pov: Jane":
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
for c in "@plot: MainPlot":
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
||||||
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
|
for c in "@location: Home":
|
||||||
|
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 "#### Some Section":
|
||||||
|
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 "@char: Jane":
|
||||||
qtbot.keyClick(nwGUI.docEditor, c, delay=keyDelay)
|
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)
|
||||||
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
qtbot.keyClick(nwGUI.docEditor, Qt.Key_Return, delay=keyDelay)
|
||||||
@@ -133,13 +216,14 @@ def testMainWindows(qtbot, nwTempGUI, nwRef):
|
|||||||
qtbot.wait(stepDelay)
|
qtbot.wait(stepDelay)
|
||||||
nwGUI.docEditor.wCounter.run()
|
nwGUI.docEditor.wCounter.run()
|
||||||
qtbot.wait(stepDelay)
|
qtbot.wait(stepDelay)
|
||||||
nwGUI.docEditor._updateCounts()
|
|
||||||
|
|
||||||
# Save the document
|
# Save the document
|
||||||
assert nwGUI.docEditor.docChanged
|
assert nwGUI.docEditor.docChanged
|
||||||
assert nwGUI.saveDocument()
|
assert nwGUI.saveDocument()
|
||||||
assert not nwGUI.docEditor.docChanged
|
assert not nwGUI.docEditor.docChanged
|
||||||
qtbot.wait(stepDelay)
|
qtbot.wait(stepDelay)
|
||||||
|
nwGUI.rebuildIndex()
|
||||||
|
qtbot.wait(stepDelay)
|
||||||
|
|
||||||
# Open and view the edited document
|
# Open and view the edited document
|
||||||
nwGUI.setFocus(3)
|
nwGUI.setFocus(3)
|
||||||
@@ -148,16 +232,45 @@ def testMainWindows(qtbot, nwTempGUI, nwRef):
|
|||||||
qtbot.wait(stepDelay)
|
qtbot.wait(stepDelay)
|
||||||
assert nwGUI.saveProject()
|
assert nwGUI.saveProject()
|
||||||
assert nwGUI.closeDocViewer()
|
assert nwGUI.closeDocViewer()
|
||||||
|
qtbot.wait(stepDelay)
|
||||||
|
|
||||||
# Check the files
|
# Check the files
|
||||||
projFile = path.join(nwTempGUI,"nwProject.nwx")
|
projFile = path.join(nwTempGUI,"nwProject.nwx")
|
||||||
assert cmpFiles(projFile, path.join(nwRef,"gui","1_nwProject.nwx"), [2])
|
assert cmpFiles(projFile, path.join(nwRef,"gui","1_nwProject.nwx"), [2])
|
||||||
|
sceneFile = path.join(nwTempGUI,"data_0","2d20bbd7e394_main.nwd")
|
||||||
|
assert cmpFiles(sceneFile, path.join(nwRef,"gui","1_2d20bbd7e394_main.nwd"))
|
||||||
|
sceneFile = path.join(nwTempGUI,"data_2","fca346db6561_main.nwd")
|
||||||
|
assert cmpFiles(sceneFile, path.join(nwRef,"gui","1_fca346db6561_main.nwd"))
|
||||||
sceneFile = path.join(nwTempGUI,"data_3","1489056e0916_main.nwd")
|
sceneFile = path.join(nwTempGUI,"data_3","1489056e0916_main.nwd")
|
||||||
assert cmpFiles(sceneFile, path.join(nwRef,"gui","1_1489056e0916_main.nwd"))
|
assert cmpFiles(sceneFile, path.join(nwRef,"gui","1_1489056e0916_main.nwd"))
|
||||||
|
sceneFile = path.join(nwTempGUI,"data_7","688b6ef52555_main.nwd")
|
||||||
|
assert cmpFiles(sceneFile, path.join(nwRef,"gui","1_688b6ef52555_main.nwd"))
|
||||||
|
|
||||||
nwGUI.closeMain()
|
nwGUI.closeMain()
|
||||||
# qtbot.stopForInteraction()
|
# qtbot.stopForInteraction()
|
||||||
|
|
||||||
|
@pytest.mark.gui
|
||||||
|
def testTimeLineView(qtbot, nwTempGUI, nwRef):
|
||||||
|
nwGUI = nw.main(["--testmode","--config=%s" % nwTempGUI])
|
||||||
|
qtbot.addWidget(nwGUI)
|
||||||
|
nwGUI.show()
|
||||||
|
qtbot.waitForWindowShown(nwGUI)
|
||||||
|
qtbot.wait(stepDelay)
|
||||||
|
|
||||||
|
# Create new, save, open project
|
||||||
|
nwGUI.theProject.handleSeed = 42
|
||||||
|
assert nwGUI.openProject(nwTempGUI)
|
||||||
|
qtbot.wait(stepDelay)
|
||||||
|
|
||||||
|
timeLine = GuiTimeLineView(nwGUI, nwGUI.theProject, nwGUI.theIndex)
|
||||||
|
qtbot.addWidget(timeLine)
|
||||||
|
|
||||||
|
assert timeLine.numRows == 4
|
||||||
|
assert timeLine.numCols == 3
|
||||||
|
|
||||||
|
# qtbot.stopForInteraction()
|
||||||
|
nwGUI.closeMain()
|
||||||
|
|
||||||
@pytest.mark.gui
|
@pytest.mark.gui
|
||||||
def testProjectEditor(qtbot, nwTempGUI, nwRef):
|
def testProjectEditor(qtbot, nwTempGUI, nwRef):
|
||||||
nwGUI = nw.main(["--testmode","--config=%s" % nwTempGUI])
|
nwGUI = nw.main(["--testmode","--config=%s" % nwTempGUI])
|
||||||
|
|||||||
+21
-1
@@ -96,4 +96,24 @@ def testIndexScanThis(nwTempProj):
|
|||||||
assert str(theBits) == "['@tag', 'this', 'and this']"
|
assert str(theBits) == "['@tag', 'this', 'and this']"
|
||||||
assert str(thePos) == "[0, 6, 12]"
|
assert str(thePos) == "[0, 6, 12]"
|
||||||
|
|
||||||
# assert False
|
@pytest.mark.project
|
||||||
|
def testBuildIndex(nwTempProj):
|
||||||
|
projFile = path.join(nwTempProj,"nwProject.nwx")
|
||||||
|
assert theProject.openProject(projFile)
|
||||||
|
|
||||||
|
theIndex = NWIndex(theProject,theMain)
|
||||||
|
tHandle = "31489056e0916"
|
||||||
|
|
||||||
|
theIndex.scanText(tHandle, (
|
||||||
|
"# Novel\n\n"
|
||||||
|
"## Chapter\n\n"
|
||||||
|
"### Scene\n\n"
|
||||||
|
"#### Section\n\n"
|
||||||
|
"@pov: John\n"
|
||||||
|
"@char: Jane\n"
|
||||||
|
"@location: Somewhere\n"
|
||||||
|
))
|
||||||
|
|
||||||
|
assert theIndex.buildNovelList()
|
||||||
|
assert str(theIndex.novelList) == "[[1, 1, 'Novel', 'SCENE'], [3, 2, 'Chapter', 'SCENE'], [5, 3, 'Scene', 'SCENE'], [7, 4, 'Section', 'SCENE']]"
|
||||||
|
assert str(theIndex.novelOrder) == "['31489056e0916:1', '31489056e0916:3', '31489056e0916:5', '31489056e0916:7']"
|
||||||
|
|||||||
Reference in New Issue
Block a user