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")
39
>>> parse("false == false")
43
>>> parse("100 == 100")
45
>>> parse('"some text" == "some text"')
47
>>> parse("true != false")
51
>>> parse('"text" != "other text"')
53
>>> parse("foo == true", foo=True)
55
>>> parse("foo == 1", foo=1)
57
>>> parse('foo == "bar"', foo='bar')
59
>>> parse("foo == bar", foo=True, bar=True)
61
>>> parse("true == foo", foo=True)
63
>>> parse("foo != true", foo=False)
65
>>> parse("foo != 2", foo=1)
67
>>> parse('foo != "bar"', foo='abc')
69
>>> parse("foo != bar", foo=True, bar=False)
71
>>> parse("true != foo", foo=False)
78
>>> parse("true && true")
80
>>> parse("true || false")
82
>>> parse("false || false")
84
>>> parse("true && false")
86
>>> parse("true || false && false")
97
>>> parse("(foo)", foo=1)
99
>>> parse("(true == true)")
101
>>> parse("(true != false)")
103
>>> parse("(true && true)")
105
>>> parse("(true || false)")
107
>>> parse("(true && true || false)")
109
>>> parse("(true || false) && false")
111
>>> parse("(true || false) && true")
113
>>> parse("true && (true || false)")
115
>>> parse("true && (true || false)")
117
>>> parse("(true && false) || (true && (true || false))")