From 940d262a1ed9b45969895b93b7184f93bdab71b9 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 22 Jan 2017 19:08:31 -0800 Subject: [PATCH] allow event names with hyphens Fixes #51 --- socketio/server.py | 2 -- tests/test_packet.py | 11 +++++++++++ tests/test_server.py | 4 ---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/socketio/server.py b/socketio/server.py index 1d8115f6..211eff8f 100644 --- a/socketio/server.py +++ b/socketio/server.py @@ -149,8 +149,6 @@ def message_handler(sid, msg): client's acknowledgement callback function if it exists. The ``'disconnect'`` handler does not take a second argument. """ - if '-' in event: - raise ValueError('event names cannot contain hypens') namespace = namespace or '/' def set_handler(handler): diff --git a/tests/test_packet.py b/tests/test_packet.py index c89ef940..f4d2207c 100644 --- a/tests/test_packet.py +++ b/tests/test_packet.py @@ -117,6 +117,17 @@ def test_decode_namespace_with_hyphens(self): self.assertEqual(pkt.namespace, '/b-a-r') self.assertEqual(pkt.encode(), '2/b-a-r,["foo"]') + def test_encode_event_with_hyphens(self): + pkt = packet.Packet(packet_type=packet.EVENT, + data=[six.text_type('f-o-o')]) + self.assertEqual(pkt.namespace, None) + self.assertEqual(pkt.encode(), '2["f-o-o"]') + + def test_decode_event_with_hyphens(self): + pkt = packet.Packet(encoded_packet='2["f-o-o"]') + self.assertEqual(pkt.namespace, None) + self.assertEqual(pkt.encode(), '2["f-o-o"]') + def test_encode_id(self): pkt = packet.Packet(packet_type=packet.EVENT, data=[six.text_type('foo')], id=123) diff --git a/tests/test_server.py b/tests/test_server.py index a3906856..36ad0f28 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -48,10 +48,6 @@ def bar(): self.assertEqual(s.handlers['/']['disconnect'], bar) self.assertEqual(s.handlers['/foo']['disconnect'], bar) - def test_on_bad_event_name(self, eio): - s = server.Server() - self.assertRaises(ValueError, s.on, 'two-words') - def test_emit(self, eio): mgr = mock.MagicMock() s = server.Server(client_manager=mgr)