def test_numcmp(self):
        self.failUnless(Query.is_valid("#(t < 3)"))
        self.failUnless(Query.is_valid("#(t <= 3)"))
        self.failUnless(Query.is_valid("#(t > 3)"))
        self.failUnless(Query.is_valid("#(t >= 3)"))
        self.failUnless(Query.is_valid("#(t = 3)"))
        self.failUnless(Query.is_valid("#(t != 3)"))

        self.failIf(Query.is_valid("#(t !> 3)"))
        self.failIf(Query.is_valid("#(t >> 3)"))
    def test_numcmp(self):
        self.failUnless(Query.is_valid("#(t < 3)"))
        self.failUnless(Query.is_valid("#(t <= 3)"))
        self.failUnless(Query.is_valid("#(t > 3)"))
        self.failUnless(Query.is_valid("#(t >= 3)"))
        self.failUnless(Query.is_valid("#(t = 3)"))
        self.failUnless(Query.is_valid("#(t != 3)"))

        self.failIf(Query.is_valid("#(t !> 3)"))
        self.failIf(Query.is_valid("#(t >> 3)"))
 def test_not(self):
     self.failUnless(Query.is_valid('t = !/a/'))
     self.failUnless(Query.is_valid('t = !!/a/'))
     self.failUnless(Query.is_valid('!t = "a"'))
     self.failUnless(Query.is_valid('!!t = "a"'))
     self.failUnless(Query.is_valid('t = !|(/a/, !"b")'))
     self.failUnless(Query.is_valid('t = !!|(/a/, !"b")'))
     self.failUnless(Query.is_valid('!|(t = /a/)'))
 def test_not(self):
     self.failUnless(Query.is_valid('t = !/a/'))
     self.failUnless(Query.is_valid('t = !!/a/'))
     self.failUnless(Query.is_valid('!t = "a"'))
     self.failUnless(Query.is_valid('!!t = "a"'))
     self.failUnless(Query.is_valid('t = !|(/a/, !"b")'))
     self.failUnless(Query.is_valid('t = !!|(/a/, !"b")'))
     self.failUnless(Query.is_valid('!|(t = /a/)'))
 def test_re(self):
     self.failUnless(Query.is_valid('t = /an re/'))
     self.failUnless(Query.is_valid('t = /an re/c'))
     self.failUnless(Query.is_valid('t = /an\\/re/'))
     self.failIf(Query.is_valid('t = /an/re/'))
     self.failUnless(Query.is_valid('t = /aaa/lsic'))
     self.failIf(Query.is_valid('t = /aaa/icslx'))
 def test_re(self):
     self.failUnless(Query.is_valid('t = /an re/'))
     self.failUnless(Query.is_valid('t = /an re/c'))
     self.failUnless(Query.is_valid('t = /an\\/re/'))
     self.failIf(Query.is_valid('t = /an/re/'))
     self.failUnless(Query.is_valid('t = /aaa/lsic'))
     self.failIf(Query.is_valid('t = /aaa/icslx'))
    def test_andor(self):
        self.failUnless(Query.is_valid('a = |(/a/, /b/)'))
        self.failUnless(Query.is_valid('a = |(/b/)'))
        self.failUnless(Query.is_valid('|(a = /b/, c = /d/)'))

        self.failUnless(Query.is_valid('a = &(/a/, /b/)'))
        self.failUnless(Query.is_valid('a = &(/b/)'))
        self.failUnless(Query.is_valid('&(a = /b/, c = /d/)'))
    def test_andor(self):
        self.failUnless(Query.is_valid('a = |(/a/, /b/)'))
        self.failUnless(Query.is_valid('a = |(/b/)'))
        self.failUnless(Query.is_valid('|(a = /b/, c = /d/)'))

        self.failUnless(Query.is_valid('a = &(/a/, /b/)'))
        self.failUnless(Query.is_valid('a = &(/b/)'))
        self.failUnless(Query.is_valid('&(a = /b/, c = /d/)'))
 def test_trailing(self):
     self.failIf(Query.is_valid('t = /an re/)'))
     self.failIf(Query.is_valid('|(a, b = /a/, c, d = /q/) woo'))
示例#10
0
 def test_nonsense(self):
     self.failIf(Query.is_valid('a string'))
     self.failIf(Query.is_valid('t = #(a > b)'))
     self.failIf(Query.is_valid("=a= = /b/"))
     self.failIf(Query.is_valid("a = &(/b//"))
     self.failIf(Query.is_valid("(a = &(/b//)"))
