Ejemplo n.º 1
0
    def testConsumingReachesEof(self):
        state = ScannerState("f")
        state.consume()
        eof = state.consume()

        self.assertEqual(EOF, eof)
        self.assertEqual(1, state.position)
Ejemplo n.º 2
0
    def testCanConsume(self):
        state = ScannerState("foo")
        c = state.consume()

        self.assertEqual("f", c)
        self.assertEqual(1, state.position)
        self.assertEqual(0, state.start)
Ejemplo n.º 3
0
    def testConsumingReachesEof(self):
        state = ScannerState("f")
        state.consume()
        eof = state.consume()

        self.assertEqual(EOF, eof)
        self.assertEqual(1, state.position)
Ejemplo n.º 4
0
    def testCanConsume(self):
        state = ScannerState("foo")
        c = state.consume()

        self.assertEqual('f', c)
        self.assertEqual(1, state.position)
        self.assertEqual(0, state.start)
Ejemplo n.º 5
0
    def testConsumingStopsAtEof(self):
        state = ScannerState("f")
        state.consume()
        a = state.consume()
        b = state.consume()
        c = state.consume()

        self.assertEqual([EOF, EOF, EOF], [a, b, c])
        self.assertEqual(1, state.position)
        self.assertEqual(0, state.start)
Ejemplo n.º 6
0
 def test_match_CanSucceed(self):
     state = ScannerState('foo123')
     state.consume()
     state.consume()
     state.consume()
     self.assertTrue(state.match(r'\d{3}'))
     self.assertEqual(6, state.position)
     self.assertEqual(EOF, state.consume())
Ejemplo n.º 7
0
 def test_match_CanSucceed(self):
     state = ScannerState("foo123")
     state.consume()
     state.consume()
     state.consume()
     self.assertTrue(state.match(r"\d{3}"))
     self.assertEqual(6, state.position)
     self.assertEqual(EOF, state.consume())
Ejemplo n.º 8
0
    def testConsumingStopsAtEof(self):
        state = ScannerState("f")
        state.consume()
        a = state.consume()
        b = state.consume()
        c = state.consume()

        self.assertEqual([EOF, EOF, EOF], [a, b, c])
        self.assertEqual(1, state.position)
        self.assertEqual(0, state.start)
Ejemplo n.º 9
0
    def test_skip_run_StopsAtEof(self):
        state = ScannerState("aaf")
        state.skip_run("af")

        self.assertEqual(3, state.position)
        self.assertEqual(EOF, state.consume())
Ejemplo n.º 10
0
 def test_peek_CanFail(self):
     state = ScannerState("foo")
     self.assertFalse(state.peek("fxo"))
Ejemplo n.º 11
0
 def test_backup_Works(self):
     state = ScannerState("foo")
     state.consume()
     state.consume()
     state.backup()
Ejemplo n.º 12
0
    def test_ignore_Works(self):
        state = ScannerState("aabb")
        state.skip("a")
        state.ignore()

        self.assertEqual(2, state.position)
Ejemplo n.º 13
0
 def test_expect_CanFail(self):
     state = ScannerState('foo')
     self.assertRaises(ValueError, state.expect, 'x')
Ejemplo n.º 14
0
    def test_emit_Works(self):
        state = ScannerState("aabb")
        state.skip("a")

        self.assertEqual('aa', state.emit())
        self.assertEqual(2, state.position)
Ejemplo n.º 15
0
    def test_skip_run_Works(self):
        state = ScannerState("aafoo")
        state.skip_run("af")

        self.assertEqual(3, state.position)
        self.assertEqual('o', state.consume())
Ejemplo n.º 16
0
 def test_backup_Works(self):
     state = ScannerState("foo")
     state.consume()
     state.consume()
     state.backup()
Ejemplo n.º 17
0
    def test_skip_Works(self):
        state = ScannerState("aafoo")
        state.skip("a")

        self.assertEqual(2, state.position)
        self.assertEqual("f", state.consume())
Ejemplo n.º 18
0
    def test_skip_run_Works(self):
        state = ScannerState("aafoo")
        state.skip_run("af")

        self.assertEqual(3, state.position)
        self.assertEqual("o", state.consume())
Ejemplo n.º 19
0
    def test_emit_Works(self):
        state = ScannerState("aabb")
        state.skip("a")

        self.assertEqual("aa", state.emit())
        self.assertEqual(2, state.position)
Ejemplo n.º 20
0
    def test_ignore_Works(self):
        state = ScannerState("aabb")
        state.skip("a")
        state.ignore()

        self.assertEqual(2, state.position)
Ejemplo n.º 21
0
    def test_skip_Works(self):
        state = ScannerState("aafoo")
        state.skip("a")

        self.assertEqual(2, state.position)
        self.assertEqual('f', state.consume())
Ejemplo n.º 22
0
 def test_expect_CanSucceed(self):
     state = ScannerState("foo")
     c = state.expect("f")
     self.assertEqual("f", c)
Ejemplo n.º 23
0
    def test_skip_run_StopsAtEof(self):
        state = ScannerState("aaf")
        state.skip_run("af")

        self.assertEqual(3, state.position)
        self.assertEqual(EOF, state.consume())
Ejemplo n.º 24
0
 def test_expect_match_CanSucceed(self):
     state = ScannerState("foo")
     c = state.expect_match("fo{2}")
     self.assertEqual("foo", c.group(0))
Ejemplo n.º 25
0
    def testInstantiate(self):
        state = ScannerState("foo")

        self.assertEqual("foo", state.source)
        self.assertEqual(0, state.position)
        self.assertEqual(0, state.start)
Ejemplo n.º 26
0
 def test_peek_CanSucceed(self):
     state = ScannerState('foo')
     self.assertTrue(state.peek('foo'))
Ejemplo n.º 27
0
 def test_expect_CanSucceed(self):
     state = ScannerState('foo')
     c = state.expect('f')
     self.assertEqual('f', c)
Ejemplo n.º 28
0
 def test_peek_CanFail(self):
     state = ScannerState('foo')
     self.assertFalse(state.peek('fxo'))
Ejemplo n.º 29
0
 def test_expect_match_CanSucceed(self):
     state = ScannerState('foo')
     c = state.expect_match('fo{2}')
     self.assertEqual('foo', c.group(0))
Ejemplo n.º 30
0
 def test_peek_CanSucceed(self):
     state = ScannerState("foo")
     self.assertTrue(state.peek("foo"))