diff options
| author | Andi Albrecht <albrecht.andi@gmail.com> | 2015-02-21 07:55:30 +0100 |
|---|---|---|
| committer | Andi Albrecht <albrecht.andi@gmail.com> | 2015-02-21 07:55:30 +0100 |
| commit | 2d72b7afcb6d736f5a92a373bbb7a3aa1abed49b (patch) | |
| tree | e2934e930bfa70780f1fad670842e394903551a0 /tests | |
| parent | 51871a8ffa0de99e98e2b24794458c9aa6b36689 (diff) | |
| parent | 6f134c67b6c89c2985e29bd5bc4c809cc16c06a5 (diff) | |
| download | sqlparse-2d72b7afcb6d736f5a92a373bbb7a3aa1abed49b.tar.gz | |
Merge pull request #171 from darikg/alias_bugfix
Fix #167
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_grouping.py | 51 |
1 files changed, 46 insertions, 5 deletions
diff --git a/tests/test_grouping.py b/tests/test_grouping.py index 44a8072..c598258 100644 --- a/tests/test_grouping.py +++ b/tests/test_grouping.py @@ -15,11 +15,12 @@ class TestGrouping(TestCaseBase): s = 'select (select (x3) x2) and (y2) bar' parsed = sqlparse.parse(s)[0] self.ndiffAssertEqual(s, str(parsed)) - self.assertEqual(len(parsed.tokens), 9) + self.assertEqual(len(parsed.tokens), 7) self.assert_(isinstance(parsed.tokens[2], sql.Parenthesis)) - self.assert_(isinstance(parsed.tokens[-3], sql.Parenthesis)) - self.assertEqual(len(parsed.tokens[2].tokens), 7) - self.assert_(isinstance(parsed.tokens[2].tokens[3], sql.Parenthesis)) + self.assert_(isinstance(parsed.tokens[-1], sql.Identifier)) + self.assertEqual(len(parsed.tokens[2].tokens), 5) + self.assert_(isinstance(parsed.tokens[2].tokens[3], sql.Identifier)) + self.assert_(isinstance(parsed.tokens[2].tokens[3].tokens[0], sql.Parenthesis)) self.assertEqual(len(parsed.tokens[2].tokens[3].tokens), 3) def test_comments(self): @@ -145,7 +146,7 @@ class TestGrouping(TestCaseBase): s = 'select x from (select y from foo where bar = 1) z' p = sqlparse.parse(s)[0] self.ndiffAssertEqual(s, unicode(p)) - self.assertTrue(isinstance(p.tokens[-3].tokens[-2], sql.Where)) + self.assertTrue(isinstance(p.tokens[-1].tokens[0].tokens[-2], sql.Where)) def test_typecast(self): s = 'select foo::integer from bar' @@ -345,3 +346,43 @@ def test_nested_begin(): assert inner.tokens[0].value == 'BEGIN' assert inner.tokens[-1].value == 'END' assert isinstance(inner, sql.Begin) + + +def test_aliased_column_without_as(): + p = sqlparse.parse('foo bar')[0].tokens + assert len(p) == 1 + assert p[0].get_real_name() == 'foo' + assert p[0].get_alias() == 'bar' + + p = sqlparse.parse('foo.bar baz')[0].tokens[0] + assert p.get_parent_name() == 'foo' + assert p.get_real_name() == 'bar' + assert p.get_alias() == 'baz' + + +def test_qualified_function(): + p = sqlparse.parse('foo()')[0].tokens[0] + assert p.get_parent_name() is None + assert p.get_real_name() == 'foo' + + p = sqlparse.parse('foo.bar()')[0].tokens[0] + assert p.get_parent_name() == 'foo' + assert p.get_real_name() == 'bar' + + +def test_aliased_function_without_as(): + p = sqlparse.parse('foo() bar')[0].tokens[0] + assert p.get_parent_name() is None + assert p.get_real_name() == 'foo' + assert p.get_alias() == 'bar' + + p = sqlparse.parse('foo.bar() baz')[0].tokens[0] + assert p.get_parent_name() == 'foo' + assert p.get_real_name() == 'bar' + assert p.get_alias() == 'baz' + + +def test_aliased_literal_without_as(): + p = sqlparse.parse('1 foo')[0].tokens + assert len(p) == 1 + assert p[0].get_alias() == 'foo'
\ No newline at end of file |
