11module Test.Parse where
22
3- import Prelude
3+ import Test. Prelude
44
55import Data.Either as E
66import SqlSquared (parseQuery , printQuery , SqlQuery )
77import SqlSquared.Parser (prettyParse )
88import Test.Queries as Q
9- import Test.Unit (suite , test , TestSuite )
10- import Test.Unit.Assert as Assert
119
12- parseSucc ∷ String → TestSuite
10+ parseSucc ∷ String → Test
1311parseSucc s =
1412 test " parse/success"
1513 case prettyParse parseQuery s of
16- E.Left err → Assert . assert (" \n " <> err) false
14+ E.Left err → assert (" \n " <> err) false
1715 E.Right (sql ∷ SqlQuery ) →
1816 case prettyParse parseQuery (printQuery sql) of
1917 E.Left err →
20- Assert . assert
18+ assert
2119 (" Failed to print and reparse.\n\n " <>
2220 " Original: " <> s <> " \n\n " <>
2321 " Printed: " <> printQuery sql <> " \n\n " <> err) false
2422 E.Right (sql' ∷ SqlQuery )
2523 | sql' /= sql →
26- Assert . assert
24+ assert
2725 (" Failed to parse to an equivalent AST.\n\n " <>
2826 " Original: " <> s <> " \n\n " <>
2927 " Parsed: " <> printQuery sql <> " \n\n " <>
3028 " Printed: " <> printQuery sql') false
3129 | otherwise →
32- Assert . assert " OK!" true
30+ assert " OK!" true
3331
34- parseFail ∷ String → TestSuite
32+ parseFail ∷ String → Test
3533parseFail s =
3634 test " parse/fail"
3735 case parseQuery s of
3836 E.Left err → pure unit
39- E.Right (sql ∷ SqlQuery ) → Assert . assert s false
37+ E.Right (sql ∷ SqlQuery ) → assert s false
4038
41- parseFailWith ∷ String → String → TestSuite
39+ parseFailWith ∷ String → String → Test
4240parseFailWith s err =
4341 test " parse/failWith"
4442 case parseQuery s of
4543 E.Left err' →
4644 if show err' == err
4745 then pure unit
48- else Assert . assert
46+ else assert
4947 (" expected query:" <> s <>
5048 " \n\n to fail input error: " <> err <>
5149 " \n\n but instead fot error: " <> show err')
5250 false
5351 E.Right (sql ∷ SqlQuery ) →
54- Assert . assert
52+ assert
5553 (" expected to fail with:" <> err <>
5654 " \n\t but input query:" <> s <>
5755 " \n\t was parsed as:" <> printQuery sql)
5856 false
5957
60- testSuite ∷ TestSuite
58+ testSuite ∷ Test
6159testSuite = suite " parsers" do
6260 testSuite1
6361 testSuite2
@@ -66,7 +64,7 @@ testSuite = suite "parsers" do
6664 testSuite5
6765 testSuite6
6866
69- testSuite1 ∷ TestSuite
67+ testSuite1 ∷ Test
7068testSuite1 = do
7169 parseFailWith """
7270 import `/path/To/Your/File/myModule`; SELECT id("HELLO")
@@ -253,7 +251,7 @@ testSuite1 = do
253251 select foo from :From
254252 """
255253
256- testSuite2 ∷ TestSuite
254+ testSuite2 ∷ Test
257255testSuite2 = do
258256 parseSucc """
259257 SELECT state AS `ResultAlias`, COUNT(*) as cnt FROM zips GROUP BY state ORDER BY state
@@ -399,7 +397,7 @@ testSuite2 = do
399397 select distinct discipline from olympics where event like "%pursuit"
400398 """
401399
402- testSuite3 ∷ TestSuite
400+ testSuite3 ∷ Test
403401testSuite3 = do
404402 parseSucc """
405403 select count(*) as cnt from zips where state in ("AZ", "CO")
@@ -593,7 +591,7 @@ testSuite3 = do
593591 select city, state, sum(pop) as total from zips group by city, state order by sum(pop) desc limit 10
594592 """
595593
596- testSuite4 ∷ TestSuite
594+ testSuite4 ∷ Test
597595testSuite4 = do
598596 parseSucc """
599597 select city, pop from zips where pop > 90000 order by city, pop desc
@@ -751,7 +749,7 @@ testSuite4 = do
751749 select city, loc[0] as lat from largeZips
752750 """
753751
754- testSuite5 ∷ TestSuite
752+ testSuite5 ∷ Test
755753testSuite5 = do
756754 parseSucc """
757755 select committer.login, count(*) from slamengine_commits
@@ -933,7 +931,7 @@ testSuite5 = do
933931 select foo from bar union all select baz from quux
934932 """
935933
936- testSuite6 ∷ TestSuite
934+ testSuite6 ∷ Test
937935testSuite6 = do
938936 parseSucc Q .q1
939937 parseSucc Q .q2
0 commit comments