コード例 #1
0
    def test_repl_split_edgeql_01(self):
        # test regular complete statements
        self.assertEqual(
            utils.split_edgeql('select +  - 1;', script_mode=False),
            (['select +  - 1;'], None))

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

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

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

        self.assertEqual(
            utils.split_edgeql('''\
                    CREATE TYPE blah {
                        set ;
                        blah ;
                    };
                    select 1;
                ''',
                               script_mode=False), ([
                                   '''CREATE TYPE blah {
                        set ;
                        blah ;
                    };''', 'select 1;'
                               ], None))
コード例 #2
0
    def test_repl_split_edgeql_04(self):
        # test multiline statements where the ';' is not a separator
        self.assertEqual(utils.split_edgeql('SELECT "aaa;', script_mode=False),
                         ([], 'SELECT "aaa;'))

        self.assertEqual(utils.split_edgeql('SELECT 1 #;', script_mode=False),
                         ([], 'SELECT 1 '))
コード例 #3
0
    def test_repl_split_edgeql_06(self):
        # test regular script mode
        self.assertEqual(
            utils.split_edgeql('select +  - 1;', script_mode=True),
            (['select +  - 1;'], None))

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

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

        self.assertEqual(
            utils.split_edgeql('''\
                CREATE TYPE blah {
                    set ;
                    blah ;
                };
                select 1;
                ''',
                               script_mode=True), ([
                                   '''CREATE TYPE blah {
                    set ;
                    blah ;
                };''', '''select 1;'''
                               ], None))
コード例 #4
0
    def test_repl_split_edgeql_05(self):
        # test invalid tokens
        self.assertEqual(
            utils.split_edgeql('SELECT 1 ~ 2;', script_mode=False),
            (['SELECT 1 ~ 2;'], None))

        self.assertEqual(utils.split_edgeql('SELECT 1 ~ 2', script_mode=False),
                         ([], 'SELECT 1 ~ 2'))
コード例 #5
0
    def test_repl_split_edgeql_03(self):
        # test multiline statements where the string is unterminated
        self.assertEqual(utils.split_edgeql('SELECT "aaa', script_mode=False),
                         ([], 'SELECT "aaa'))

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

        self.assertEqual(utils.split_edgeql('SELECT "as\n', script_mode=False),
                         ([], 'SELECT "as\n'))
コード例 #6
0
    def test_repl_split_edgeql_02(self):
        # test multiline statements
        self.assertEqual(utils.split_edgeql('', script_mode=False), ([], ''))
        self.assertEqual(utils.split_edgeql(' ', script_mode=False), ([], ' '))
        self.assertEqual(utils.split_edgeql(' \n ', script_mode=False),
                         ([], ' \n '))
        self.assertEqual(utils.split_edgeql(' \n sel \n ', script_mode=False),
                         ([], ' \n sel \n '))

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

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

        self.assertEqual(
            utils.split_edgeql('select +  - 1;  select {;;;;}}}}',
                               script_mode=False),
            (['select +  - 1;'], '  select {;;;;}}}}'))
コード例 #7
0
    def test_repl_split_edgeql_07(self):
        # test script mode with various incomplete parts
        self.assertEqual(utils.split_edgeql('', script_mode=True), ([], None))
        self.assertEqual(utils.split_edgeql(' ', script_mode=True), ([], None))
        self.assertEqual(utils.split_edgeql(' \n ', script_mode=True),
                         ([], None))

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

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

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

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