summaryrefslogtreecommitdiff
path: root/test/Tests/Shared.hs
diff options
context:
space:
mode:
Diffstat (limited to 'test/Tests/Shared.hs')
-rw-r--r--test/Tests/Shared.hs39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/Tests/Shared.hs b/test/Tests/Shared.hs
new file mode 100644
index 000000000..cc448419c
--- /dev/null
+++ b/test/Tests/Shared.hs
@@ -0,0 +1,39 @@
+module Tests.Shared (tests) where
+
+import System.FilePath.Posix (joinPath)
+import Test.Tasty
+import Test.Tasty.HUnit (assertBool, testCase, (@?=))
+import Text.Pandoc.Arbitrary ()
+import Text.Pandoc.Builder
+import Text.Pandoc.Shared
+
+tests :: [TestTree]
+tests = [ testGroup "compactifyDL"
+ [ testCase "compactifyDL with empty def" $
+ assertBool "compactifyDL"
+ (let x = [(str "word", [para (str "def"), mempty])]
+ in compactifyDL x == x)
+ ]
+ , testGroup "collapseFilePath" testCollapse
+ ]
+
+testCollapse :: [TestTree]
+testCollapse = map (testCase "collapse")
+ [ collapseFilePath (joinPath [ ""]) @?= (joinPath [ ""])
+ , collapseFilePath (joinPath [ ".","foo"]) @?= (joinPath [ "foo"])
+ , collapseFilePath (joinPath [ ".",".","..","foo"]) @?= (joinPath [ joinPath ["..", "foo"]])
+ , collapseFilePath (joinPath [ "..","foo"]) @?= (joinPath [ "..","foo"])
+ , collapseFilePath (joinPath [ "","bar","..","baz"]) @?= (joinPath [ "","baz"])
+ , collapseFilePath (joinPath [ "","..","baz"]) @?= (joinPath [ "","..","baz"])
+ , collapseFilePath (joinPath [ ".","foo","..",".","bar","..",".",".","baz"]) @?= (joinPath [ "baz"])
+ , collapseFilePath (joinPath [ ".",""]) @?= (joinPath [ ""])
+ , collapseFilePath (joinPath [ ".",".",""]) @?= (joinPath [ ""])
+ , collapseFilePath (joinPath [ "..",""]) @?= (joinPath [ ".."])
+ , collapseFilePath (joinPath [ "..",".",""]) @?= (joinPath [ ".."])
+ , collapseFilePath (joinPath [ ".","..",""]) @?= (joinPath [ ".."])
+ , collapseFilePath (joinPath [ "..","..",""]) @?= (joinPath [ "..",".."])
+ , collapseFilePath (joinPath [ "parent","foo","baz","..","bar"]) @?= (joinPath [ "parent","foo","bar"])
+ , collapseFilePath (joinPath [ "parent","foo","baz","..","..","bar"]) @?= (joinPath [ "parent","bar"])
+ , collapseFilePath (joinPath [ "parent","foo",".."]) @?= (joinPath [ "parent"])
+ , collapseFilePath (joinPath [ "","parent","foo","..","..","bar"]) @?= (joinPath [ "","bar"])
+ , collapseFilePath (joinPath [ "",".","parent","foo"]) @?= (joinPath [ "","parent","foo"])]