test_labelDialog.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. try:
  2. from PyQt5 import QtCore
  3. from PyQt5 import QtWidgets
  4. except ImportError:
  5. from PyQt4 import QtCore
  6. from PyQt4 import QtGui as QtWidgets
  7. from labelme import labelDialog
  8. def test_LabelQLineEdit(qtbot):
  9. list_widget = QtWidgets.QListWidget()
  10. list_widget.addItems([
  11. 'bicycle',
  12. 'car',
  13. 'cat',
  14. 'dog',
  15. 'person',
  16. ])
  17. widget = labelDialog.LabelQLineEdit()
  18. widget.setListWidget(list_widget)
  19. qtbot.addWidget(widget)
  20. # key press to navigate in label list
  21. item = widget.list_widget.findItems('bicycle', QtCore.Qt.MatchExactly)[0]
  22. widget.list_widget.setCurrentItem(item)
  23. assert widget.list_widget.currentItem().text() == 'bicycle'
  24. qtbot.keyPress(widget, QtCore.Qt.Key_Down)
  25. assert widget.list_widget.currentItem().text() == 'car'
  26. # key press to enter label
  27. qtbot.keyPress(widget, QtCore.Qt.Key_P)
  28. qtbot.keyPress(widget, QtCore.Qt.Key_E)
  29. qtbot.keyPress(widget, QtCore.Qt.Key_R)
  30. qtbot.keyPress(widget, QtCore.Qt.Key_S)
  31. qtbot.keyPress(widget, QtCore.Qt.Key_O)
  32. qtbot.keyPress(widget, QtCore.Qt.Key_N)
  33. assert widget.text() == 'person'