forked from elland/haddock2
Hspec error for lexer
This commit is contained in:
parent
68f9b88c83
commit
c299af1c06
1 changed files with 6 additions and 12 deletions
18
test/Spec.hs
18
test/Spec.hs
|
|
@ -3,16 +3,15 @@
|
|||
|
||||
import Test.Hspec
|
||||
|
||||
import Data.String (IsString (..))
|
||||
import Data.Text (Text)
|
||||
import Text.Parsec.Pos
|
||||
|
||||
import Control.Monad (zipWithM_)
|
||||
import Identifier (Identifier)
|
||||
import Lexer
|
||||
import Parser
|
||||
import Types
|
||||
|
||||
import Data.String (IsString (..))
|
||||
import Data.Text (Text)
|
||||
import Text.Parsec.Pos
|
||||
|
||||
shouldParseTo :: Text -> DocMarkup mod Identifier -> Expectation
|
||||
shouldParseTo input ast = parseText input `shouldBe` ast
|
||||
|
||||
|
|
@ -38,11 +37,6 @@ shouldLexTo :: String -> [(Int, Int, Token)] -> Expectation
|
|||
shouldLexTo input expected =
|
||||
case lexer input of
|
||||
Right tokens -> do
|
||||
length tokens `shouldBe` length expected
|
||||
zipWithM_ checkToken tokens expected
|
||||
let actual = map (\(pos, tok) -> (sourceLine pos, sourceColumn pos, tok)) tokens
|
||||
actual `shouldBe` expected
|
||||
Left err -> expectationFailure $ "Parse error: " <> show err
|
||||
where
|
||||
checkToken (pos, tok) (line, col, expectedTok) = do
|
||||
tok `shouldBe` expectedTok
|
||||
sourceLine pos `shouldBe` line
|
||||
sourceColumn pos `shouldBe` col
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue