You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2010/11/11 16:59:46 UTC

svn commit: r1033975 - in /qpid/trunk/qpid/python/qpid: messaging/address.py tests/messaging/address.py

Author: rhs
Date: Thu Nov 11 15:59:45 2010
New Revision: 1033975

URL: http://svn.apache.org/viewvc?rev=1033975&view=rev
Log:
added address parser support for None

Modified:
    qpid/trunk/qpid/python/qpid/messaging/address.py
    qpid/trunk/qpid/python/qpid/tests/messaging/address.py

Modified: qpid/trunk/qpid/python/qpid/messaging/address.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/messaging/address.py?rev=1033975&r1=1033974&r2=1033975&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/messaging/address.py (original)
+++ qpid/trunk/qpid/python/qpid/messaging/address.py Thu Nov 11 15:59:45 2010
@@ -33,6 +33,7 @@ COMMA = l.define("COMMA", r",")
 NUMBER = l.define("NUMBER", r'[+-]?[0-9]*\.?[0-9]+')
 TRUE = l.define("TRUE", r'True')
 FALSE = l.define("FALSE", r'False')
+NONE = l.define("NONE", r'None')
 ID = l.define("ID", r'[a-zA-Z_](?:[a-zA-Z0-9_-]*[a-zA-Z0-9_])?')
 STRING = l.define("STRING", r""""(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'""")
 ESC = l.define("ESC", r"\\[^ux]|\\x[0-9a-fA-F][0-9a-fA-F]|\\u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]")
@@ -65,6 +66,8 @@ def tok2obj(tok):
     return True
   elif tok.type == FALSE:
     return False
+  elif tok.type == NONE:
+    return None
   else:
     return tok.value
 
@@ -133,7 +136,7 @@ class AddressParser(Parser):
     return (key, val)
 
   def value(self):
-    if self.matches(NUMBER, STRING, ID, TRUE, FALSE):
+    if self.matches(NUMBER, STRING, ID, TRUE, FALSE, NONE):
       return tok2obj(self.eat())
     elif self.matches(LBRACE):
       return self.map()

Modified: qpid/trunk/qpid/python/qpid/tests/messaging/address.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/tests/messaging/address.py?rev=1033975&r1=1033974&r2=1033975&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/tests/messaging/address.py (original)
+++ qpid/trunk/qpid/python/qpid/tests/messaging/address.py Thu Nov 11 15:59:45 2010
@@ -19,8 +19,8 @@
 
 
 from qpid.tests import Test
-from qpid.messaging.address import lex, parse, ParseError, EOF, ID, NUMBER, SYM, WSPACE, \
-    LEXER
+from qpid.messaging.address import lex, parse, ParseError, EOF, ID, NONE, \
+    NUMBER, SYM, WSPACE, LEXER
 from qpid.lexer import Token
 from qpid.harness import Skipped
 from qpid.tests.parser import ParserBase
@@ -149,6 +149,9 @@ class AddressTests(ParserBase, Test):
   def testNegativeNum(self):
     self.lex("-3", NUMBER)
 
+  def testNone(self):
+    self.lex("None", NONE)
+
   def testHash(self):
     self.valid("foo/bar.#", "foo", "bar.#")
 
@@ -166,6 +169,10 @@ class AddressTests(ParserBase, Test):
     self.valid("name/subject; {key: value,}", "name", "subject",
                {"key": "value"})
 
+  def testOptionsNone(self):
+    self.valid("name/subject; {key: None}", "name", "subject",
+               {"key": None})
+
   def testSemiSubject(self):
     self.valid("foo.bar/'baz.qux;moo:arf'; {key: value}",
                "foo.bar", "baz.qux;moo:arf", {"key": "value"})



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org