2
2
import fnmatch
3
3
4
4
import pytest
5
+ import sys
5
6
6
7
from pytestqt .qt_compat import qt_api
7
8
from pytestqt .wait_signal import SignalEmittedError , SignalTimeoutError , SignalAndArgs
@@ -702,7 +703,7 @@ def get_mixed_signals_with_guaranteed_name(signaller):
702
703
703
704
class TestAllSignalsAndArgs :
704
705
"""
705
- Tests blocker.all_signals_and_args (waitSignals() blocker) is filled with the namedtuple SignalAndArgs for each
706
+ Tests blocker.all_signals_and_args (waitSignals() blocker) is a list of SignalAndArgs objects, one for each
706
707
received expected signal (irrespective of the order parameter).
707
708
"""
708
709
@@ -738,7 +739,7 @@ def test_non_empty_on_timeout_no_cb(self, qtbot, signaller):
738
739
raising = False ) as blocker :
739
740
signaller .signal_args .emit ('1' , 1 )
740
741
signaller .signal .emit ()
741
- assert blocker .signal_triggered is False
742
+ assert not blocker .signal_triggered
742
743
assert blocker .all_signals_and_args == [
743
744
SignalAndArgs (signal_name = 'signal_args(QString,int)' , args = ('1' , 1 )),
744
745
SignalAndArgs (signal_name = 'signal()' , args = ())
@@ -755,14 +756,17 @@ def test_non_empty_no_cb(self, qtbot, signaller):
755
756
signaller .signal .emit ()
756
757
signaller .signal_args .emit ('1' , 1 )
757
758
signaller .signal_args .emit ('2' , 2 )
758
- assert blocker .signal_triggered is True
759
+ assert blocker .signal_triggered
759
760
assert blocker .all_signals_and_args == [
760
761
SignalAndArgs (signal_name = 'signal()' , args = ()),
761
762
SignalAndArgs (signal_name = 'signal_args(QString,int)' , args = ('1' , 1 )),
762
763
SignalAndArgs (signal_name = 'signal_args(QString,int)' , args = ('2' , 2 ))
763
764
]
764
765
765
766
767
+ PY_2 = sys .version_info [0 ] == 2
768
+
769
+
766
770
class TestWaitSignalSignalTimeoutErrorMessage :
767
771
"""Tests that the messages of SignalTimeoutError are formatted correctly, for waitSignal() calls."""
768
772
@@ -801,8 +805,8 @@ def arg_validator(int_param):
801
805
signaller .signal_single_arg .emit (1 )
802
806
signaller .signal_single_arg .emit (2 )
803
807
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
804
- assert ex_msg == "Signal signal_single_arg(int) emitted with parameters [1, 2] within 200 ms, " \
805
- "but did not satisfy the arg_validator callback"
808
+ assert ex_msg == ( "Signal signal_single_arg(int) emitted with parameters [1, 2] within 200 ms, "
809
+ "but did not satisfy the arg_validator callback" )
806
810
807
811
def test_with_multiple_args (self , qtbot , signaller ):
808
812
"""
@@ -820,11 +824,14 @@ def arg_validator(str_param, int_param):
820
824
821
825
with pytest .raises (SignalTimeoutError ) as excinfo :
822
826
with qtbot .waitSignal (signal = signal , timeout = 200 , check_params_cb = arg_validator , raising = True ):
823
- signaller .signal_args .emit ('1' , 1 )
827
+ signaller .signal_args .emit ("1" , 1 )
824
828
signaller .signal_args .emit ('2' , 2 )
825
829
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
826
- assert ex_msg == "Signal signal_args(QString,int) emitted with parameters [('1', 1), ('2', 2)] " \
827
- "within 200 ms, but did not satisfy the arg_validator callback"
830
+ parameters = "[('1', 1), ('2', 2)]"
831
+ if PY_2 :
832
+ parameters = "[(u'1', 1), (u'2', 2)]"
833
+ assert ex_msg == ("Signal signal_args(QString,int) emitted with parameters {} "
834
+ "within 200 ms, but did not satisfy the arg_validator callback" ).format (parameters )
828
835
829
836
830
837
class TestWaitSignalsSignalTimeoutErrorMessage :
@@ -845,8 +852,8 @@ def my_callback(str_param, int_param):
845
852
check_params_cbs = [None , None , my_callback ], order = order , raising = True ):
846
853
pass # don't emit any signals
847
854
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
848
- assert ex_msg == "Emitted signals: None. Missing: " \
849
- "[signal(), signal_args(QString,int), signal_args(QString,int) (callback: my_callback)]"
855
+ assert ex_msg == ( "Emitted signals: None. Missing: "
856
+ "[signal(), signal_args(QString,int), signal_args(QString,int) (callback: my_callback)]" )
850
857
851
858
@pytest .mark .parametrize ("order" , ["none" , "simple" , "strict" ])
852
859
def test_no_signal_emitted_no_callbacks (self , qtbot , signaller , order ):
@@ -859,8 +866,8 @@ def test_no_signal_emitted_no_callbacks(self, qtbot, signaller, order):
859
866
check_params_cbs = None , order = order , raising = True ):
860
867
pass # don't emit any signals
861
868
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
862
- assert ex_msg == "Emitted signals: None. Missing: " \
863
- "[signal(), signal_args(QString,int), signal_args(QString,int)]"
869
+ assert ex_msg == ( "Emitted signals: None. Missing: "
870
+ "[signal(), signal_args(QString,int), signal_args(QString,int)]" )
864
871
865
872
def test_none_order_one_signal_emitted (self , qtbot , signaller ):
866
873
"""
@@ -879,8 +886,11 @@ def my_callback_2(str_param, int_param):
879
886
check_params_cbs = [None , my_callback_1 , my_callback_2 ], order = "none" , raising = True ):
880
887
signaller .signal_args .emit ("1" , 1 )
881
888
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
882
- assert ex_msg == "Emitted signals: [signal_args('1', 1)]. Missing: " \
883
- "[signal(), signal_args(QString,int) (callback: my_callback_2)]"
889
+ signal_args = "'1', 1"
890
+ if PY_2 :
891
+ signal_args = "u'1', 1"
892
+ assert ex_msg == ("Emitted signals: [signal_args({})]. Missing: "
893
+ "[signal(), signal_args(QString,int) (callback: my_callback_2)]" ).format (signal_args )
884
894
885
895
def test_simple_order_first_signal_emitted (self , qtbot , signaller ):
886
896
"""
@@ -892,8 +902,8 @@ def test_simple_order_first_signal_emitted(self, qtbot, signaller):
892
902
check_params_cbs = None , order = "simple" , raising = True ):
893
903
signaller .signal .emit ()
894
904
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
895
- assert ex_msg == "Emitted signals: [signal]. Missing: " \
896
- "[signal_args(QString,int), signal_args(QString,int)]"
905
+ assert ex_msg == ( "Emitted signals: [signal]. Missing: "
906
+ "[signal_args(QString,int), signal_args(QString,int)]" )
897
907
898
908
def test_simple_order_second_signal_emitted (self , qtbot , signaller ):
899
909
"""
@@ -905,8 +915,11 @@ def test_simple_order_second_signal_emitted(self, qtbot, signaller):
905
915
check_params_cbs = None , order = "simple" , raising = True ):
906
916
signaller .signal_args .emit ("1" , 1 )
907
917
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
908
- assert ex_msg == "Emitted signals: [signal_args('1', 1)]. Missing: " \
909
- "[signal(), signal_args(QString,int), signal_args(QString,int)]"
918
+ signal_args = "'1', 1"
919
+ if PY_2 :
920
+ signal_args = "u'1', 1"
921
+ assert ex_msg == ("Emitted signals: [signal_args({})]. Missing: "
922
+ "[signal(), signal_args(QString,int), signal_args(QString,int)]" ).format (signal_args )
910
923
911
924
def test_strict_order_violation (self , qtbot , signaller ):
912
925
"""
@@ -920,9 +933,13 @@ def test_strict_order_violation(self, qtbot, signaller):
920
933
signaller .signal_args .emit ("1" , 1 )
921
934
signaller .signal .emit ()
922
935
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
923
- assert ex_msg == "Signal order violated! Expected signal() as 1st signal, " \
924
- "but received signal_args('1', 1) instead. Emitted signals: [signal_args('1', 1), signal]. " \
925
- "Missing: [signal(), signal_args(QString,int), signal_args(QString,int)]"
936
+ signal_args = "'1', 1"
937
+ if PY_2 :
938
+ signal_args = "u'1', 1"
939
+ assert ex_msg == ("Signal order violated! Expected signal() as 1st signal, "
940
+ "but received signal_args({}) instead. Emitted signals: [signal_args({}), signal]. "
941
+ "Missing: [signal(), signal_args(QString,int), signal_args(QString,int)]" ).format (signal_args ,
942
+ signal_args )
926
943
927
944
def test_degenerate_error_msg (self , qtbot , signaller ):
928
945
"""
@@ -939,9 +956,9 @@ def test_degenerate_error_msg(self, qtbot, signaller):
939
956
raising = True ):
940
957
signaller .signal .emit ()
941
958
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
942
- assert ex_msg == "Received 1 of the 3 expected signals. " \
943
- "To improve this error message, provide the names of the signals " \
944
- "in the waitSignals() call."
959
+ assert ex_msg == ( "Received 1 of the 3 expected signals. "
960
+ "To improve this error message, provide the names of the signals "
961
+ "in the waitSignals() call." )
945
962
946
963
def test_self_defined_signal_name (self , qtbot , signaller ):
947
964
"""
@@ -959,8 +976,8 @@ def my_cb(str_param, int_param):
959
976
raising = True ):
960
977
pass
961
978
ex_msg = TestWaitSignalsSignalTimeoutErrorMessage .get_exception_message (excinfo )
962
- assert ex_msg == "Emitted signals: None. " \
963
- "Missing: [signal_without_args, signal_with_args (callback: my_cb)]"
979
+ assert ex_msg == ( "Emitted signals: None. "
980
+ "Missing: [signal_without_args, signal_with_args (callback: my_cb)]" )
964
981
965
982
@staticmethod
966
983
def get_exception_message (excinfo ):
0 commit comments