aboutsummaryrefslogtreecommitdiff
path: root/tests/Tests/Shared.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Tests/Shared.hs')
-rw-r--r--tests/Tests/Shared.hs40
1 files changed, 37 insertions, 3 deletions
diff --git a/tests/Tests/Shared.hs b/tests/Tests/Shared.hs
index f4bf13da4..b6671835c 100644
--- a/tests/Tests/Shared.hs
+++ b/tests/Tests/Shared.hs
@@ -5,6 +5,10 @@ import Text.Pandoc.Shared
import Test.Framework
import Tests.Helpers
import Tests.Arbitrary()
+import Test.Framework.Providers.HUnit
+import Test.HUnit ( assertBool, (@?=) )
+import Text.Pandoc.Builder
+import Data.Monoid
tests :: [Test]
tests = [ testGroup "normalize"
@@ -13,14 +17,44 @@ tests = [ testGroup "normalize"
, property "p_normalize_no_trailing_spaces"
p_normalize_no_trailing_spaces
]
+ , testGroup "compactify'DL"
+ [ testCase "compactify'DL with empty def" $
+ assertBool "compactify'DL"
+ (let x = [(str "word", [para (str "def"), mempty])]
+ in compactify'DL x == x)
+ ]
+ , testGroup "collapseFilePath" testCollapse
]
p_normalize_blocks_rt :: [Block] -> Bool
-p_normalize_blocks_rt bs = normalize bs == normalize (normalize bs)
+p_normalize_blocks_rt bs =
+ normalizeBlocks bs == normalizeBlocks (normalizeBlocks bs)
p_normalize_inlines_rt :: [Inline] -> Bool
-p_normalize_inlines_rt ils = normalize ils == normalize (normalize ils)
+p_normalize_inlines_rt ils =
+ normalizeInlines ils == normalizeInlines (normalizeInlines ils)
p_normalize_no_trailing_spaces :: [Inline] -> Bool
p_normalize_no_trailing_spaces ils = null ils' || last ils' /= Space
- where ils' = normalize $ ils ++ [Space]
+ where ils' = normalizeInlines $ ils ++ [Space]
+
+testCollapse :: [Test]
+testCollapse = map (testCase "collapse")
+ [ (collapseFilePath "" @?= "")
+ , (collapseFilePath "./foo" @?= "foo")
+ , (collapseFilePath "././../foo" @?= "../foo")
+ , (collapseFilePath "../foo" @?= "../foo")
+ , (collapseFilePath "/bar/../baz" @?= "/baz")
+ , (collapseFilePath "/../baz" @?= "/../baz")
+ , (collapseFilePath "./foo/.././bar/../././baz" @?= "baz")
+ , (collapseFilePath "./" @?= "")
+ , (collapseFilePath "././" @?= "")
+ , (collapseFilePath "../" @?= "..")
+ , (collapseFilePath ".././" @?= "..")
+ , (collapseFilePath "./../" @?= "..")
+ , (collapseFilePath "../../" @?= "../..")
+ , (collapseFilePath "parent/foo/baz/../bar" @?= "parent/foo/bar")
+ , (collapseFilePath "parent/foo/baz/../../bar" @?= "parent/bar")
+ , (collapseFilePath "parent/foo/.." @?= "parent")
+ , (collapseFilePath "/parent/foo/../../bar" @?= "/bar")
+ , (collapseFilePath "/./parent/foo" @?= "/parent/foo")]