File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -146,10 +146,11 @@ def _data_is_binary(self, data):
146146 elif isinstance (data , list ):
147147 return functools .reduce (
148148 lambda a , b : a or b , [self ._data_is_binary (item )
149- for item in data ])
149+ for item in data ], False )
150150 elif isinstance (data , dict ):
151151 return functools .reduce (
152152 lambda a , b : a or b , [self ._data_is_binary (item )
153- for item in six .itervalues (data )])
153+ for item in six .itervalues (data )],
154+ False )
154155 else :
155156 return False
Original file line number Diff line number Diff line change @@ -172,3 +172,18 @@ def test_decode_many_binary_ack(self):
172172 self .assertEqual (pkt .data ['a' ], '123' )
173173 self .assertEqual (pkt .data ['b' ], b'456' )
174174 self .assertEqual (pkt .data ['c' ], [b'789' , 123 ])
175+
176+ def test_data_is_binary_list (self ):
177+ pkt = packet .Packet ()
178+ self .assertFalse (pkt ._data_is_binary ([six .text_type ('foo' )]))
179+ self .assertFalse (pkt ._data_is_binary ([]))
180+ self .assertTrue (pkt ._data_is_binary ([b'foo' ]))
181+ self .assertTrue (pkt ._data_is_binary ([six .text_type ('foo' ), b'bar' ]))
182+
183+ def test_data_is_binary_dict (self ):
184+ pkt = packet .Packet ()
185+ self .assertFalse (pkt ._data_is_binary ({'a' : six .text_type ('foo' )}))
186+ self .assertFalse (pkt ._data_is_binary ({}))
187+ self .assertTrue (pkt ._data_is_binary ({'a' : b'foo' }))
188+ self .assertTrue (pkt ._data_is_binary ({'a' : six .text_type ('foo' ),
189+ 'b' : b'bar' }))
You can’t perform that action at this time.
0 commit comments