Skip to content

Commit 061c11d

Browse files
committed
Try another fix. Apparently under Python 2.7 when using PyQt4, arguments (that we emit in test code as normal strings) are converted to "PyQt4.QtCore.QString(u'<stringcontent>')" by repr(), while as for all other Python 2 builds, this is just "u'<stringcontent>'".
1 parent 78ecf73 commit 061c11d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

tests/test_wait_signal.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,8 @@ def arg_validator(str_param, int_param):
830830
parameters = "[('1', 1), ('2', 2)]"
831831
if PY_2:
832832
parameters = "[(u'1', 1), (u'2', 2)]"
833+
if qt_api.pytest_qt_api == 'pyqt4':
834+
parameters = "[(PyQt4.QtCore.QString(u'1'), 1), (PyQt4.QtCore.QString(u'2'), 2)]"
833835
assert ex_msg == ("Signal signal_args(QString,int) emitted with parameters {} "
834836
"within 200 ms, but did not satisfy the arg_validator callback").format(parameters)
835837

@@ -889,6 +891,8 @@ def my_callback_2(str_param, int_param):
889891
signal_args = "'1', 1"
890892
if PY_2:
891893
signal_args = "u'1', 1"
894+
if qt_api.pytest_qt_api == 'pyqt4':
895+
signal_args = "PyQt4.QtCore.QString(u'1'), 1"
892896
assert ex_msg == ("Emitted signals: [signal_args({})]. Missing: "
893897
"[signal(), signal_args(QString,int) (callback: my_callback_2)]").format(signal_args)
894898

@@ -918,6 +922,8 @@ def test_simple_order_second_signal_emitted(self, qtbot, signaller):
918922
signal_args = "'1', 1"
919923
if PY_2:
920924
signal_args = "u'1', 1"
925+
if qt_api.pytest_qt_api == 'pyqt4':
926+
signal_args = "PyQt4.QtCore.QString(u'1'), 1"
921927
assert ex_msg == ("Emitted signals: [signal_args({})]. Missing: "
922928
"[signal(), signal_args(QString,int), signal_args(QString,int)]").format(signal_args)
923929

@@ -936,6 +942,8 @@ def test_strict_order_violation(self, qtbot, signaller):
936942
signal_args = "'1', 1"
937943
if PY_2:
938944
signal_args = "u'1', 1"
945+
if qt_api.pytest_qt_api == 'pyqt4':
946+
signal_args = "PyQt4.QtCore.QString(u'1'), 1"
939947
assert ex_msg == ("Signal order violated! Expected signal() as 1st signal, "
940948
"but received signal_args({}) instead. Emitted signals: [signal_args({}), signal]. "
941949
"Missing: [signal(), signal_args(QString,int), signal_args(QString,int)]").format(signal_args,

0 commit comments

Comments
 (0)