import Control.Monad (when)
import System.Exit
import Test.Hspec
import Test.Hspec.Runner
import Tests.Lexer
import Tests.LiteralParser
import Tests.ExpressionParser
import Tests.Minify
import Tests.ProgramParser
import Tests.RoundTrip
import Tests.StatementParser
main :: IO ()
main = do
summary <- hspecWithResult defaultConfig testAll
when (summaryFailures summary == 0)
exitSuccess
exitFailure
testAll :: Spec
testAll = do
testLexer
testLiteralParser
testExpressionParser
testStatementParser
testProgramParser
testRoundTrip
testMinifyExpr
testMinifyStmt
testMinifyProg