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