File tree Expand file tree Collapse file tree 2 files changed +15
-3
lines changed
Expand file tree Collapse file tree 2 files changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -88,9 +88,9 @@ def decode(self, encoded_packet):
8888 self .namespace = None
8989 self .data = None
9090 ep = ep [1 :]
91- dash = ( ep + '-' ) .find ('-' )
91+ dash = ep .find ('-' )
9292 attachment_count = 0
93- if ep [0 :dash ].isdigit ():
93+ if dash > 0 and ep [0 :dash ].isdigit ():
9494 attachment_count = int (ep [0 :dash ])
9595 ep = ep [dash + 1 :]
9696 if ep and ep [0 :1 ] == '/' :
@@ -106,7 +106,7 @@ def decode(self, encoded_packet):
106106 self .namespace = self .namespace [0 :q ]
107107 if ep and ep [0 ].isdigit ():
108108 self .id = 0
109- while ep [0 ].isdigit ():
109+ while ep and ep [0 ].isdigit ():
110110 self .id = self .id * 10 + int (ep [0 ])
111111 ep = ep [1 :]
112112 if ep :
Original file line number Diff line number Diff line change @@ -146,6 +146,18 @@ def test_decode_id(self):
146146 self .assertEqual (pkt .id , 123 )
147147 self .assertEqual (pkt .encode (), '2123["foo"]' )
148148
149+ def test_encode_id_no_data (self ):
150+ pkt = packet .Packet (packet_type = packet .EVENT , id = 123 )
151+ self .assertEqual (pkt .id , 123 )
152+ self .assertIsNone (pkt .data )
153+ self .assertEqual (pkt .encode (), '2123' )
154+
155+ def test_decode_id_no_data (self ):
156+ pkt = packet .Packet (encoded_packet = '2123' )
157+ self .assertEqual (pkt .id , 123 )
158+ self .assertIsNone (pkt .data )
159+ self .assertEqual (pkt .encode (), '2123' )
160+
149161 def test_encode_namespace_and_id (self ):
150162 pkt = packet .Packet (packet_type = packet .EVENT ,
151163 data = [six .text_type ('foo' )], namespace = '/bar' ,
You can’t perform that action at this time.
0 commit comments