@@ -9,6 +9,7 @@ import Test.Framework.Providers.HUnit
99import Test.HUnit ( assertBool, (@?=) )
1010import Text.Pandoc.Builder
1111import Data.Monoid
12+import System.FilePath (joinPath)
1213
1314tests :: [Test]
1415tests = [ testGroup "normalize"
@@ -40,21 +41,21 @@ p_normalize_no_trailing_spaces ils = null ils' || last ils' /= Space
4041
4142testCollapse :: [Test]
4243testCollapse = map (testCase "collapse")
43− [ (collapseFilePath "" @?= "")
44− , (collapseFilePath "./foo" @?= "foo")
45− , (collapseFilePath "././../foo" @?= "../foo")
46− , (collapseFilePath "../foo" @?= "../foo")
47− , (collapseFilePath "/bar/../baz" @?= "/baz")
48− , (collapseFilePath "/../baz" @?= "/../baz")
49− , (collapseFilePath "./foo/.././bar/../././baz" @?= "baz")
50− , (collapseFilePath "./" @?= "")
51− , (collapseFilePath "././" @?= "")
52− , (collapseFilePath "../" @?= "..")
53− , (collapseFilePath ".././" @?= "..")
54− , (collapseFilePath "./../" @?= "..")
55− , (collapseFilePath "../../" @?= "../..")
56− , (collapseFilePath "parent/foo/baz/../bar" @?= "parent/foo/bar")
57− , (collapseFilePath "parent/foo/baz/../../bar" @?= "parent/bar")
58− , (collapseFilePath "parent/foo/.." @?= "parent")
59− , (collapseFilePath "/parent/foo/../../bar" @?= "/bar")
60− , (collapseFilePath "/./parent/foo" @?= "/parent/foo")]
44+ [ (collapseFilePath (joinPath [ ""]) @?= (joinPath [ ""]))
45+ , (collapseFilePath (joinPath [ ".","foo"]) @?= (joinPath [ "foo"]))
46+ , (collapseFilePath (joinPath [ ".",".","..","foo"]) @?= (joinPath [ joinPath ["..", "foo"]]))
47+ , (collapseFilePath (joinPath [ "..","foo"]) @?= (joinPath [ "..","foo"]))
48+ , (collapseFilePath (joinPath [ "","bar","..","baz"]) @?= (joinPath [ "","baz"]))
49+ , (collapseFilePath (joinPath [ "","..","baz"]) @?= (joinPath [ "","..","baz"]))
50+ , (collapseFilePath (joinPath [ ".","foo","..",".","bar","..",".",".","baz"]) @?= (joinPath [ "baz"]))
51+ , (collapseFilePath (joinPath [ ".",""]) @?= (joinPath [ ""]))
52+ , (collapseFilePath (joinPath [ ".",".",""]) @?= (joinPath [ ""]))
53+ , (collapseFilePath (joinPath [ "..",""]) @?= (joinPath [ ".."]))
54+ , (collapseFilePath (joinPath [ "..",".",""]) @?= (joinPath [ ".."]))
55+ , (collapseFilePath (joinPath [ ".","..",""]) @?= (joinPath [ ".."]))
56+ , (collapseFilePath (joinPath [ "..","..",""]) @?= (joinPath [ "..",".."]))
57+ , (collapseFilePath (joinPath [ "parent","foo","baz","..","bar"]) @?= (joinPath [ "parent","foo","bar"]))
58+ , (collapseFilePath (joinPath [ "parent","foo","baz","..","..","bar"]) @?= (joinPath [ "parent","bar"]))
59+ , (collapseFilePath (joinPath [ "parent","foo",".."]) @?= (joinPath [ "parent"]))
60+ , (collapseFilePath (joinPath [ "","parent","foo","..","..","bar"]) @?= (joinPath [ "","bar"]))
61+ , (collapseFilePath (joinPath [ "",".","parent","foo"]) @?= (joinPath [ "","parent","foo"]))]