4
Test the conditional expression parser.
8
>>> from manifestparser import parse
22
>>> parse('"foo bar"')
24
>>> parse("'foo bar'")
26
>>> parse("foo", foo=1)
28
>>> parse("bar", bar=True)
30
>>> parse("abc123", abc123="xyz")
35
>>> parse("true == true")
37
>>> parse("false == false")
41
>>> parse("100 == 100")
43
>>> parse('"some text" == "some text"')
45
>>> parse("true != false")
49
>>> parse('"text" != "other text"')
51
>>> parse("foo == true", foo=True)
53
>>> parse("foo == 1", foo=1)
55
>>> parse('foo == "bar"', foo='bar')
57
>>> parse("foo == bar", foo=True, bar=True)
59
>>> parse("true == foo", foo=True)
61
>>> parse("foo != true", foo=False)
63
>>> parse("foo != 2", foo=1)
65
>>> parse('foo != "bar"', foo='abc')
67
>>> parse("foo != bar", foo=True, bar=False)
69
>>> parse("true != foo", foo=False)
76
>>> parse("true && true")
78
>>> parse("true || false")
80
>>> parse("false || false")
82
>>> parse("true && false")
84
>>> parse("true || false && false")
95
>>> parse("(foo)", foo=1)
97
>>> parse("(true == true)")
99
>>> parse("(true != false)")
101
>>> parse("(true && true)")
103
>>> parse("(true || false)")
105
>>> parse("(true && true || false)")
107
>>> parse("(true || false) && false")
109
>>> parse("(true || false) && true")
111
>>> parse("true && (true || false)")
113
>>> parse("true && (true || false)")
115
>>> parse("(true && false) || (true && (true || false))")