aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_rparse.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/test_rparse.py b/test/test_rparse.py
index f4b408b2..04a4972f 100644
--- a/test/test_rparse.py
+++ b/test/test_rparse.py
@@ -169,6 +169,23 @@ class TestDisconnects:
assert v.value == "r"
+class TestInject:
+ def test_parse_response(self):
+ a = rparse.parse_response({}, "400:ir,@100").actions[0]
+ assert a[0] == "r"
+ assert a[1] == "inject"
+
+ def test_at(self):
+ e = rparse.InjectAt.expr()
+ v = e.parseString("i0,'foo'")[0]
+ assert v.value.val == "foo"
+ assert v.offset == 0
+ assert isinstance(v, rparse.InjectAt)
+
+ v = e.parseString("ir,'foo'")[0]
+ assert v.offset == "r"
+
+
class TestShortcuts:
def test_parse_response(self):
assert rparse.parse_response({}, "400:c'foo'").headers[0][0][:] == "Content-Type"
@@ -262,6 +279,21 @@ class TestWriteValues:
rparse.send_chunk(s, v, bs, start, end)
assert s.getvalue() == v[start:end]
+ def test_write_values_inject(self):
+ tst = "foo"
+
+ s = cStringIO.StringIO()
+ rparse.write_values(s, [tst], [(0, "inject", "aaa")], blocksize=5)
+ assert s.getvalue() == "aaafoo"
+
+ s = cStringIO.StringIO()
+ rparse.write_values(s, [tst], [(1, "inject", "aaa")], blocksize=5)
+ assert s.getvalue() == "faaaoo"
+
+ s = cStringIO.StringIO()
+ rparse.write_values(s, [tst], [(1, "inject", "aaa")], blocksize=5)
+ assert s.getvalue() == "faaaoo"
+
def test_write_values_disconnects(self):
s = cStringIO.StringIO()
tst = "foo"*100