mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-17 11:22:28 +12:00
Adds: unit test coverage for outlineItem
This commit is contained in:
parent
584b0b04a6
commit
f098e74f45
|
@ -90,7 +90,7 @@ class outlineItem(abstractItem):
|
|||
E = self.enum
|
||||
|
||||
if role == Qt.DisplayRole or role == Qt.EditRole:
|
||||
if column == E.revisions:
|
||||
if data == "" and column == E.revisions:
|
||||
return []
|
||||
|
||||
else:
|
||||
|
|
|
@ -17,7 +17,7 @@ def outlineModelBasic(MWEmptyProject):
|
|||
|
||||
root = mdl.rootItem
|
||||
f = outlineItem(title="Folder", parent=root)
|
||||
t1 = outlineItem(title="Text 1", _type="md", parent=f)
|
||||
t2 = outlineItem(title="Text 2", _type="md", parent=root)
|
||||
t1 = outlineItem(title="Text", _type="md", parent=f)
|
||||
t2 = outlineItem(title="Text", _type="md", parent=root)
|
||||
|
||||
return mdl
|
||||
|
|
|
@ -22,6 +22,8 @@ def test_outlineItemsProperties(outlineItemFolder, outlineItemText):
|
|||
Tests with simple items, without parent or models.
|
||||
"""
|
||||
|
||||
from PyQt5.QtCore import Qt
|
||||
|
||||
# Simplification
|
||||
folder = outlineItemFolder
|
||||
text = outlineItemText
|
||||
|
@ -37,9 +39,10 @@ def test_outlineItemsProperties(outlineItemFolder, outlineItemText):
|
|||
assert folder.status() == ""
|
||||
assert folder.label() == ""
|
||||
assert folder.customIcon() == ""
|
||||
assert folder.data(42) == ""
|
||||
assert folder.data(folder.enum.title, role=Qt.CheckStateRole) == None
|
||||
|
||||
# setData and other setters
|
||||
from PyQt5.QtCore import Qt
|
||||
assert text.data(text.enum.compile, role=Qt.CheckStateRole) == Qt.Checked
|
||||
text.setData(text.enum.compile, 0)
|
||||
assert text.compile() == False
|
||||
|
@ -123,18 +126,38 @@ def test_modelStuff(outlineModelBasic):
|
|||
assert folder.findItemsContaining("VALUE", cols, MW, False) == [text2.ID()]
|
||||
|
||||
# Revisions
|
||||
# from manuskript import settings
|
||||
# settings.revisions["smartremove"] = False
|
||||
# text2.setData(text2.enum.text, "Some value.")
|
||||
# assert text2.revisions() == 1
|
||||
# text2.clearAllRevisions()
|
||||
# assert text2.revisions() == []
|
||||
# text2.setData(text2.enum.text, "Some value.")
|
||||
# assert len(text2.revisions()) == 1
|
||||
# text2.setData(text2.enum.text, "Some new value.")
|
||||
# assert len(text2.revisions()) == 1 # Auto clean
|
||||
text2.clearAllRevisions()
|
||||
assert text2.revisions() == []
|
||||
text2.setData(text2.enum.text, "Some value.")
|
||||
assert len(text2.revisions()) == 1
|
||||
text2.setData(text2.enum.text, "Some new value.")
|
||||
assert len(text2.revisions()) == 1 # Auto clean
|
||||
text2.deleteRevision(text2.revisions()[0][0])
|
||||
assert len(text2.revisions()) == 0
|
||||
|
||||
# Model, count and copy
|
||||
k = folder._model
|
||||
folder.setModel(14)
|
||||
assert text2._model == 14
|
||||
folder.setModel(k)
|
||||
assert folder.columnCount() == len(folder.enum)
|
||||
text1 = text2.copy()
|
||||
assert text1.ID() is None
|
||||
folder.appendChild(text1)
|
||||
assert text1.ID() is not None
|
||||
assert folder.childCountRecursive() == 2
|
||||
assert text1.path() == "Folder > Text"
|
||||
assert len(text1.pathID()) == 2
|
||||
|
||||
# IDs
|
||||
folder2 = folder.copy()
|
||||
text3 = text1.copy()
|
||||
text3.setData(text3.enum.ID, "0")
|
||||
folder2.appendChild(text3)
|
||||
folder.appendChild(folder2)
|
||||
assert text3.ID() == "0"
|
||||
root.checkIDs()
|
||||
assert text3.ID() != "0"
|
||||
|
||||
#TODO: copy (with children), IDs check, childcountrecursive
|
||||
# (cf. abstractItem)
|
||||
|
|
Loading…
Reference in a new issue