Example #1
0
        self.assertTrue(DefaultParser.is_applicable(stream[start]),
                        'Should be parsable.')
        _, value, _ = DefaultParser.parse(start, stream)
        self.assertEqual(value, 'value2')

    def testEndStringParsing(self):
        stream = 'some meaningful value1'

        start = len('some meaningful ')
        self.assertTrue(DefaultParser.is_applicable(stream[start]),
                        'Should be parsable.')
        _, value, _ = DefaultParser.parse(start, stream)
        self.assertEqual(value, 'value1')


STR_DOUBLE_QUOTE_PARSER = StringValueParser(start='"', end='"', escape='\\')


class Test_DQ_StringValueParser(TestCase):
    def testStringParsing(self):
        stream = 'some meaningful "spaced value1" something else skippable "double spaced value2"' \
                 'still more skip.'

        start = len('some meaningful ')
        self.assertTrue(STR_DOUBLE_QUOTE_PARSER.is_applicable(stream[start]),
                        'Should be parsable.')
        _, value, _ = STR_DOUBLE_QUOTE_PARSER.parse(start, stream)
        self.assertEqual(value, 'spaced value1')

        start = len(
            'some meaningful "spaced value1" something else skippable ')