packages feed

hssqlppp-0.6.2: tests/Database/HsSqlPpp/Tests/Parsing/ParserTests.lhs

The automated tests, uses hunit to check a bunch of text expressions
and sql statements parse to the correct tree, and then checks pretty
printing and then reparsing gives the same tree. The code was mostly
written almost in tdd style, which the order/ coverage of these tests
reflects.

There are no tests for invalid syntax at the moment.

> {-# LANGUAGE OverloadedStrings #-}
> module Database.HsSqlPpp.Tests.Parsing.ParserTests
>     (parserTestData
>     ,Item(..)
>     ) where
>
> --import Data.Generics
> --import Control.Monad
> --import Database.HsSqlPpp.Syntax
> --import Database.HsSqlPpp.Annotation
> --import Database.HsSqlPpp.Parse
> --import Database.HsSqlPpp.Pretty
> --import Database.HsSqlPpp.Utility
>

> --import Database.HsSqlPpp.Tests.Parsing.Utils
> import Database.HsSqlPpp.Tests.Parsing.ScalarExprs
> import Database.HsSqlPpp.Tests.Parsing.MiscQueryExprs
> import Database.HsSqlPpp.Tests.Parsing.CombineQueryExprs
> import Database.HsSqlPpp.Tests.Parsing.SelectLists
> import Database.HsSqlPpp.Tests.Parsing.TableRefs
> import Database.HsSqlPpp.Tests.Parsing.Joins
> import Database.HsSqlPpp.Tests.Parsing.Schemas

> import Database.HsSqlPpp.Tests.Parsing.Dml
> import Database.HsSqlPpp.Tests.Parsing.Misc

> import Database.HsSqlPpp.Tests.Parsing.CreateTable
> import Database.HsSqlPpp.Tests.Parsing.MiscDdl
> import Database.HsSqlPpp.Tests.Parsing.FunctionsDdl
> import Database.HsSqlPpp.Tests.Parsing.Plpgsql

> import Database.HsSqlPpp.Tests.Parsing.SqlServer
> import Database.HsSqlPpp.Tests.Parsing.Oracle
> import Database.HsSqlPpp.Tests.Parsing.LexerTests
> import Database.HsSqlPpp.Tests.Parsing.OdbcParsing

> --import Control.Applicative
> import Database.HsSqlPpp.Tests.TestTypes


> --import Database.HsSqlPpp.Tests.TestUtils
> --import Data.Text.Lazy (Text)
> --import qualified Data.Text as T
> --import qualified Data.Text.Lazy as L

> parserTestData :: Item
> parserTestData =
>   Group "parserTests" [
>              lexerTests
>             ,scalarExprs
>             ,miscQueryExprs
>             ,combineQueryExprs
>             ,selectLists
>             ,tableRefs
>             ,joins
>             ,dml
>             ,Group "ddl" [createTableTests
>                          ,miscDdl
>                          ,functionsDdl]
>             ,schemas
>             ,pgplsql
>             ,misc
>             ,sqlServer
>             ,oracle
>             ,odbcParsing
>             ]