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):
146
146
elif isinstance (data , list ):
147
147
return functools .reduce (
148
148
lambda a , b : a or b , [self ._data_is_binary (item )
149
- for item in data ])
149
+ for item in data ], False )
150
150
elif isinstance (data , dict ):
151
151
return functools .reduce (
152
152
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 )
154
155
else :
155
156
return False
Original file line number Diff line number Diff line change @@ -172,3 +172,18 @@ def test_decode_many_binary_ack(self):
172
172
self .assertEqual (pkt .data ['a' ], '123' )
173
173
self .assertEqual (pkt .data ['b' ], b'456' )
174
174
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