path 0.5.5 → 0.5.6
raw patch · 4 files changed
+8/−4 lines, 4 files
Files
- CHANGELOG +2/−0
- path.cabal +1/−1
- src/Path.hs +2/−3
- test/Main.hs +3/−0
CHANGELOG view
@@ -1,3 +1,5 @@+0.5.6:+ * Reject only .. and . 0.5.5: * Use filepath's isValid function for additional sanity checks 0.5.4:
path.cabal view
@@ -1,5 +1,5 @@ name: path-version: 0.5.5+version: 0.5.6 synopsis: Support for well-typed paths description: Support for will-typed paths. license: BSD3
src/Path.hs view
@@ -117,7 +117,7 @@ not ("~/" `isPrefixOf` filepath) && not (hasParentDir filepath) && not (null (normalizeDir filepath)) &&- not (all (== '.') filepath) &&+ filepath /= "." && filepath /= ".." && FilePath.isValid filepath then return (Path (normalizeDir filepath)) else throwM (InvalidRelDir filepath)@@ -134,7 +134,6 @@ not ("~/" `isPrefixOf` filepath) && not (hasParentDir filepath) && not (null (normalizeFile filepath)) &&- not (all (== '.') filepath) && FilePath.isValid filepath then return (Path (normalizeFile filepath)) else throwM (InvalidAbsFile filepath)@@ -154,7 +153,7 @@ not ("~/" `isPrefixOf` filepath) && not (hasParentDir filepath) && not (null (normalizeFile filepath)) &&- not (all (== '.') filepath) &&+ filepath /= "." && filepath /= ".." && FilePath.isValid filepath then return (Path (normalizeFile filepath)) else throwM (InvalidRelFile filepath)
test/Main.hs view
@@ -156,6 +156,7 @@ failing "///foo//bar//mu/" failing "///foo//bar////mu" failing "///foo//bar/.//mu"+ succeeding "..." (Path ".../") succeeding "foo.bak" (Path "foo.bak/") succeeding "./foo" (Path "foo/") succeeding "././foo" (Path "foo/")@@ -176,6 +177,7 @@ failing "/" failing "//" failing "///foo//bar//mu/"+ succeeding "/..." (Path "/...") succeeding "/foo.txt" (Path "/foo.txt") succeeding "///foo//bar////mu.txt" (Path "/foo/bar/mu.txt") succeeding "///foo//bar/.//mu.txt" (Path "/foo/bar/mu.txt")@@ -195,6 +197,7 @@ failing "///foo//bar//mu/" failing "///foo//bar////mu" failing "///foo//bar/.//mu"+ succeeding "..." (Path "...") succeeding "foo.txt" (Path "foo.txt") succeeding "./foo.txt" (Path "foo.txt") succeeding "././foo.txt" (Path "foo.txt")