diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_language_base.py (renamed from test/test_language.py) | 70 | ||||
-rw-r--r-- | test/test_language_http.py | 8 |
2 files changed, 40 insertions, 38 deletions
diff --git a/test/test_language.py b/test/test_language_base.py index ffa5e82c..10f11d42 100644 --- a/test/test_language.py +++ b/test/test_language_base.py @@ -9,11 +9,12 @@ def parse_request(s): return language.parse_requests(s)[0] -class TestWS: - def test_expr(self): - v = base.WS("foo") - assert v.expr() - assert v.values(language.Settings()) +def test_caseless_literal(): + class CL(base.CaselessLiteral): + TOK = "foo" + v = CL("foo") + assert v.expr() + assert v.values(language.Settings()) class TestValueNakedLiteral: @@ -166,11 +167,11 @@ class TestMisc: assert base.Value.parseString('"val"')[0].val == "val" assert base.Value.parseString('"\'val\'"')[0].val == "'val'" - def test_path(self): - e = base.Path.expr() + def test_simplevalue(self): + e = base.SimpleValue.expr() assert e.parseString('"/foo"')[0].value.val == "/foo" - v = base.Path("/foo") + v = base.SimpleValue("/foo") assert v.value.val == "/foo" v = e.parseString("@100")[0] @@ -182,32 +183,6 @@ class TestMisc: s = v.spec() assert s == v.expr().parseString(s)[0].spec() - def test_method(self): - e = base.Method.expr() - assert e.parseString("get")[0].value.val == "GET" - assert e.parseString("'foo'")[0].value.val == "foo" - assert e.parseString("'get'")[0].value.val == "get" - - assert e.parseString("get")[0].spec() == "get" - assert e.parseString("'foo'")[0].spec() == "'foo'" - - s = e.parseString("get")[0].spec() - assert s == e.parseString(s)[0].spec() - - s = e.parseString("'foo'")[0].spec() - assert s == e.parseString(s)[0].spec() - - v = e.parseString("@100")[0] - v2 = v.freeze({}) - v3 = v2.freeze({}) - assert v2.value.val == v3.value.val - - def test_raw(self): - e = base.Raw.expr().parseString("r")[0] - assert e - assert e.spec() == "r" - assert e.freeze({}).spec() == "r" - def test_body(self): e = base.Body.expr() v = e.parseString("b'foo'")[0] @@ -470,3 +445,30 @@ class TestPauses: def test_freeze(self): l = base.PauseAt("r", 5) assert l.freeze({}).spec() == l.spec() + + +def test_options_or_value(): + class TT(base.OptionsOrValue): + options = [ + "one", + "two", + "three" + ] + e = TT.expr() + assert e.parseString("one")[0].value.val == "ONE" + assert e.parseString("'foo'")[0].value.val == "foo" + assert e.parseString("'get'")[0].value.val == "get" + + assert e.parseString("one")[0].spec() == "one" + assert e.parseString("'foo'")[0].spec() == "'foo'" + + s = e.parseString("one")[0].spec() + assert s == e.parseString(s)[0].spec() + + s = e.parseString("'foo'")[0].spec() + assert s == e.parseString(s)[0].spec() + + v = e.parseString("@100")[0] + v2 = v.freeze({}) + v3 = v2.freeze({}) + assert v2.value.val == v3.value.val diff --git a/test/test_language_http.py b/test/test_language_http.py index 50473339..f2528da4 100644 --- a/test/test_language_http.py +++ b/test/test_language_http.py @@ -129,15 +129,15 @@ class TestRequest: r = parse_request('ws:/path/') res = r.resolve(language.Settings()) assert res.method.string().lower() == "get" - assert res.tok(base.Path).value.val == "/path/" - assert res.tok(base.Method).value.val.lower() == "get" + assert res.tok(http.Path).value.val == "/path/" + assert res.tok(http.Method).value.val.lower() == "get" assert http.get_header("Upgrade", res.headers).value.val == "websocket" r = parse_request('ws:put:/path/') res = r.resolve(language.Settings()) assert r.method.string().lower() == "put" - assert res.tok(base.Path).value.val == "/path/" - assert res.tok(base.Method).value.val.lower() == "put" + assert res.tok(http.Path).value.val == "/path/" + assert res.tok(http.Method).value.val.lower() == "put" assert http.get_header("Upgrade", res.headers).value.val == "websocket" |