35 lines
1,008 B
Haskell
35 lines
1,008 B
Haskell
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
module JavascriptSpec where
|
|
|
|
import Data.List
|
|
import Data.String
|
|
import Data.String.Conversions
|
|
import Test.Hspec
|
|
import Test.Hspec.Wai
|
|
|
|
import Javascript
|
|
|
|
spec :: Spec
|
|
spec = do
|
|
describe "apiJS" $ do
|
|
it "is contained verbatim in Javascript.lhs" $ do
|
|
code <- readFile "Javascript.lhs"
|
|
cs apiJS1 `shouldSatisfy` (`isInfixOf` code)
|
|
cs apiJS3 `shouldSatisfy` (`isInfixOf` code)
|
|
cs apiJS4 `shouldSatisfy` (`isInfixOf` code)
|
|
cs apiJS6 `shouldSatisfy` (`isInfixOf` code)
|
|
|
|
describe "writeJSFiles" $ do
|
|
it "[not a test] write apiJS to static/api.js" $ do
|
|
writeJSFiles
|
|
|
|
describe "app" $ with (return app) $ do
|
|
context "/api.js" $ do
|
|
it "delivers apiJS" $ do
|
|
get "/api.js" `shouldRespondWith` (fromString (cs apiJS1))
|
|
|
|
context "/" $ do
|
|
it "delivers something" $ do
|
|
get "" `shouldRespondWith` 200
|
|
get "/" `shouldRespondWith` 200
|