content: 
  {-
  These are the tests for the queryExprs parsing which parses multiple
  query expressions from one string.
  -}
  
  {-# LANGUAGE OverloadedStrings #-}
  module Language.SQL.SimpleSQL.QueryExprs (queryExprsTests) where
  
  import Language.SQL.SimpleSQL.TestTypes
  import Language.SQL.SimpleSQL.Syntax
  import Language.SQL.SimpleSQL.TestRunners
  import Data.Text (Text)
  
  queryExprsTests :: TestItem
  queryExprsTests = Group "query exprs"
      [q "select 1" [ms]
      ,q "select 1;" [ms]
      ,q "select 1;select 1" [ms,ms]
      ,q " select 1;select 1; " [ms,ms]
      ,q "SELECT CURRENT_TIMESTAMP;"
        [SelectStatement $ toQueryExpr $ makeSelect
        {msSelectList = [(Iden [Name Nothing "CURRENT_TIMESTAMP"],Nothing)]}]
      ,q "SELECT \"CURRENT_TIMESTAMP\";"
        [SelectStatement $ toQueryExpr $ makeSelect
        {msSelectList = [(Iden [Name (Just ("\"","\"")) "CURRENT_TIMESTAMP"],Nothing)]}]
      ]
    where
      ms = SelectStatement $ toQueryExpr $ makeSelect {msSelectList = [(NumLit "1",Nothing)]}
      q :: HasCallStack => Text -> [Statement] -> TestItem
      q src ast = testStatements ansi2011 src ast
  