summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2009-11-10 20:16:27 +0000
committerRafael H. Schloming <rhs@apache.org>2009-11-10 20:16:27 +0000
commite048998526e4beceda8ba1d732197bf945114ef3 (patch)
tree6aad4ca319c65d3314458a1db6ec125d7a854a19
parent1b4f7d549a7c44ffe5a5e000ca0b3b5d2cdd3e73 (diff)
downloadqpid-python-e048998526e4beceda8ba1d732197bf945114ef3.tar.gz
permit hash and star as part of the address
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@834647 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--python/qpid/address.py2
-rw-r--r--python/qpid/tests/__init__.py2
-rw-r--r--python/qpid/tests/address.py35
3 files changed, 37 insertions, 2 deletions
diff --git a/python/qpid/address.py b/python/qpid/address.py
index 5976d4889b..3355d1a591 100644
--- a/python/qpid/address.py
+++ b/python/qpid/address.py
@@ -36,7 +36,7 @@ RBRACE = Type("RBRACE", r"\}")
COLON = Type("COLON", r":")
COMMA = Type("COMMA", r",")
SLASH = Type("SLASH", r"/")
-ID = Type("ID", r'[a-zA-Z_][a-zA-Z0-9_.-]*')
+ID = Type("ID", r'[a-zA-Z_][a-zA-Z0-9_.#*-]*')
NUMBER = Type("NUMBER", r'[+-]?[0-9]*\.?[0-9]+')
STRING = Type("STRING", r""""(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'""")
WSPACE = Type("WSPACE", r"[ \n\r\t]+")
diff --git a/python/qpid/tests/__init__.py b/python/qpid/tests/__init__.py
index 7d2967c55b..6d227dd656 100644
--- a/python/qpid/tests/__init__.py
+++ b/python/qpid/tests/__init__.py
@@ -25,4 +25,4 @@ class Test:
def configure(self, config):
self.config = config
-import messaging, framing
+import address, framing, messaging
diff --git a/python/qpid/tests/address.py b/python/qpid/tests/address.py
new file mode 100644
index 0000000000..51a9716343
--- /dev/null
+++ b/python/qpid/tests/address.py
@@ -0,0 +1,35 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from qpid.tests import Test
+from qpid.address import parse
+
+class AddressTests(Test):
+
+ def testHash(self):
+ name, subject, options = parse("foo/bar.#")
+ assert name == "foo", name
+ assert subject == "bar.#", bar
+ assert options == None
+
+ def testStar(self):
+ name, subject, options = parse("foo/bar.*")
+ assert name == "foo", name
+ assert subject == "bar.*", bar
+ assert options == None