Example #1
0
    def test_split_edgeql_06(self):
        # test regular script mode
        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;', script_mode=True),
            (['select +  - 1;'], None))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  ', script_mode=True),
            (['select +  - 1;'], None))

        self.assertEqual(
            lexutils.split_edgeql('  select +  - 1;  select ;;',
                                  script_mode=True),
            (['select +  - 1;', 'select ;'], None))

        self.assertEqual(
            lexutils.split_edgeql('''\
                CREATE TYPE blah {
                    set ;
                    blah ;
                };
                select 1;
                ''', script_mode=True),
            ([
                '''CREATE TYPE blah {
                    set ;
                    blah ;
                };''',
                '''select 1;'''
            ], None))
Example #2
0
    def test_split_edgeql_05(self):
        # test invalid tokens
        self.assertEqual(
            lexutils.split_edgeql('SELECT 1 ~ 2;', script_mode=False),
            (['SELECT 1 ~ 2;'], None))

        self.assertEqual(
            lexutils.split_edgeql('SELECT 1 ~ 2', script_mode=False),
            ([], 'SELECT 1 ~ 2'))
Example #3
0
    def test_split_edgeql_04(self):
        # test multiline statements where the ';' is not a separator
        self.assertEqual(
            lexutils.split_edgeql('SELECT "aaa;', script_mode=False),
            ([], 'SELECT "aaa;'))

        self.assertEqual(
            lexutils.split_edgeql('SELECT 1 #;', script_mode=False),
            ([], 'SELECT 1 #;'))
Example #4
0
    def test_split_edgeql_03(self):
        # test multiline statements where the string is unterminated
        self.assertEqual(
            lexutils.split_edgeql('SELECT "aaa', script_mode=False),
            ([], 'SELECT "aaa'))

        self.assertEqual(
            lexutils.split_edgeql('SELECT "as', script_mode=False),
            ([], 'SELECT "as'))

        self.assertEqual(
            lexutils.split_edgeql('SELECT "as\n', script_mode=False),
            ([], 'SELECT "as\n'))
Example #5
0
    def test_split_edgeql_02(self):
        # test multiline statements
        self.assertEqual(
            lexutils.split_edgeql('', script_mode=False),
            ([], ''))
        self.assertEqual(
            lexutils.split_edgeql(' ', script_mode=False),
            ([], ' '))
        self.assertEqual(
            lexutils.split_edgeql(' \n ', script_mode=False),
            ([], ' \n '))
        self.assertEqual(lexutils.split_edgeql(
            ' \n sel \n ', script_mode=False),
            ([], ' \n sel \n '))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  select 1',
                                  script_mode=False),
            (['select +  - 1;'], '  select 1'))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  select {;}',
                                  script_mode=False),
            (['select +  - 1;'], '  select {;}'))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  select {;;;;}}}}',
                                  script_mode=False),
            (['select +  - 1;'], '  select {;;;;}}}}'))
Example #6
0
    def test_split_edgeql_07(self):
        # test script mode with various incomplete parts
        self.assertEqual(
            lexutils.split_edgeql('', script_mode=True), ([], None))
        self.assertEqual(
            lexutils.split_edgeql(' ', script_mode=True), ([], None))
        self.assertEqual(
            lexutils.split_edgeql(' \n ', script_mode=True), ([], None))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  select 1',
                                  script_mode=True),
            (['select +  - 1;', 'select 1'], None))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  select {;}',
                                  script_mode=True),
            (['select +  - 1;', 'select {;}'], None))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  select {;;;;}}}} select',
                                  script_mode=True),
            (['select +  - 1;', 'select {;;;;}}}} select'], None))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  select {;;;;}}}}; select',
                                  script_mode=True),
            (['select +  - 1;', 'select {;;;;}}}};', 'select'], None))
Example #7
0
    def test_split_edgeql_01(self):
        # test regular complete statements
        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;', script_mode=False),
            (['select +  - 1;'], None))

        self.assertEqual(
            lexutils.split_edgeql('select +  - 1;  ', script_mode=False),
            (['select +  - 1;'], None))

        self.assertEqual(
            lexutils.split_edgeql(
                '  select +  - 1;  select ;;', script_mode=False),
            (['select +  - 1;', 'select ;'], None))

        self.assertEqual(
            lexutils.split_edgeql(';;;', script_mode=False),
            ([], None))

        self.assertEqual(
            lexutils.split_edgeql('''\
                    CREATE TYPE blah {
                        set ;
                        blah ;
                    };
                    select 1;
                ''', script_mode=False),
            (
                [
                    '''CREATE TYPE blah {
                        set ;
                        blah ;
                    };''',
                    'select 1;'
                ],
                None
            ))