Make filter matching act more sensibly.

This commit is contained in:
Aldo Cortesi 2012-02-10 15:31:45 +13:00
parent 5f785e26b9
commit 1ad7e91527
3 changed files with 17 additions and 10 deletions

View File

@ -932,12 +932,14 @@ class Flow:
if matched, False if not.
"""
if f:
if self.response:
return f(self.response)
elif self.request:
return f(self.request)
elif self.error:
return f(self.error)
if self.response and f(self.response):
return True
elif self.request and f(self.request):
return True
elif self.error and f(self.error):
return True
else:
return False
else:
return True

View File

@ -72,7 +72,7 @@ class uState(libpry.AutoTree):
self._add_response(c)
self._add_request(c)
self._add_response(c)
assert not c.set_limit("~q")
assert not c.set_limit("~s")
assert len(c.view) == 3
assert c.focus == 0

View File

@ -142,6 +142,10 @@ class uFlow(libpry.AutoTree):
f.request = f.response.request
assert not f.match(filt.parse("~b test"))
assert f.match(None)
assert not f.match(filt.parse("~b test"))
f = tutils.tflow_err()
assert f.match(filt.parse("~e"))
def test_backup(self):
f = tutils.tflow()
@ -304,10 +308,11 @@ class uState(libpry.AutoTree):
req = tutils.treq()
f = c.add_request(req)
e = flow.Error(f.request, "message")
c.set_limit("~bs message")
c.set_limit("~e")
assert not c.view
assert not c.view
assert c.add_error(e)
#assert c.view
assert c.view
def test_set_limit(self):
@ -332,7 +337,7 @@ class uState(libpry.AutoTree):
c.add_request(req)
assert len(c.view) == 2
c.set_limit("~q")
assert len(c.view) == 1
assert len(c.view) == 2
c.set_limit("~s")
assert len(c.view) == 1