From 7168e5ce67119d0c171be7dac36bd7d21f762589 Mon Sep 17 00:00:00 2001 From: Andi Albrecht Date: Thu, 16 May 2019 07:56:57 +0200 Subject: Add support for time zone casts (fixes #489). --- tests/test_regressions.py | 6 ++++++ tests/test_tokenize.py | 9 +++++++++ 2 files changed, 15 insertions(+) (limited to 'tests') diff --git a/tests/test_regressions.py b/tests/test_regressions.py index ce8c41f..2ed0ff3 100644 --- a/tests/test_regressions.py +++ b/tests/test_regressions.py @@ -400,3 +400,9 @@ select 1; select 2; );''' assert len(sqlparse.split(p_sql)) == 1 + + +def test_issue489_tzcasts(): + p = sqlparse.parse('select bar at time zone \'UTC\' as foo')[0] + assert p.tokens[-1].has_alias() is True + assert p.tokens[-1].get_alias() == 'foo' diff --git a/tests/test_tokenize.py b/tests/test_tokenize.py index e65a651..2748b1b 100644 --- a/tests/test_tokenize.py +++ b/tests/test_tokenize.py @@ -204,6 +204,15 @@ def test_parse_order_by(): assert p.tokens[0].ttype is T.Keyword +@pytest.mark.parametrize('s', ( + 'AT TIME ZONE \'UTC\'', +)) +def test_parse_tzcast(s): + p = sqlparse.parse(s)[0] + assert len(p.tokens) == 1 + assert p.tokens[0].ttype == T.Keyword.TZCast + + def test_cli_commands(): p = sqlparse.parse('\\copy')[0] assert len(p.tokens) == 1 -- cgit v1.2.1