)
where
+import Data.Maybe
+import Network.URI
import Rakka.Wiki
import Rakka.Wiki.Parser
import Test.HUnit
~?=
(Right []))
+ , (parseWiki "[[[Page]]]"
+ ~?=
+ (Right [ Paragraph [ ObjectLink "Page" Nothing ] ]))
+
+ , (parseWiki "[[[Page|foo]]]"
+ ~?=
+ (Right [ Paragraph [ ObjectLink "Page" (Just "foo") ] ]))
+
, (parseWiki "[[Page]]"
~?=
(Right [ Paragraph [ PageLink (Just "Page") Nothing Nothing ]
, (parseWiki "* a"
~?=
- (Right [ List (ListElement Bullet [[Right (Text "a")]]) ]))
+ (Right [ List Bullet [[Inline (Text "a")]] ]))
, (parseWiki "* a*"
~?=
- (Right [ List (ListElement Bullet [[Right (Text "a*")]]) ]))
+ (Right [ List Bullet [[Inline (Text "a*")]] ]))
, (parseWiki "* a\n* b\n"
~?=
- (Right [ List (ListElement Bullet [ [Right (Text "a")]
- , [Right (Text "b")]
- ])
+ (Right [ List Bullet [ [Inline (Text "a")]
+ , [Inline (Text "b")]
+ ]
]))
, (parseWiki "*a\n*#b\n*#c\n"
~?=
- (Right [ List (ListElement Bullet [ [ Right (Text "a")
- , Left (ListElement Numbered [ [Right (Text "b")]
- , [Right (Text "c")]
- ])
- ]
- ])
+ (Right [ List Bullet [ [ Inline (Text "a")
+ , Block (List Numbered [ [Inline (Text "b")]
+ , [Inline (Text "c")]
+ ])
+ ]
+ ]
]))
, (parseWiki "*a\n#b"
~?=
- (Right [ List (ListElement Bullet [ [Right (Text "a")] ])
- , List (ListElement Numbered [ [Right (Text "b")] ])
+ (Right [ List Bullet [ [Inline (Text "a")] ]
+ , List Numbered [ [Inline (Text "b")] ]
]))
, (parseWiki "*a<!-- comment -->"
~?=
- (Right [ List (ListElement Bullet [ [Right (Text "a")] ]) ]))
+ (Right [ List Bullet [ [Inline (Text "a")] ] ]))
, (parseWiki "*a<!-- comment -->\n*b"
~?=
- (Right [ List (ListElement Bullet [ [Right (Text "a")]
- , [Right (Text "b")]
- ])
+ (Right [ List Bullet [ [Inline (Text "a")]
+ , [Inline (Text "b")]
+ ]
]))
, (parseWiki "foo:bar"
]
]))
- , (parseWiki "<![CDATA[foo [[bar]] baz]]>"
+ , (parseWiki "<!nowiki[foo [[bar]] baz]>"
~?=
(Right [ Paragraph [ Text "foo [[bar]] baz" ] ]))
- , (parseWiki "<![PDATA[foo [[bar]] baz]]>"
+ , (parseWiki "<!verbatim[foo [[bar]] baz]>"
~?=
(Right [ Preformatted [ Text "foo [[bar]] baz" ] ]))
- , (parseWiki "<![PDATA[\nfoo [[bar]] baz\n]]>"
+ , (parseWiki "<!verbatim[\nfoo [[bar]] baz\n]>"
~?=
(Right [ Preformatted [ Text "foo [[bar]] baz" ] ]))
, Text "\n"
, Text "bar"
]) ] ]))
+
+ , (parseWiki "<div>foo</div>"
+ ~?=
+ (Right [ BlockCmd (BlockCommand "div" []
+ [ Paragraph [Text "foo"] ]) ]))
+
+ , (parseWiki "<div>\nbar\n</div>"
+ ~?=
+ (Right [ BlockCmd (BlockCommand "div" []
+ [ Paragraph [Text "bar"] ]) ]))
+
+ , (parseWiki "<div><!-- comment --></div>"
+ ~?=
+ (Right [ BlockCmd (BlockCommand "div" [] []) ]))
+
+ , (parseWiki "foo<div id=\"bar\"/>"
+ ~?=
+ (Right [ Paragraph [Text "foo"]
+ , BlockCmd (BlockCommand "div" [("id", "bar")] [])
+ ]))
+
+ , (parseWiki "[http://example.org/]"
+ ~?=
+ (Right [ Paragraph [ExternalLink (fromJust $ parseURI "http://example.org/") Nothing] ]))
+
+ , (parseWiki "[http://example.org/ example.org]"
+ ~?=
+ (Right [ Paragraph [ExternalLink
+ (fromJust $ parseURI "http://example.org/")
+ (Just "example.org")
+ ]
+ ]))
]