Fix test and revealed bug in main code
This commit is contained in:
@@ -388,10 +388,10 @@ class GuiProjectEditStatus(QWidget):
|
|||||||
"""
|
"""
|
||||||
selItem = self._getSelectedItem()
|
selItem = self._getSelectedItem()
|
||||||
if selItem is not None:
|
if selItem is not None:
|
||||||
iRow = self.listBox.indexFromItem(selItem)
|
iRow = self.listBox.indexOfTopLevelItem(selItem)
|
||||||
selIdx = selItem.data(0, Qt.UserRole)
|
selIdx = selItem.data(0, Qt.UserRole)
|
||||||
if self.colCounts[selIdx] == 0:
|
if self.colCounts[selIdx] == 0:
|
||||||
self.listBox.takeItem(iRow)
|
self.listBox.takeTopLevelItem(iRow)
|
||||||
self.colChanged = True
|
self.colChanged = True
|
||||||
else:
|
else:
|
||||||
self.theParent.makeAlert(
|
self.theParent.makeAlert(
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ from tools import cmpFiles, getGuiItem
|
|||||||
from PyQt5.QtGui import QColor
|
from PyQt5.QtGui import QColor
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QDialog, QAction, QMessageBox, QColorDialog, QListWidgetItem
|
QDialog, QAction, QMessageBox, QColorDialog, QTreeWidgetItem
|
||||||
)
|
)
|
||||||
|
|
||||||
from nw.gui import GuiProjectSettings
|
from nw.gui import GuiProjectSettings
|
||||||
@@ -110,7 +110,7 @@ def testGuiProjSettings_Dialog(qtbot, monkeypatch, nwGUI, fncDir, fncProj, outDi
|
|||||||
|
|
||||||
assert projEdit.tabStatus.colChanged is False
|
assert projEdit.tabStatus.colChanged is False
|
||||||
assert projEdit.tabStatus.getNewList() is None
|
assert projEdit.tabStatus.getNewList() is None
|
||||||
assert projEdit.tabStatus.listBox.count() == 4
|
assert projEdit.tabStatus.listBox.topLevelItemCount() == 4
|
||||||
|
|
||||||
# Fake drag'n'drop should change changed status
|
# Fake drag'n'drop should change changed status
|
||||||
projEdit.tabStatus._rowsMoved()
|
projEdit.tabStatus._rowsMoved()
|
||||||
@@ -119,30 +119,32 @@ def testGuiProjSettings_Dialog(qtbot, monkeypatch, nwGUI, fncDir, fncProj, outDi
|
|||||||
|
|
||||||
projEdit.tabStatus.listBox.clearSelection()
|
projEdit.tabStatus.listBox.clearSelection()
|
||||||
assert projEdit.tabStatus._getSelectedItem() is None
|
assert projEdit.tabStatus._getSelectedItem() is None
|
||||||
projEdit.tabStatus.listBox.item(0).setSelected(True)
|
projEdit.tabStatus.listBox.topLevelItem(0).setSelected(True)
|
||||||
assert isinstance(projEdit.tabStatus._getSelectedItem(), QListWidgetItem)
|
assert isinstance(projEdit.tabStatus._getSelectedItem(), QTreeWidgetItem)
|
||||||
|
|
||||||
# Can't delete the first item (it's in use)
|
# Can't delete the first item (it's in use)
|
||||||
projEdit.tabStatus.listBox.item(0).setSelected(True)
|
projEdit.tabStatus.listBox.clearSelection()
|
||||||
|
projEdit.tabStatus.listBox.topLevelItem(0).setSelected(True)
|
||||||
qtbot.mouseClick(projEdit.tabStatus.delButton, Qt.LeftButton)
|
qtbot.mouseClick(projEdit.tabStatus.delButton, Qt.LeftButton)
|
||||||
assert projEdit.tabStatus.listBox.count() == 4
|
assert projEdit.tabStatus.listBox.topLevelItemCount() == 4
|
||||||
|
|
||||||
# Can delete the third item
|
# Can delete the third item
|
||||||
projEdit.tabStatus.listBox.item(2).setSelected(True)
|
projEdit.tabStatus.listBox.clearSelection()
|
||||||
|
projEdit.tabStatus.listBox.topLevelItem(2).setSelected(True)
|
||||||
qtbot.mouseClick(projEdit.tabStatus.delButton, Qt.LeftButton)
|
qtbot.mouseClick(projEdit.tabStatus.delButton, Qt.LeftButton)
|
||||||
assert projEdit.tabStatus.listBox.count() == 3
|
assert projEdit.tabStatus.listBox.topLevelItemCount() == 3
|
||||||
|
|
||||||
# Add a new item
|
# Add a new item
|
||||||
monkeypatch.setattr(QColorDialog, "getColor", lambda *args: QColor(20, 30, 40))
|
monkeypatch.setattr(QColorDialog, "getColor", lambda *args: QColor(20, 30, 40))
|
||||||
qtbot.mouseClick(projEdit.tabStatus.newButton, Qt.LeftButton)
|
qtbot.mouseClick(projEdit.tabStatus.addButton, Qt.LeftButton)
|
||||||
projEdit.tabStatus.listBox.item(3).setSelected(True)
|
projEdit.tabStatus.listBox.topLevelItem(3).setSelected(True)
|
||||||
for n in range(8):
|
for n in range(8):
|
||||||
qtbot.keyClick(projEdit.tabStatus.editName, Qt.Key_Backspace, delay=typeDelay)
|
qtbot.keyClick(projEdit.tabStatus.editName, Qt.Key_Backspace, delay=typeDelay)
|
||||||
for c in "Final":
|
for c in "Final":
|
||||||
qtbot.keyClick(projEdit.tabStatus.editName, c, delay=typeDelay)
|
qtbot.keyClick(projEdit.tabStatus.editName, c, delay=typeDelay)
|
||||||
qtbot.mouseClick(projEdit.tabStatus.colButton, Qt.LeftButton)
|
qtbot.mouseClick(projEdit.tabStatus.colButton, Qt.LeftButton)
|
||||||
qtbot.mouseClick(projEdit.tabStatus.saveButton, Qt.LeftButton)
|
qtbot.mouseClick(projEdit.tabStatus.saveButton, Qt.LeftButton)
|
||||||
assert projEdit.tabStatus.listBox.count() == 4
|
assert projEdit.tabStatus.listBox.topLevelItemCount() == 4
|
||||||
qtbot.wait(stepDelay)
|
qtbot.wait(stepDelay)
|
||||||
|
|
||||||
assert projEdit.tabStatus.colChanged is True
|
assert projEdit.tabStatus.colChanged is True
|
||||||
@@ -157,10 +159,12 @@ def testGuiProjSettings_Dialog(qtbot, monkeypatch, nwGUI, fncDir, fncProj, outDi
|
|||||||
# ==============
|
# ==============
|
||||||
|
|
||||||
projEdit._tabBox.setCurrentWidget(projEdit.tabImport)
|
projEdit._tabBox.setCurrentWidget(projEdit.tabImport)
|
||||||
projEdit.tabImport.listBox.item(3).setSelected(True)
|
projEdit.tabStatus.listBox.clearSelection()
|
||||||
|
projEdit.tabImport.listBox.topLevelItem(3).setSelected(True)
|
||||||
qtbot.mouseClick(projEdit.tabImport.delButton, Qt.LeftButton)
|
qtbot.mouseClick(projEdit.tabImport.delButton, Qt.LeftButton)
|
||||||
qtbot.mouseClick(projEdit.tabImport.newButton, Qt.LeftButton)
|
qtbot.mouseClick(projEdit.tabImport.addButton, Qt.LeftButton)
|
||||||
projEdit.tabImport.listBox.item(3).setSelected(True)
|
projEdit.tabStatus.listBox.clearSelection()
|
||||||
|
projEdit.tabImport.listBox.topLevelItem(3).setSelected(True)
|
||||||
for n in range(8):
|
for n in range(8):
|
||||||
qtbot.keyClick(projEdit.tabImport.editName, Qt.Key_Backspace, delay=typeDelay)
|
qtbot.keyClick(projEdit.tabImport.editName, Qt.Key_Backspace, delay=typeDelay)
|
||||||
for c in "Final":
|
for c in "Final":
|
||||||
|
|||||||
Reference in New Issue
Block a user