- self.assertEqual(parser.parse('!xxx&yyy&zzz|ooo'),
- ('OR', ('AND', ('AND', ('NOT', ('NAME', 'xxx')), ('NAME', 'yyy')), ('NAME', 'zzz')), ('NAME', 'ooo'))
+ self.assertEqual(
+ self._parse('!(xxx || yyy)'),
+ ('NOT', ('PARENS', ('OR', ('NAME', 'xxx'), ('NAME', 'yyy'))))
+ )
+ self.assertEqual(
+ self._parse('xxx and yyy'),
+ ('AND', ('NAME', 'xxx'), ('NAME', 'yyy'))
+ )
+ self.assertEqual(
+ self._parse('xxx or yyy'),
+ ('OR', ('NAME', 'xxx'), ('NAME', 'yyy'))
+ )
+ self.assertEqual(
+ self._parse('xxx OR yyy'),
+ ('OR', ('NAME', 'xxx'), ('NAME', 'yyy'))
+ )
+ self.assertEqual(
+ self._parse('not xxx'),
+ ('NOT', ('NAME', 'xxx'))
+ )
+ self.assertEqual(
+ self._parse('NOT xxx'),
+ ('NOT', ('NAME', 'xxx'))
+ )
+ self.assertEqual(
+ self._parse('NOT (xxx & yyy) AND zzz | ooo'),
+ ('OR',
+ ('AND',
+ ('NOT',
+ ('PARENS',
+ ('AND', ('NAME', 'xxx'), ('NAME', 'yyy'))
+ )
+ ),
+ ('NAME', 'zzz')
+ ),
+ ('NAME', 'ooo')
+ )