浏览代码

Test labelme/labelDialog.py with pytest-qt

Kentaro Wada 7 年之前
父节点
当前提交
c1deb02364
共有 1 个文件被更改,包括 38 次插入0 次删除
  1. 38 0
      tests/test_labelDialog.py

+ 38 - 0
tests/test_labelDialog.py

@@ -0,0 +1,38 @@
+try:
+    from PyQt5 import QtCore
+    from PyQt5 import QtWidgets
+except ImportError:
+    from PyQt4 import QtCore
+    from PyQt4 import QtGui as QtWidgets
+
+from labelme import labelDialog
+
+
+def test_LabelQLineEdit(qtbot):
+    list_widget = QtWidgets.QListWidget()
+    list_widget.addItems([
+        'bicycle',
+        'car',
+        'cat',
+        'dog',
+        'person',
+    ])
+    widget = labelDialog.LabelQLineEdit()
+    widget.setListWidget(list_widget)
+    qtbot.addWidget(widget)
+
+    # key press to navigate in label list
+    item = widget.list_widget.findItems('bicycle', QtCore.Qt.MatchExactly)[0]
+    widget.list_widget.setCurrentItem(item)
+    assert widget.list_widget.currentItem().text() == 'bicycle'
+    qtbot.keyPress(widget, QtCore.Qt.Key_Down)
+    assert widget.list_widget.currentItem().text() == 'car'
+
+    # key press to enter label
+    qtbot.keyPress(widget, QtCore.Qt.Key_P)
+    qtbot.keyPress(widget, QtCore.Qt.Key_E)
+    qtbot.keyPress(widget, QtCore.Qt.Key_R)
+    qtbot.keyPress(widget, QtCore.Qt.Key_S)
+    qtbot.keyPress(widget, QtCore.Qt.Key_O)
+    qtbot.keyPress(widget, QtCore.Qt.Key_N)
+    assert widget.text() == 'person'