示例#11
0
 def test_emptylist(self):
     self.failIf(Query.is_valid("a = &()"))
     self.failIf(Query.is_valid("a = |()"))
     self.failIf(Query.is_valid("|()"))
     self.failIf(Query.is_valid("&()"))
示例#12
0
 def test_empty(self):
     self.failUnless(Query.is_valid(''))
     self.failUnless(Query.is_parsable(''))
     self.failUnless(Query(''))
示例#13
0
 def test_tag(self):
     self.failUnless(Query.is_valid('t = tag'))
     self.failUnless(Query.is_valid('t = !tag'))
     self.failUnless(Query.is_valid('t = |(tag, bar)'))
     self.failUnless(Query.is_valid('t = a"tag"'))
     self.failIf(Query.is_valid('t = a, tag'))
 def test_tag(self):
     self.failUnless(Query.is_valid('t = tag'))
     self.failUnless(Query.is_valid('t = !tag'))
     self.failUnless(Query.is_valid('t = |(tag, bar)'))
     self.failUnless(Query.is_valid('t = a"tag"'))
     self.failIf(Query.is_valid('t = a, tag'))
示例#15
0
 def test_list(self):
     self.failUnless(Query.is_valid("#(t < 3, t > 9)"))
     self.failUnless(Query.is_valid("t = &(/a/, /b/)"))
     self.failUnless(Query.is_valid("s, t = |(/a/, /b/)"))
     self.failUnless(Query.is_valid("|(t = /a/, s = /b/)"))
 def test_empty(self):
     self.failUnless(Query.is_valid(''))
     self.failUnless(Query.is_parsable(''))
     self.failUnless(Query(''))
 def test_emptylist(self):
     self.failIf(Query.is_valid("a = &()"))
     self.failIf(Query.is_valid("a = |()"))
     self.failIf(Query.is_valid("|()"))
     self.failIf(Query.is_valid("&()"))
 def test_nonsense(self):
     self.failIf(Query.is_valid('a string'))
     self.failIf(Query.is_valid('t = #(a > b)'))
     self.failIf(Query.is_valid("=a= = /b/"))
     self.failIf(Query.is_valid("a = &(/b//"))
     self.failIf(Query.is_valid("(a = &(/b//)"))
 def test_trailing(self):
     self.failIf(Query.is_valid('t = /an re/)'))
     self.failIf(Query.is_valid('|(a, b = /a/, c, d = /q/) woo'))
 def test_taglist(self):
     self.failUnless(Query.is_valid('a, b = /a/'))
     self.failUnless(Query.is_valid('a, b, c = |(/a/)'))
     self.failUnless(Query.is_valid('|(a, b = /a/, c, d = /q/)'))
     self.failIf(Query.is_valid('a = /a/, b'))
示例#21
0
 def test_taglist(self):
     self.failUnless(Query.is_valid('a, b = /a/'))
     self.failUnless(Query.is_valid('a, b, c = |(/a/)'))
     self.failUnless(Query.is_valid('|(a, b = /a/, c, d = /q/)'))
     self.failIf(Query.is_valid('a = /a/, b'))
 def test_trinary(self):
     self.failUnless(Query.is_valid("#(2 < t < 3)"))
     self.failUnless(Query.is_valid("#(2 >= t > 3)"))
     # useless, but valid
     self.failUnless(Query.is_valid("#(5 > t = 2)"))
 def test_list(self):
     self.failUnless(Query.is_valid("#(t < 3, t > 9)"))
     self.failUnless(Query.is_valid("t = &(/a/, /b/)"))
     self.failUnless(Query.is_valid("s, t = |(/a/, /b/)"))
     self.failUnless(Query.is_valid("|(t = /a/, s = /b/)"))
 def test_nesting(self):
     self.failUnless(Query.is_valid("|(s, t = &(/a/, /b/),!#(2 > q > 3))"))
示例#25
0
 def test_trinary(self):
     self.failUnless(Query.is_valid("#(2 < t < 3)"))
     self.failUnless(Query.is_valid("#(2 >= t > 3)"))
     # useless, but valid
     self.failUnless(Query.is_valid("#(5 > t = 2)"))
示例#26
0
 def test_str(self):
     self.failUnless(Query.is_valid('t = "a str"'))
     self.failUnless(Query.is_valid('t = "a str"c'))
     self.failUnless(Query.is_valid('t = "a\\"str"'))
示例#27
0
 def test_nesting(self):
     self.failUnless(Query.is_valid("|(s, t = &(/a/, /b/),!#(2 > q > 3))"))
 def test_str(self):
     self.failUnless(Query.is_valid('t = "a str"'))
     self.failUnless(Query.is_valid('t = "a str"c'))
     self.failUnless(Query.is_valid('t = "a\\"str"'))