summaryrefslogtreecommitdiffstats
path: root/tests/test_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_parser.py')
-rw-r--r--tests/test_parser.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py
index 6611b87..bff4f98 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -86,6 +86,15 @@ class TestParser(unittest.TestCase):
self.assertIsNotNone(parse_one("date").find(exp.Column))
+ def test_structs(self):
+ cast = parse_one("cast(x as struct<int>)")
+ self.assertIsInstance(cast.to.expressions[0], exp.DataType)
+ self.assertEqual(cast.sql(), "CAST(x AS STRUCT<INT>)")
+
+ cast = parse_one("cast(x as struct<varchar(10)>)")
+ self.assertIsInstance(cast.to.expressions[0], exp.DataType)
+ self.assertEqual(cast.sql(), "CAST(x AS STRUCT<VARCHAR(10)>)")
+
def test_float(self):
self.assertEqual(parse_one(".2"), parse_one("0.2"))
@@ -772,7 +781,7 @@ class TestParser(unittest.TestCase):
)
self.assertEqual(ast.find(exp.Interval).this.sql(), "'71'")
- self.assertEqual(ast.find(exp.Interval).unit.assert_is(exp.Var).sql(), "days")
+ self.assertEqual(ast.find(exp.Interval).unit.assert_is(exp.Var).sql(), "DAYS")
def test_parse_concat_ws(self):
ast = parse_one("CONCAT_WS(' ', 'John', 'Doe')")