summaryrefslogtreecommitdiff
path: root/python/qpid/tests/address.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/qpid/tests/address.py')
-rw-r--r--python/qpid/tests/address.py28
1 files changed, 12 insertions, 16 deletions
diff --git a/python/qpid/tests/address.py b/python/qpid/tests/address.py
index 065e2ca8de..f772425e42 100644
--- a/python/qpid/tests/address.py
+++ b/python/qpid/tests/address.py
@@ -19,12 +19,20 @@
from qpid.tests import Test
from qpid.address import lex, parse, ParseError, EOF, ID, NUMBER, SYM, WSPACE
+from parser import ParserBase
-class AddressTests(Test):
+class AddressTests(ParserBase, Test):
- def lex(self, addr, *types):
- toks = [t.type for t in lex(addr) if t.type not in (WSPACE, EOF)]
- assert list(types) == toks, "expected %s, got %s" % (types, toks)
+ EXCLUDE = (WSPACE, EOF)
+
+ def do_lex(self, st):
+ return lex(st)
+
+ def do_parse(self, st):
+ return parse(st)
+
+ def valid(self, addr, name=None, subject=None, options=None):
+ ParserBase.valid(self, addr, (name, subject, options))
def testDashInId1(self):
self.lex("foo-bar", ID)
@@ -47,18 +55,6 @@ class AddressTests(Test):
def testNegativeNum(self):
self.lex("-3", NUMBER)
- def valid(self, addr, name=None, subject=None, options=None):
- expected = (name, subject, options)
- got = parse(addr)
- assert expected == got, "expected %s, got %s" % (expected, got)
-
- def invalid(self, addr, error=None):
- try:
- p = parse(addr)
- assert False, "invalid address parsed: %s" % p
- except ParseError, e:
- assert error == str(e), "expected %r, got %r" % (error, str(e))
-
def testHash(self):
self.valid("foo/bar.#", "foo", "bar.#")