packages feed

system-filepath 0.4.13.1 → 0.4.13.2

raw patch · 4 files changed

+20/−22 lines, 4 files

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+## 0.4.13.2++* update `splitDirectories` function [#4](https://github.com/fpco/haskell-filesystem/pull/4)+ ## 0.4.13.1  Allow deepseq 1.4
lib/Filesystem/Path.hs view
@@ -301,18 +301,11 @@ splitDirectories p = rootName ++ dirNames ++ fileName where 	rootName = case pathRoot p of 		Nothing -> []-		r -> [asFile (rootChunk r)]-	dirNames = map asFile (pathDirectories p)+		r -> [empty { pathRoot = r }]+	dirNames = map (\d -> empty { pathDirectories = [d] }) (pathDirectories p) 	fileName = case (pathBasename p, pathExtensions p) of 		(Nothing, []) -> [] 		_ -> [filename p]-	-	asFile :: Chunk -> FilePath-	asFile c = case parseFilename c of-		(base, exts) -> empty-			{ pathBasename = base-			, pathExtensions = exts-			}  ------------------------------------------------------------------------------- -- Extensions
system-filepath.cabal view
@@ -1,5 +1,5 @@ name: system-filepath-version: 0.4.13.1+version: 0.4.13.2 synopsis: High-level, byte-based file and directory path manipulations description: Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/system-filepath>. license: MIT
tests/FilesystemPathTests.hs view
@@ -353,18 +353,19 @@  test_SplitDirectories :: Test test_SplitDirectories = assertions "splitDirectories" $ do-	let splitDirectories x = map toChar8 (P.splitDirectories (fromChar8 x))-	-	$expect $ equal (splitDirectories "") []-	$expect $ equal (splitDirectories "/") ["/"]-	$expect $ equal (splitDirectories "/a") ["/", "a"]-	$expect $ equal (splitDirectories "/ab/cd") ["/", "ab", "cd"]-	$expect $ equal (splitDirectories "/ab/cd/") ["/", "ab", "cd"]-	$expect $ equal (splitDirectories "ab/cd") ["ab", "cd"]-	$expect $ equal (splitDirectories "ab/cd/") ["ab", "cd"]-	$expect $ equal (splitDirectories "ab/cd.txt") ["ab", "cd.txt"]-	$expect $ equal (splitDirectories "ab/cd/.txt") ["ab", "cd", ".txt"]-	$expect $ equal (splitDirectories "ab/./cd") ["ab", ".", "cd"]+	let splitDirectories x = P.splitDirectories (fromChar8 x)+	    fromChar8' = map fromChar8++	$expect $ equal (splitDirectories "") (fromChar8' [])+	$expect $ equal (splitDirectories "/") (fromChar8' ["/"])+	$expect $ equal (splitDirectories "/a") (fromChar8' ["/", "a"])+	$expect $ equal (splitDirectories "/ab/cd") (fromChar8' ["/", "ab/", "cd"])+	$expect $ equal (splitDirectories "/ab/cd/") (fromChar8' ["/", "ab/", "cd/"])+	$expect $ equal (splitDirectories "ab/cd") (fromChar8' ["ab/", "cd"])+	$expect $ equal (splitDirectories "ab/cd/") (fromChar8' ["ab/", "cd/"])+	$expect $ equal (splitDirectories "ab/cd.txt") (fromChar8' ["ab/", "cd.txt"])+	$expect $ equal (splitDirectories "ab/cd/.txt") (fromChar8' ["ab/", "cd/", ".txt"])+	$expect $ equal (splitDirectories "ab/./cd") (fromChar8' ["ab/", ".", "cd"])  test_InvalidUtf8InDirectoryComponent :: Test test_InvalidUtf8InDirectoryComponent = assertions "invalid-utf8-in-directory-component" $ do