diff options
Diffstat (limited to 'haddock-library/test/Documentation/Haddock')
| -rw-r--r-- | haddock-library/test/Documentation/Haddock/ParserSpec.hs | 21 | ||||
| -rw-r--r-- | haddock-library/test/Documentation/Haddock/Utf8Spec.hs | 14 | 
2 files changed, 19 insertions, 16 deletions
| diff --git a/haddock-library/test/Documentation/Haddock/ParserSpec.hs b/haddock-library/test/Documentation/Haddock/ParserSpec.hs index 0449c917..bc40a0a2 100644 --- a/haddock-library/test/Documentation/Haddock/ParserSpec.hs +++ b/haddock-library/test/Documentation/Haddock/ParserSpec.hs @@ -37,7 +37,7 @@ parseParas = overDoc Parse.toRegular . Parse.parseParas Nothing  parseString :: String -> Doc String  parseString = Parse.toRegular . Parse.parseString -hyperlink :: String -> Maybe String -> Doc String +hyperlink :: String -> Maybe (Doc String) -> Doc String  hyperlink url = DocHyperlink . Hyperlink url  main :: IO () @@ -112,7 +112,7 @@ spec = do          "``" `shouldParseTo` "``"        it "can parse an identifier in infix notation enclosed within backticks" $ do -        "``infix``" `shouldParseTo` "`" <> DocIdentifier "infix" <> "`" +        "``infix``" `shouldParseTo` DocIdentifier "`infix`"        it "can parse identifiers containing a single quote" $ do          "'don't'" `shouldParseTo` DocIdentifier "don't" @@ -132,6 +132,19 @@ spec = do        it "can parse an identifier that starts with an underscore" $ do          "'_x'" `shouldParseTo` DocIdentifier "_x" +      it "can parse value-namespaced identifiers" $ do +        "v'foo'" `shouldParseTo` DocIdentifier "foo" + +      it "can parse type-namespaced identifiers" $ do +        "t'foo'" `shouldParseTo` DocIdentifier "foo" + +      it "can parse parenthesized operators and backticked identifiers" $ do +        "'(<|>)'" `shouldParseTo` DocIdentifier "(<|>)" +        "'`elem`'" `shouldParseTo` DocIdentifier "`elem`" + +      it "can properly figure out the end of identifiers" $ do +        "'DbModule'/'DbUnitId'" `shouldParseTo` DocIdentifier "DbModule" <> "/" <> DocIdentifier "DbUnitId" +      context "when parsing operators" $ do        it "can parse an operator enclosed within single quotes" $ do          "'.='" `shouldParseTo` DocIdentifier ".=" @@ -202,6 +215,10 @@ spec = do            "[some label]( url)" `shouldParseTo`              "[some label]( url)" +        it "allows inline markup in the label" $ do +          "[something /emphasized/](url)" `shouldParseTo` +            hyperlink "url" (Just ("something " <> DocEmphasis "emphasized")) +          context "when URL is on a separate line" $ do            it "allows URL to be on a separate line" $ do              "[some label]\n(url)" `shouldParseTo` diff --git a/haddock-library/test/Documentation/Haddock/Utf8Spec.hs b/haddock-library/test/Documentation/Haddock/Utf8Spec.hs deleted file mode 100644 index 47e12704..00000000 --- a/haddock-library/test/Documentation/Haddock/Utf8Spec.hs +++ /dev/null @@ -1,14 +0,0 @@ -module Documentation.Haddock.Utf8Spec (main, spec) where - -import Test.Hspec -import Test.QuickCheck -import Documentation.Haddock.Utf8 - -main :: IO () -main = hspec spec - -spec :: Spec -spec = do -  describe "decodeUtf8" $ do -    it "is inverse to encodeUtf8" $ do -      property $ \xs -> (decodeUtf8 . encodeUtf8) xs `shouldBe` xs | 
