diff options
author | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2014-05-05 09:01:03 +0200 |
---|---|---|
committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2014-05-05 11:00:41 +0200 |
commit | cc269e6b0b615e9e237c35a985e4ace7b9ab0dd9 (patch) | |
tree | f0264138c81909151f9724c1f02f7bf8b30803cb /haddock-library/test/Documentation/Haddock/Parser | |
parent | 7ac2d0f2d31c2e1c7ede09828f3d5ba5626bd0d4 (diff) |
Move parser + parser tests out to own package.
We move some types out that are necessary as well and then
re-export and specialise them in the core Haddock.
Reason for moving out spec tests is that if we're working on the parser,
we can simply work on that and we can ignore the rest of Haddock. The
downside is that it's a little inconvenient if at the end of the day we
want to see that everything passes.
Diffstat (limited to 'haddock-library/test/Documentation/Haddock/Parser')
-rw-r--r-- | haddock-library/test/Documentation/Haddock/Parser/UtilSpec.hs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/haddock-library/test/Documentation/Haddock/Parser/UtilSpec.hs b/haddock-library/test/Documentation/Haddock/Parser/UtilSpec.hs new file mode 100644 index 00000000..265a4d49 --- /dev/null +++ b/haddock-library/test/Documentation/Haddock/Parser/UtilSpec.hs @@ -0,0 +1,22 @@ +{-# LANGUAGE OverloadedStrings #-} +module Documentation.Haddock.Parser.UtilSpec (main, spec) where + +import Data.Attoparsec.ByteString.Char8 +import Data.Either +import Documentation.Haddock.Parser.Util +import Test.Hspec + +main :: IO () +main = hspec spec + +spec :: Spec +spec = do + describe "takeUntil" $ do + it "takes everything until a specified byte sequence" $ do + parseOnly (takeUntil "end") "someend" `shouldBe` Right "some" + + it "requires the end sequence" $ do + parseOnly (takeUntil "end") "someen" `shouldSatisfy` isLeft + + it "takes escaped bytes unconditionally" $ do + parseOnly (takeUntil "end") "some\\endend" `shouldBe` Right "some\\end" |