@@ -880,20 +880,28 @@ def __new__(cls, *args, **kwargs):
880880 return super ().__new__ (cls , '>h' )
881881
882882 my_struct = MyStruct ('>h' )
883+ self .assertEqual (my_struct .format , '>h' )
883884 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
884885 my_struct = MyStruct ('<h' )
886+ self .assertEqual (my_struct .format , '>h' )
885887 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
886888 my_struct = MyStruct (format = '<h' )
889+ self .assertEqual (my_struct .format , '>h' )
887890 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
888891 my_struct = MyStruct ()
892+ self .assertEqual (my_struct .format , '>h' )
889893 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
890894 my_struct = MyStruct (42 )
895+ self .assertEqual (my_struct .format , '>h' )
891896 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
892897 my_struct = MyStruct ('$' )
898+ self .assertEqual (my_struct .format , '>h' )
893899 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
894900 my_struct = MyStruct ('\u20ac ' )
901+ self .assertEqual (my_struct .format , '>h' )
895902 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
896903 my_struct = MyStruct ('<h' , 42 )
904+ self .assertEqual (my_struct .format , '>h' )
897905 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
898906
899907 def test_custom_struct_new_and_init (self ):
@@ -906,6 +914,7 @@ def __init__(self, newargs, initargs):
906914 super ().__init__ (* initargs )
907915
908916 my_struct = MyStruct (('>h' ,), ('>h' ,))
917+ self .assertEqual (my_struct .format , '>h' )
909918 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
910919 with self .assertRaises (TypeError ):
911920 MyStruct ((), ())
@@ -930,15 +939,18 @@ def __init__(self, newargs, initargs):
930939 MyStruct (('>h' ,), ('\u20ac ' ,))
931940 with self .assertWarns (FutureWarning ):
932941 my_struct = MyStruct (('>h' ,), ('<h' ,))
942+ self .assertEqual (my_struct .format , '<h' )
933943 self .assertEqual (my_struct .pack (12345 ), b'\x39 \x30 ' )
934944
935945 def test_no_custom_struct_new_or_init (self ):
936946 class MyStruct (struct .Struct ):
937947 pass
938948
939949 my_struct = MyStruct ('>h' )
950+ self .assertEqual (my_struct .format , '>h' )
940951 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
941952 my_struct = MyStruct (format = '>h' )
953+ self .assertEqual (my_struct .format , '>h' )
942954 self .assertEqual (my_struct .pack (12345 ), b'\x30 \x39 ' )
943955 with self .assertRaises (TypeError ):
944956 MyStruct ()
0 commit comments