Skip to content

Commit e003dab

Browse files
Add assertions for format.
1 parent ebcf358 commit e003dab

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Lib/test/test_struct.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)