예제 #1
0
파일: parser.py 프로젝트: refnode/liquid
 def test_look(self):
     p = Parser("wat 6 Peter Hegemon")
     self.assertTrue(p.look(':id'))
     self.assertEqual('wat', p.consume(':id'))
     self.assertFalse(p.look(':comparison'))
     self.assertTrue(p.look(':number'))
     self.assertTrue(p.look(':id', 1))
     self.assertFalse(p.look(':number', 1))
예제 #2
0
파일: parser.py 프로젝트: refnode/liquid
 def test_arguments(self):
     p = Parser("filter: hi.there[5], keyarg: 7")
     self.assertEqual('filter', p.consume(':id'))
     self.assertEqual(':', p.consume(':colon'))
     self.assertEqual('hi.there[5]', p.argument())
     self.assertEqual(',', p.consume(':comma'))
     self.assertEqual('keyarg: 7', p.argument())
예제 #3
0
파일: parser.py 프로젝트: refnode/liquid
 def test_id_false(self):
     p = Parser("wat 6 Peter Hegemon")
     self.assertEqual('wat', p.id('wat'))
     self.assertFalse(p.id('endgame'))
     self.assertEqual('6', p.consume(':number'))
     self.assertEqual('Peter', p.id('Peter'))
     self.assertFalse(p.id('Achilles'))
예제 #4
0
파일: parser.py 프로젝트: refnode/liquid
 def test_expressions(self):
     p = Parser("hi.there hi[5].! hi.there.bob")
     self.assertEqual('hi.there', p.expression())
     self.assertEqual('hi[5].!', p.expression())
     self.assertEqual('hi.there.bob', p.expression())
     
     p = Parser("567 6.0 'lol' \"wut\"")
     self.assertEqual('567', p.expression())
     self.assertEqual('6.0', p.expression())
     self.assertEqual("'lol'", p.expression())
     self.assertEqual('"wut"', p.expression())
예제 #5
0
def parse(template):
    config = Config(debug='more')
    config.update_logger()
    meta = template_meta(template)
    parser = Parser(meta, config)
    return parser.parse()
예제 #6
0
파일: parser.py 프로젝트: refnode/liquid
 def test_ranges(self):
     p = Parser("(5..7) (1.5..9.6) (young..old) (hi[5].wat..old)")
     self.assertEqual('(5..7)', p.expression())
     self.assertEqual('(1.5..9.6)', p.expression())
     self.assertEqual('(young..old)', p.expression())
     self.assertEqual('(hi[5].wat..old)', p.expression())
예제 #7
0
파일: parser.py 프로젝트: refnode/liquid
 def test_consume_false(self):
     p = Parser("wat: 7")
     self.assertEqual('wat', p.consume(':id', force_type=True))
     self.assertFalse(p.consume(':dot', force_type=True))
     self.assertEqual(':', p.consume(':colon'))
     self.assertEqual('7', p.consume(':number', force_type=True))
예제 #8
0
파일: parser.py 프로젝트: refnode/liquid
 def test_jump(self):
     p = Parser("wat: 7")
     p.jump(2)
     self.assertEqual('7', p.consume(':number'))
예제 #9
0
파일: parser.py 프로젝트: refnode/liquid
 def test_consume(self):
     p = Parser("wat: 7")
     self.assertEqual('wat', p.consume(':id'))
     self.assertEqual(':', p.consume(':colon'))
     self.assertEqual('7', p.consume(':number'))