diff --git a/System/FilePath/Internal.hs b/System/FilePath/Internal.hs index df4b39cc0dda657136e7506bd02d85429c2b0e17..4a376b33b108327e2ebf09a4da83f8d450b61782 100644 --- a/System/FilePath/Internal.hs +++ b/System/FilePath/Internal.hs @@ -292,6 +292,7 @@ dropExtension = fst . splitExtension -- > addExtension "file." ".bib" == "file..bib" -- > addExtension "file" ".bib" == "file.bib" -- > addExtension "/" "x" == "/.x" +-- > addExtension x "" == x -- > Valid x => takeFileName (addExtension (addTrailingPathSeparator x) "ext") == ".ext" -- > Windows: addExtension "\\\\share" ".txt" == "\\\\share\\.txt" addExtension :: FilePath -> String -> FilePath diff --git a/changelog.md b/changelog.md index eeee736fa7dd88eb39344ea671ed03266b7dfe62..038f72ed937409f27908b30a47d5269ac48d5983 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,8 @@ _Note: below all `FilePath` values are unquoted, so `\\` really means two backslashes._ + * Documentation improvements + * Allow QuickCheck-2.9 ## 1.4.1.0 *Dec 2015* diff --git a/tests/TestGen.hs b/tests/TestGen.hs index e01a55dfb8124e2e63f5a0e33d002a8d12f2fbf8..848ae5b7c2451d0faa28f2253cf18222673bf732 100755 --- a/tests/TestGen.hs +++ b/tests/TestGen.hs @@ -96,6 +96,8 @@ tests = ,("W.addExtension \"file\" \".bib\" == \"file.bib\"", property $ W.addExtension "file" ".bib" == "file.bib") ,("P.addExtension \"/\" \"x\" == \"/.x\"", property $ P.addExtension "/" "x" == "/.x") ,("W.addExtension \"/\" \"x\" == \"/.x\"", property $ W.addExtension "/" "x" == "/.x") + ,("P.addExtension x \"\" == x", property $ \(QFilePath x) -> P.addExtension x "" == x) + ,("W.addExtension x \"\" == x", property $ \(QFilePath x) -> W.addExtension x "" == x) ,("P.takeFileName (P.addExtension (P.addTrailingPathSeparator x) \"ext\") == \".ext\"", property $ \(QFilePathValidP x) -> P.takeFileName (P.addExtension (P.addTrailingPathSeparator x) "ext") == ".ext") ,("W.takeFileName (W.addExtension (W.addTrailingPathSeparator x) \"ext\") == \".ext\"", property $ \(QFilePathValidW x) -> W.takeFileName (W.addExtension (W.addTrailingPathSeparator x) "ext") == ".ext") ,("W.addExtension \"\\\\\\\\share\" \".txt\" == \"\\\\\\\\share\\\\.txt\"", property $ W.addExtension "\\\\share" ".txt" == "\\\\share\\.txt")