()
| 73 | |
| 74 | |
| 75 | def test_issue40(): |
| 76 | # make sure identifier lists in subselects are grouped |
| 77 | p = sqlparse.parse('SELECT id, name FROM ' |
| 78 | '(SELECT id, name FROM bar) as foo')[0] |
| 79 | assert len(p.tokens) == 7 |
| 80 | assert p.tokens[2].__class__ == sql.IdentifierList |
| 81 | assert p.tokens[-1].__class__ == sql.Identifier |
| 82 | assert p.tokens[-1].get_name() == 'foo' |
| 83 | sp = p.tokens[-1].tokens[0] |
| 84 | assert sp.tokens[3].__class__ == sql.IdentifierList |
| 85 | # make sure that formatting works as expected |
| 86 | s = sqlparse.format('SELECT id == name FROM ' |
| 87 | '(SELECT id, name FROM bar)', reindent=True) |
| 88 | assert s == '\n'.join([ |
| 89 | 'SELECT id == name', |
| 90 | 'FROM', |
| 91 | ' (SELECT id,', |
| 92 | ' name', |
| 93 | ' FROM bar)']) |
| 94 | |
| 95 | s = sqlparse.format('SELECT id == name FROM ' |
| 96 | '(SELECT id, name FROM bar) as foo', reindent=True) |
| 97 | assert s == '\n'.join([ |
| 98 | 'SELECT id == name', |
| 99 | 'FROM', |
| 100 | ' (SELECT id,', |
| 101 | ' name', |
| 102 | ' FROM bar) as foo']) |
| 103 | |
| 104 | |
| 105 | @pytest.mark.parametrize('s', ['select x.y::text as z from foo', |
nothing calls this directly
no test coverage detected
searching dependent graphs…