diff --git a/pathtype.cabal b/pathtype.cabal
--- a/pathtype.cabal
+++ b/pathtype.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:       2.2
 Name:                pathtype
-Version:             0.8.1.2
+Version:             0.8.1.3
 Synopsis:            Type-safe replacement for System.FilePath etc
 Description:
   This package provides type-safe access to filepath manipulations.
@@ -49,6 +49,10 @@
   .
   * @data-filepath@:
     Requires 'Typeable' and Template Haskell.
+  .
+  * @hpath@:
+    @ByteString@-based path type with type parameter
+    for absolute and relative paths.
 Stability:           experimental
 License:             BSD-3-Clause
 Category:            System
@@ -70,7 +74,7 @@
   Location: https://hub.darcs.net/thielema/pathtype/
 
 Source-Repository this
-  Tag:      0.8.1.2
+  Tag:      0.8.1.3
   Type:     darcs
   Location: https://hub.darcs.net/thielema/pathtype/
 
@@ -83,7 +87,7 @@
     utility-ht >=0.0.11 && <0.1,
     doctest-exitcode-stdio >=0.0 && <0.1,
     QuickCheck >= 2.1.0.1 && < 3,
-    deepseq >= 1.3 && <1.5,
+    deepseq >= 1.3 && <1.6,
     time >= 1.0 && < 2,
     transformers >=0.3 && <0.7,
     semigroups >=0.1 && <1.0,
@@ -116,10 +120,14 @@
     System.Path.Internal
     System.Path.Internal.Part
     System.Path.Internal.PartClass
+    System.Path.Internal.Component
+    System.Path.Internal.Separator
+    System.Path.Internal.System
     System.Path.RegularExpression
     System.Path.ModificationTime
 
-  GHC-Options: -Wall -fwarn-tabs -fwarn-incomplete-record-updates -fwarn-unused-do-bind
+  GHC-Options:
+    -Wall -fwarn-tabs -fwarn-incomplete-record-updates -fwarn-unused-do-bind
   Default-Language: Haskell98
 
 Test-Suite test
@@ -134,8 +142,9 @@
     pathtype,
     QuickCheck,
     doctest-exitcode-stdio,
-    doctest-lib >=0.1 && <0.1.1,
+    doctest-lib >=0.1 && <0.1.2,
     base
 
-  GHC-Options: -Wall -fwarn-tabs -fwarn-incomplete-record-updates -fwarn-unused-do-bind
+  GHC-Options:
+    -Wall -fwarn-tabs -fwarn-incomplete-record-updates -fwarn-unused-do-bind
   Default-Language: Haskell98
diff --git a/src/System/Path/IO.hs b/src/System/Path/IO.hs
--- a/src/System/Path/IO.hs
+++ b/src/System/Path/IO.hs
@@ -9,9 +9,9 @@
 --   You will typically want to import as follows:
 --
 --   > import Prelude hiding (FilePath)
---   > import System.Path
---   > import System.Path.Directory
---   > import System.Path.IO
+--   > import qualified System.Path as Path
+--   > import qualified System.Path.Directory as Dir
+--   > import qualified System.Path.IO as PIO
 --
 --
 -- Ben Moseley - (c) 2009
@@ -85,7 +85,7 @@
   SIO.hPutBuf,
   SIO.hGetBuf,
   SIO.hPutBufNonBlocking,
-  SIO.hGetBufNonBlocking
+  SIO.hGetBufNonBlocking,
 )
 
 where
diff --git a/src/System/Path/Internal.hs b/src/System/Path/Internal.hs
--- a/src/System/Path/Internal.hs
+++ b/src/System/Path/Internal.hs
@@ -152,11 +152,14 @@
 
 import qualified System.Path.Internal.PartClass as Class
 import qualified System.Path.Internal.Part as Part
+import qualified System.Path.Internal.Component as PC
+import qualified System.Path.Internal.Separator as Sep
 import System.Path.Internal.PartClass as Class
         (WrapFileDir(WrapFileDir), WrapAbsRel(WrapAbsRel), FuncArg(..), fdMap)
-import System.Path.Internal.Part
-        (PathComponent(PathComponent), GenComponent, System(..),
-         absPC, emptyPC, retagPC, untagPC, pcMap)
+import System.Path.Internal.Part (absPC)
+import System.Path.Internal.System (System(..))
+import System.Path.Internal.Component
+        (Component(Component), GenComponent)
 
 import qualified System.Directory as SD
 
@@ -170,7 +173,7 @@
 import qualified Data.List.HT as ListHT
 import Data.Tagged (Tagged(Tagged), untag)
 import Data.Functor.Compose (Compose(Compose), getCompose)
-import Data.List (isSuffixOf, isPrefixOf, stripPrefix, intersperse)
+import Data.List (isSuffixOf, stripPrefix, intersperse)
 import Data.String (IsString(fromString))
 import Data.Maybe.HT (toMaybe)
 import Data.Maybe (fromMaybe, maybeToList)
@@ -194,8 +197,6 @@
 
 
 {- $setup
->>> :set -XTypeFamilies
->>>
 >>> :set -fno-warn-warnings-deprecations
 >>> import qualified System.Path.PartClass as Class
 >>> import qualified System.Path.Generic as Path
@@ -214,7 +215,7 @@
 -- Types
 
 -- | This is the main filepath abstract datatype
-data Path os ar fd = Path ar [PathComponent os] fd
+data Path os ar fd = Path ar [Component os] fd
 
 instance
     (System os, Class.AbsRel ar, Class.FileDir fd) =>
@@ -227,7 +228,7 @@
     compare  =  comparing inspectPath
 
 inspectPath ::
-    Path os ar fd -> (WrapAbsRel os ar, [PathComponent os], WrapFileDir os fd)
+    Path os ar fd -> (WrapAbsRel os ar, [Component os], WrapFileDir os fd)
 inspectPath (Path ar pcs fd) = (WrapAbsRel ar, pcs, WrapFileDir fd)
 
 
@@ -280,7 +281,7 @@
 -- prop> Path.pathMap (map toLower) (absDir "/tmp/Reports/SpreadSheets") == Posix.absDir "/tmp/reports/spreadsheets"
 pathMap ::
     (Class.FileDir fd) => (String -> String) -> Path os ar fd -> Path os ar fd
-pathMap f (Path ar pcs fd) = Path ar (map (pcMap f) pcs) (fdMap f fd)
+pathMap f (Path ar pcs fd) = Path ar (map (PC.map f) pcs) (fdMap f fd)
 
 
 mapFilePart ::
@@ -298,7 +299,7 @@
 splitFilePart f (Path ar pcs (Part.File fd)) = mapFst (Path ar pcs . Part.File) $ f fd
 
 mapPathDirs ::
-    ([PathComponent os] -> [PathComponent os]) -> Path os ar fd -> Path os ar fd
+    ([Component os] -> [Component os]) -> Path os ar fd -> Path os ar fd
 mapPathDirs f ~(Path ar pcs fd) = Path ar (f pcs) fd
 
 
@@ -307,7 +308,7 @@
     (AbsPath os fd -> a) -> (RelPath os fd -> a) -> Path os ar fd -> a
 withAbsRel fAbs fRel (Path ar pcs fd) =
     Class.withAbsRel
-        (\drive -> fAbs $ Path (Part.Abs (PathComponent drive)) pcs fd)
+        (\drive -> fAbs $ Path (Part.Abs (Component drive)) pcs fd)
         (fRel $ Path Part.Rel pcs fd)
         ar
 
@@ -385,7 +386,7 @@
                           else showsCons absDirName drive)
                     (showString currentName)
                     ar :
-                map (\(PathComponent pc) -> showsCons relPathName pc) pcs
+                map (\(Component pc) -> showsCons relPathName pc) pcs
 
 showsCons :: Show a => String -> a -> ShowS
 showsCons name arg  =  showString name . showChar ' ' . showsPrec 11 arg
@@ -419,7 +420,7 @@
                 handleMismatch
                     (skipSpaces >> matchString combineOperator)
                     (return [])
-                    (liftM2 (:) (fmap PathComponent $ readsCons relPathName) go)
+                    (liftM2 (:) (fmap Component $ readsCons relPathName) go)
         in  MS.runStateT $ do
                 skipSpaces
                 MT.lift . maybeToList =<<
@@ -494,7 +495,7 @@
             concatS $
             Class.withAbsRel (\drive -> (showString drive :)) id ar $
             intersperse (showChar (selTag x pathSeparator)) $
-            map (\(PathComponent pc) -> showString pc) pcs
+            map (\(Component pc) -> showString pc) pcs
 
 
 ------------------------------------------------------------------------
@@ -524,7 +525,7 @@
 when manipulating extensions of files like @\".bashrc\"@.
 -}
 emptyFile :: (System os) => RelFile os
-emptyFile = atomicFile $ Part.File emptyPC
+emptyFile = atomicFile $ Part.File PC.empty
 
 atomicFile :: Part.File -> RelFile os
 atomicFile = Path Part.Rel []
@@ -882,32 +883,32 @@
 -- Internal Functions for GenComponent manipulation
 
 mkPathFromComponents ::
-    (Class.FileDir fd) => ar -> [PathComponent os] -> Path os ar fd
+    (Class.FileDir fd) => ar -> [Component os] -> Path os ar fd
 mkPathFromComponents ar pcs =
     uncurry (Path ar) $
     Class.switchFileDir
         (mapSnd Part.File $
-         ListHT.switchR ([], emptyPC) (curry $ mapSnd untagPC) pcs)
+         ListHT.switchR ([], PC.empty) (curry $ mapSnd PC.untag) pcs)
         (pcs, Part.Dir)
         (pcs, Part.FileDir)
 
 maybePathFromComponents ::
-    (Class.FileDir fd) => ar -> [PathComponent os] -> Maybe (Path os ar fd)
+    (Class.FileDir fd) => ar -> [Component os] -> Maybe (Path os ar fd)
 maybePathFromComponents ar pcs =
     fmap (uncurry $ Path ar) $ arrangeComponents pcs
 
 arrangeComponents ::
-    (Class.FileDir fd) => [PathComponent os] -> Maybe ([PathComponent os], fd)
+    (Class.FileDir fd) => [Component os] -> Maybe ([Component os], fd)
 arrangeComponents pcs =
     getCompose $
     Class.switchFileDir
-        (Compose $ fmap (mapSnd (Part.File . untagPC)) $ ListHT.viewR pcs)
+        (Compose $ fmap (mapSnd (Part.File . PC.untag)) $ ListHT.viewR pcs)
         (Compose $ Just (pcs, Part.Dir))
         (Compose $ Just (pcs, Part.FileDir))
 
 mkPathComponents ::
     (System os, Class.AbsRel ar) =>
-    Tagged os (String -> (ar, [PathComponent os]))
+    Tagged os (String -> (ar, [Component os]))
 mkPathComponents =
     liftA2
         (\isSep splDriveOS ->
@@ -921,7 +922,9 @@
 -}
 makePathComponents ::
     (System os) =>
-    Tagged os (String -> (Part.AbsRel, [PathComponent os], Either Part.FileDir Part.Dir))
+    Tagged os
+        (String ->
+            (Part.AbsRel, [Component os], Either Part.FileDir Part.Dir))
 makePathComponents =
     liftA2
         (\isSep splAbsolute str ->
@@ -938,8 +941,8 @@
             in  (ar, nonEmptyComponents pcs1, fd))
         isPathSeparator splitAbsoluteO
 
-nonEmptyComponents :: [String] -> [PathComponent os]
-nonEmptyComponents = map PathComponent . filter (not . null)
+nonEmptyComponents :: [String] -> [Component os]
+nonEmptyComponents = map Component . filter (not . null)
 
 splitDriveOS ::
     (System os, Class.AbsRel ar) => Tagged os (MS.State String ar)
@@ -965,15 +968,15 @@
 
 splitAbsoluteO :: (System os) => Tagged os (MS.State String Part.AbsRel)
 splitAbsoluteO =
-    fmap (\drive -> if null drive then Part.RelO else Part.AbsO $ PathComponent drive)
+    fmap (\drive -> if null drive then Part.RelO else Part.AbsO $ Component drive)
     <$>
     splitAbsolute
 
 -- | > \p -> uncurry Path.mkPathFromComponents (Path.pathComponents p) == (p::Default.AbsDir)
 pathComponents ::
-    (Class.FileDir fd) => Path os ar fd -> (ar, [PathComponent os])
+    (Class.FileDir fd) => Path os ar fd -> (ar, [Component os])
 pathComponents (Path ar pcs fd) =
-    (ar, pcs ++ Class.withFileDir ((:[]) . retagPC) [] [] fd)
+    (ar, pcs ++ Class.withFileDir ((:[]) . PC.retag) [] [] fd)
 
 prop_mkPathFromComponents_pathComponents :: (System os) => AbsDir os -> Property
 prop_mkPathFromComponents_pathComponents p =
@@ -1027,7 +1030,7 @@
 --   directories, and so we provide a function that is more flexible:
 --   'genericAddExtension'.
 (<.>) :: FilePath os ar -> String -> FilePath os ar
-p <.> ext = mapFilePart (flip addExtensionPC ext) p
+p <.> ext = mapFilePart (flip PC.addExtension ext) p
 
 infixl 7  <.>
 
@@ -1085,13 +1088,13 @@
 
 replaceBaseName :: FilePath os ar -> String -> FilePath os ar
 replaceBaseName p bn =
-    mapFilePart (addExtensionPC (PathComponent bn) . snd . splitExtensionPC) p
+    mapFilePart (PC.addExtension (Component bn) . snd . PC.splitExtension) p
 
 replaceDirectory :: FilePath os ar1 -> DirPath os ar2 -> FilePath os ar2
 replaceDirectory (Path _ _ fd) (Path ar pcs _) = Path ar pcs fd
 
 replaceFileName :: FilePath os ar -> String -> FilePath os ar
-replaceFileName p fn = mapFilePart (const (PathComponent fn)) p
+replaceFileName p fn = mapFilePart (const (Component fn)) p
 
 
 -- | Split on the extension. 'addExtension' is the inverse.
@@ -1106,14 +1109,14 @@
 -- prop> Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext")
 -- prop> Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred")
 splitExtension :: FilePath os ar -> (FilePath os ar, String)
-splitExtension = splitFilePart splitExtensionPC
+splitExtension = splitFilePart PC.splitExtension
 
 -- | Split on all extensions
 --
 -- prop> Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz")
 -- prop> \p -> uncurry (<.>) (Path.splitExtension p) == (p::Default.AbsFile)
 splitExtensions :: FilePath os ar -> (FilePath os ar, String)
-splitExtensions = splitFilePart splitExtensionsPC
+splitExtensions = splitFilePart PC.splitExtensions
 
 -- | prop> \p -> uncurry Path.combine (Path.splitFileName p) == (p::Default.AbsFile)
 splitFileName :: FilePath os ar -> (DirPath os ar, RelFile os)
@@ -1185,12 +1188,12 @@
     toMaybe (not $ isDrive p) True
 
 mapFileName :: (String -> String) -> FilePath os ar -> FilePath os ar
-mapFileName = mapFilePart . pcMap
+mapFileName = mapFilePart . PC.map
 
 mapFileNameF ::
     (Functor f) =>
     (String -> f String) -> FilePath os ar -> f (FilePath os ar)
-mapFileNameF = mapFilePartF . Part.pcMapF
+mapFileNameF = mapFilePartF . PC.mapF
 
 
 ------------------------------------------------------------------------
@@ -1227,13 +1230,13 @@
 -- prop> Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir"
 -- prop> Path.joinPath ["tmp","someDir","file.txt"] == Posix.relFile "tmp/someDir/file.txt"
 joinPath :: (Class.FileDir fd) => [String] -> RelPath os fd
-joinPath = mkPathFromComponents Part.Rel . map PathComponent
+joinPath = mkPathFromComponents Part.Rel . map Component
 
 -- | Currently just transforms:
 --
 -- prop> Path.normalise (absFile "/tmp/fred/./jim/./file") == Posix.absFile "/tmp/fred/jim/file"
 normalise :: (System os) => Path os ar fd -> Path os ar fd
-normalise = mapPathDirs (filter (PathComponent currentDirComponent /=))
+normalise = mapPathDirs (filter (Component currentDirComponent /=))
 
 -- | Deconstructs a path into its components.
 --
@@ -1360,7 +1363,7 @@
 
 fileFromAny :: Path os ar fd -> Maybe (FilePath os ar)
 fileFromAny (Path ar pcs _) =
-    fmap (uncurry (Path ar) . mapSnd (Part.File . untagPC)) $ ListHT.viewR pcs
+    fmap (uncurry (Path ar) . mapSnd (Part.File . PC.untag)) $ ListHT.viewR pcs
 
 dirFromFileDir :: FileDirPath os ar -> DirPath os ar
 dirFromFileDir (Path ar pcs Part.FileDir) = Path ar pcs Part.Dir
@@ -1454,24 +1457,24 @@
 --
 -- prop> Posix.extSeparator == '.'
 extSeparator :: Char
-extSeparator = '.'
+extSeparator = Sep.extension
 
 -- | The character that is used to separate the entries in the $PATH environment variable.
 --
 searchPathSeparator :: Char
-searchPathSeparator = ':'
+searchPathSeparator = Sep.searchPath
 
 -- | Is the character an extension character?
 --
 -- prop> \a -> Posix.isExtSeparator a == (a == Posix.extSeparator)
 isExtSeparator :: Char -> Bool
-isExtSeparator = (== extSeparator)
+isExtSeparator = Sep.isExtension
 
 -- | Is the character a file separator?
 --
 -- prop> \a -> Posix.isSearchPathSeparator a == (a == Posix.searchPathSeparator)
 isSearchPathSeparator :: Char -> Bool
-isSearchPathSeparator = (== searchPathSeparator)
+isSearchPathSeparator = Sep.isSearchPath
 
 
 ------------------------------------------------------------------------
@@ -1501,8 +1504,8 @@
 
 componentsAddExtension :: String -> Path os ar fd -> Path os ar fd
 componentsAddExtension ext (Path ar pcs0 fd) =
-    let pcs = if null pcs0 then [emptyPC] else pcs0
-    in  Path ar (mapLast (flip addExtensionPC ext) pcs) fd
+    let pcs = if null pcs0 then [PC.empty] else pcs0
+    in  Path ar (mapLast (flip PC.addExtension ext) pcs) fd
 
 genericDropExtension :: (Class.FileDir fd) => Path os ar fd -> Path os ar fd
 genericDropExtension = fst . genericSplitExtension
@@ -1524,7 +1527,7 @@
     mapFst (flip (Path ar) fd) $
     mapLastPair
         (error "genericSplitExtension: empty path")
-        splitExtensionPC pcs
+        PC.splitExtension pcs
 
 genericSplitExtensions ::
     (Class.FileDir fd) => Path os ar fd -> (Path os ar fd, String)
@@ -1540,7 +1543,7 @@
     mapFst (flip (Path ar) fd) $
     mapLastPair
         (error "genericSplitExtensions: empty path")
-        splitExtensionsPC pcs
+        PC.splitExtensions pcs
 
 genericTakeExtension :: (Class.FileDir fd) => Path os ar fd -> String
 genericTakeExtension = snd . genericSplitExtension
@@ -1594,34 +1597,7 @@
             []
 
 
-addExtensionPC :: PathComponent os -> String -> PathComponent os
-addExtensionPC p "" = p
-addExtensionPC (PathComponent pc) ext =
-    PathComponent $ pc ++
-        if [extSeparator] `isPrefixOf` ext
-          then ext
-          else extSeparator : ext
 
-splitExtensionPC :: PathComponent os -> (PathComponent os, String)
-splitExtensionPC (PathComponent s) =
-    mapFst PathComponent $
-    P.maybe (s, "") (mapFst concat) $
-    ((\p@(pcs,_) -> toMaybe (not (null pcs)) p) =<<) $ ListHT.viewR $
-    ListHT.segmentBefore isExtSeparator s
-
-_splitExtensionPC :: PathComponent os -> (PathComponent os, String)
-_splitExtensionPC (PathComponent s) =
-    mapFst PathComponent $
-    case break isExtSeparator $ reverse s of
-        (_, "") -> (s, "")
-        (rext, dot:rstem) -> (reverse rstem, dot : reverse rext)
-
-splitExtensionsPC :: PathComponent os -> (PathComponent os, String)
-splitExtensionsPC (PathComponent s) =
-    mapFst PathComponent $ break isExtSeparator s
-
-
-
 {- |
 Check internal integrity of the path data structure.
 -}
@@ -1640,17 +1616,17 @@
             &&
             all isValidPC pcs
             &&
-            Class.withFileDir (isValidPC . retagPC) True True fd)
+            Class.withFileDir (isValidPC . PC.retag) True True fd)
         isValidPathComponent
 
 isValidComponent :: String -> Bool
 isValidComponent = not . null
 
 isValidPathComponent ::
-    (System os) => Tagged os (PathComponent os -> Bool)
+    (System os) => Tagged os (Component os -> Bool)
 isValidPathComponent =
     fmap
-        (\isSep (PathComponent str) ->
+        (\isSep (Component str) ->
             isValidComponent str  &&  not (any isSep str))
         isPathSeparator
 
@@ -1675,16 +1651,16 @@
 -- test :: Testable a => a -> IO ()
 -- test = quickCheck
 
-qcFileComponent :: Gen (PathComponent os)
-qcFileComponent = PathComponent <$> frequency [
+qcFileComponent :: Gen (Component os)
+qcFileComponent = Component <$> frequency [
                     (1, return "someFile"),
                     (1, return "fileWith.ext"),
                     (1, return "file.with.multiple.exts"),
                     (1, return "file with spcs")
                   ]
 
-qcDirComponent :: Gen (PathComponent os)
-qcDirComponent = PathComponent <$> frequency [
+qcDirComponent :: Gen (Component os)
+qcDirComponent = Component <$> frequency [
                     (1, return "someDir"),
                     (1, return "aDir"),
                     (1, return "aFolder"),
@@ -1698,7 +1674,7 @@
     flip fmap genDrive $ \drive ->
         Class.switchAbsRel (fmap absPC drive) (return Part.Rel)
             (QC.oneof
-                [fmap (Part.AbsO . PathComponent) drive, return Part.RelO])
+                [fmap (Part.AbsO . Component) drive, return Part.RelO])
 
 qcGenPath ::
     Tagged os (Gen ar) ->
diff --git a/src/System/Path/Internal/Component.hs b/src/System/Path/Internal/Component.hs
new file mode 100644
--- /dev/null
+++ b/src/System/Path/Internal/Component.hs
@@ -0,0 +1,88 @@
+module System.Path.Internal.Component where
+
+import qualified System.Path.Internal.Separator as Sep
+import System.Path.Internal.System (System, canonicalize)
+
+import Control.DeepSeq (NFData(rnf))
+import Control.Applicative ((<$>))
+
+import qualified Data.List.HT as ListHT
+import Data.Tagged (Tagged(Tagged))
+import Data.List (isPrefixOf)
+import Data.Maybe.HT (toMaybe)
+import Data.Tuple.HT (mapFst)
+import Data.Ord.HT (comparing)
+import Data.Eq.HT (equating)
+
+import Prelude hiding (map)
+
+
+newtype Component os = Component String
+
+empty :: Component os
+empty = Component ""
+
+instance NFData (Component os) where
+    rnf (Component pc) = rnf pc
+
+instance (System os) => Eq (Component os) where
+    (==)  =  equating (applyComp canonicalize)
+
+instance (System os) => Ord (Component os) where
+    compare  =  comparing (applyComp canonicalize)
+
+applyComp :: Tagged os (String -> String) -> Component os -> String
+applyComp (Tagged canon) (Component pc) = canon pc
+
+retag :: GenComponent -> Component os
+retag (Component pc) = Component pc
+
+untag :: Component os -> GenComponent
+untag (Component pc) = Component pc
+
+
+map :: (String -> String) -> Component os -> Component os
+map f (Component s) = Component $ f s
+
+mapF ::
+    (Functor f) =>
+    (String -> f String) -> Component os -> f (Component os)
+mapF f (Component s) = Component <$> f s
+
+
+
+addExtension :: Component os -> String -> Component os
+addExtension p "" = p
+addExtension (Component pc) ext =
+    Component $ pc ++
+        if [Sep.extension] `isPrefixOf` ext
+          then ext
+          else Sep.extension : ext
+
+splitExtension :: Component os -> (Component os, String)
+splitExtension (Component s) =
+    mapFst Component $
+    maybe (s, "") (mapFst concat) $
+    ((\p@(pcs,_) -> toMaybe (not (null pcs)) p) =<<) $ ListHT.viewR $
+    ListHT.segmentBefore Sep.isExtension s
+
+_splitExtension :: Component os -> (Component os, String)
+_splitExtension (Component s) =
+    mapFst Component $
+    case break Sep.isExtension $ reverse s of
+        (_, "") -> (s, "")
+        (rext, dot:rstem) -> (reverse rstem, dot : reverse rext)
+
+splitExtensions :: Component os -> (Component os, String)
+splitExtensions (Component s) =
+    mapFst Component $ break Sep.isExtension s
+
+
+
+data Generic = Generic
+
+{- |
+We cannot have a Component without phantom types plus a Tagged wrapper,
+because we need specialised Eq and Ord instances.
+-}
+type GenComponent = Component Generic
diff --git a/src/System/Path/Internal/Part.hs b/src/System/Path/Internal/Part.hs
--- a/src/System/Path/Internal/Part.hs
+++ b/src/System/Path/Internal/Part.hs
@@ -1,14 +1,10 @@
 module System.Path.Internal.Part where
 
-import qualified Control.Monad.Trans.State as MS
-import Control.Applicative ((<$>))
-import Control.DeepSeq (NFData(rnf))
-
-import Data.Tagged (Tagged(Tagged))
-import Data.Ord.HT (comparing)
-import Data.Eq.HT (equating)
+import qualified System.Path.Internal.Component as PC
+import System.Path.Internal.Component
+        (Component(Component), GenComponent)
 
-import Test.QuickCheck (Gen)
+import Control.DeepSeq (NFData(rnf))
 
 
 newtype Abs = Abs GenComponent
@@ -16,10 +12,7 @@
 data AbsRel = AbsO GenComponent | RelO
 
 absPC :: String -> Abs
-absPC = Abs . PathComponent
-
-emptyPC :: PathComponent os
-emptyPC = PathComponent ""
+absPC = Abs . Component
 
 newtype File = File GenComponent
 data Dir = Dir
@@ -32,6 +25,10 @@
 instance NFData Rel where
     rnf Rel = ()
 
+instance NFData AbsRel where
+    rnf (AbsO drive) = rnf drive
+    rnf RelO = ()
+
 instance NFData File where
     rnf (File pc) = rnf pc
 
@@ -42,71 +39,5 @@
     rnf FileDir = ()
 
 
-data Generic = Generic
-
-
-{- |
-We cannot have a PathComponent without phantom types plus a Tagged wrapper,
-because we need specialised Eq and Ord instances.
--}
-type GenComponent = PathComponent Generic
-
-newtype PathComponent os = PathComponent String
-
-instance NFData (PathComponent os) where
-    rnf (PathComponent pc) = rnf pc
-
-instance (System os) => Eq (PathComponent os) where
-    (==)  =  equating (applyComp canonicalize)
-
-instance (System os) => Ord (PathComponent os) where
-    compare  =  comparing (applyComp canonicalize)
-
-applyComp :: Tagged os (String -> String) -> PathComponent os -> String
-applyComp (Tagged canon) (PathComponent pc) = canon pc
-
-retagPC :: GenComponent -> PathComponent os
-retagPC (PathComponent pc) = PathComponent pc
-
-untagPC :: PathComponent os -> GenComponent
-untagPC (PathComponent pc) = PathComponent pc
-
-
 fileMap :: (String -> String) -> File -> File
-fileMap f (File pc) = File $ pcMap f pc
-
-pcMap :: (String -> String) -> PathComponent os -> PathComponent os
-pcMap f (PathComponent s) = PathComponent $ f s
-
-pcMapF ::
-    (Functor f) =>
-    (String -> f String) -> PathComponent os -> f (PathComponent os)
-pcMapF f (PathComponent s) = PathComponent <$> f s
-
-
-class System os where
-    -- | The character that separates directories. In the case where more than
-    --   one character is possible, 'pathSeparator' is the \'ideal\' one.
-    --
-    -- >> Posix.isPathSeparator Posix.pathSeparator
-    pathSeparator :: Tagged os Char
-
-    -- | The list of all possible separators.
-    --
-    -- >> Posix.pathSeparator `elem` Posix.pathSeparators
-    pathSeparators :: Tagged os [Char]
-    pathSeparators = (:[]) <$> pathSeparator
-
-    -- | Rather than using @(== 'pathSeparator')@, use this. Test if something
-    --   is a path separator.
-    --
-    -- >> Posix.isPathSeparator a == (a `elem` Posix.pathSeparators)
-    isPathSeparator :: Tagged os (Char -> Bool)
-    isPathSeparator = flip elem <$> pathSeparators
-
-    splitAbsolute :: Tagged os (MS.State String String)
-
-    canonicalize :: Tagged os (String -> String)
-
-    splitDrive :: Tagged os (MS.State String String)
-    genDrive :: Tagged os (Gen String)
+fileMap f (File pc) = File $ PC.map f pc
diff --git a/src/System/Path/Internal/PartClass.hs b/src/System/Path/Internal/PartClass.hs
--- a/src/System/Path/Internal/PartClass.hs
+++ b/src/System/Path/Internal/PartClass.hs
@@ -1,8 +1,10 @@
 module System.Path.Internal.PartClass where
 
+import qualified System.Path.Internal.Component as PC
 import qualified System.Path.Internal.Part as Part
-import System.Path.Internal.Part
-        (PathComponent(PathComponent), GenComponent, System(..), retagPC)
+import System.Path.Internal.System (System(..))
+import System.Path.Internal.Component
+        (Component(Component), GenComponent)
 
 import Data.Monoid (Endo(Endo), appEndo)
 import Data.Ord.HT (comparing)
@@ -87,11 +89,11 @@
 withAbsRel fAbs fRel =
     runFuncArg $
     switchAbsRel
-        (FuncArg $ \(Part.Abs (PathComponent drive)) -> fAbs drive)
+        (FuncArg $ \(Part.Abs (Component drive)) -> fAbs drive)
         (FuncArg $ \Part.Rel -> fRel)
         (FuncArg $ \ar ->
             case ar of
-                Part.AbsO (PathComponent drive) -> fAbs drive
+                Part.AbsO (Component drive) -> fAbs drive
                 Part.RelO -> fRel)
 
 withFileDir :: (FileDir fd) => (GenComponent -> a) -> a -> a -> fd -> a
@@ -133,9 +135,9 @@
 newtype WrapAbsRel os ar = WrapAbsRel {unwrapAbsRel :: ar}
 
 inspectAbsRel ::
-    (AbsRel ar) => WrapAbsRel os ar -> Either (PathComponent os) ()
+    (AbsRel ar) => WrapAbsRel os ar -> Either (Component os) ()
 inspectAbsRel =
-    withAbsRel (Left . PathComponent) (Right ()) . unwrapAbsRel
+    withAbsRel (Left . Component) (Right ()) . unwrapAbsRel
 
 instance (System os, AbsRel ar) => Eq (WrapAbsRel os ar) where
     (==) = equating inspectAbsRel
@@ -147,9 +149,9 @@
 newtype WrapFileDir os fd = WrapFileDir {unwrapFileDir :: fd}
 
 inspectFileDir ::
-    (FileDir ar) => WrapFileDir os ar -> Either (PathComponent os) ()
+    (FileDir ar) => WrapFileDir os ar -> Either (Component os) ()
 inspectFileDir =
-    withFileDir (Left . retagPC) (Right ()) (Right ()) . unwrapFileDir
+    withFileDir (Left . PC.retag) (Right ()) (Right ()) . unwrapFileDir
 
 instance (System os, FileDir fd) => Eq (WrapFileDir os fd) where
     (==) = equating inspectFileDir
diff --git a/src/System/Path/Internal/Separator.hs b/src/System/Path/Internal/Separator.hs
new file mode 100644
--- /dev/null
+++ b/src/System/Path/Internal/Separator.hs
@@ -0,0 +1,14 @@
+module System.Path.Internal.Separator where
+
+
+extension :: Char
+extension = '.'
+
+searchPath :: Char
+searchPath = ':'
+
+isExtension :: Char -> Bool
+isExtension = (== extension)
+
+isSearchPath :: Char -> Bool
+isSearchPath = (== searchPath)
diff --git a/src/System/Path/Internal/System.hs b/src/System/Path/Internal/System.hs
new file mode 100644
--- /dev/null
+++ b/src/System/Path/Internal/System.hs
@@ -0,0 +1,37 @@
+module System.Path.Internal.System where
+
+import qualified Control.Monad.Trans.State as MS
+import Control.Applicative ((<$>))
+
+import Data.Tagged (Tagged)
+
+import Test.QuickCheck (Gen)
+
+
+
+class System os where
+    -- | The character that separates directories. In the case where more than
+    --   one character is possible, 'pathSeparator' is the \'ideal\' one.
+    --
+    -- >> Posix.isPathSeparator Posix.pathSeparator
+    pathSeparator :: Tagged os Char
+
+    -- | The list of all possible separators.
+    --
+    -- >> Posix.pathSeparator `elem` Posix.pathSeparators
+    pathSeparators :: Tagged os [Char]
+    pathSeparators = (:[]) <$> pathSeparator
+
+    -- | Rather than using @(== 'pathSeparator')@, use this. Test if something
+    --   is a path separator.
+    --
+    -- >> Posix.isPathSeparator a == (a `elem` Posix.pathSeparators)
+    isPathSeparator :: Tagged os (Char -> Bool)
+    isPathSeparator = flip elem <$> pathSeparators
+
+    splitAbsolute :: Tagged os (MS.State String String)
+
+    canonicalize :: Tagged os (String -> String)
+
+    splitDrive :: Tagged os (MS.State String String)
+    genDrive :: Tagged os (Gen String)
diff --git a/test/Test/Posix/System/Path/Internal.hs b/test/Test/Posix/System/Path/Internal.hs
--- a/test/Test/Posix/System/Path/Internal.hs
+++ b/test/Test/Posix/System/Path/Internal.hs
@@ -1,877 +1,1044 @@
 -- Do not edit! Automatically created with doctest-extract from src/System/Path/Internal.hs
-{-# LINE 196 "src/System/Path/Internal.hs" #-}
-
-{-# OPTIONS_GHC -XTypeFamilies #-}
-
-{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
-module Test.Posix.System.Path.Internal where
-
-import qualified System.Path.Posix as Default
-import Test.DocTest.Base
-import qualified Test.DocTest.Driver as DocTest
-
-{-# LINE 200 "src/System/Path/Internal.hs" #-}
-import     qualified System.Path.PartClass as Class
-import     qualified System.Path.Generic as Path
-import     qualified System.Path.Posix as Posix
-import     qualified System.Path.Windows as Windows
-import     System.Path.Generic ((</>), (<.>), relFile, relDir, absFile, absDir)
-import     Data.List (isSuffixOf, isPrefixOf)
-import     Data.Char (toLower)
-import     qualified Test.QuickCheck as QC
-forAllAbsRel     :: (Class.FileDir fd, QC.Testable prop) => (Default.AbsRel fd -> prop) -> QC.Property
-forAllAbsRel     = QC.forAll QC.arbitrary
-
-test :: DocTest.T ()
-test = do
- DocTest.printPrefix "System.Path.Internal:280: "
-{-# LINE 280 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 280 "src/System/Path/Internal.hs" #-}
-        (Path.pathMap (map toLower) (absDir "/tmp/Reports/SpreadSheets") == Posix.absDir "/tmp/reports/spreadsheets")
- DocTest.printPrefix "System.Path.Internal:353: "
-{-# LINE 353 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 353 "src/System/Path/Internal.hs" #-}
-   (Posix.rootDir </> relDir "bla" </> relFile "blub")
-  [ExpectedLine [LineChunk "rootDir </> relPath \"bla\" </> relPath \"blub\""]]
- DocTest.printPrefix "System.Path.Internal:355: "
-{-# LINE 355 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 355 "src/System/Path/Internal.hs" #-}
-   (Just (Posix.rootDir </> relDir "bla" </> relFile "blub"))
-  [ExpectedLine [LineChunk "Just (rootDir </> relPath \"bla\" </> relPath \"blub\")"]]
- DocTest.printPrefix "System.Path.Internal:357: "
-{-# LINE 357 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 357 "src/System/Path/Internal.hs" #-}
-   (Posix.currentDir </> relDir "bla" </> relFile "blub")
-  [ExpectedLine [LineChunk "currentDir </> relPath \"bla\" </> relPath \"blub\""]]
- DocTest.printPrefix "System.Path.Internal:359: "
-{-# LINE 359 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 359 "src/System/Path/Internal.hs" #-}
-   (Just (Posix.currentDir </> relDir "bla" </> relFile "blub"))
-  [ExpectedLine [LineChunk "Just (currentDir </> relPath \"bla\" </> relPath \"blub\")"]]
- DocTest.printPrefix "System.Path.Internal:361: "
-{-# LINE 361 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 361 "src/System/Path/Internal.hs" #-}
-   (Windows.absDir "c:" </> relDir "bla" </> relFile "blub")
-  [ExpectedLine [LineChunk "absDir \"c:\" </> relPath \"bla\" </> relPath \"blub\""]]
- DocTest.printPrefix "System.Path.Internal:363: "
-{-# LINE 363 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 363 "src/System/Path/Internal.hs" #-}
-   (Just (Windows.absDir "c:\\" </> relDir "bla" </> relFile "blub"))
-  [ExpectedLine [LineChunk "Just (absDir \"c:\\\\\" </> relPath \"bla\" </> relPath \"blub\")"]]
- DocTest.printPrefix "System.Path.Internal:475: "
-{-# LINE 475 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 475 "src/System/Path/Internal.hs" #-}
-        (\p -> Path.asPath (Path.toString p) == (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:557: "
-{-# LINE 557 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 557 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsDir) == Just "/")
- DocTest.printPrefix "System.Path.Internal:558: "
-{-# LINE 558 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 558 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:559: "
-{-# LINE 559 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 559 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:560: "
-{-# LINE 560 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 560 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:561: "
-{-# LINE 561 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 561 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:562: "
-{-# LINE 562 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 562 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsFile) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:563: "
-{-# LINE 563 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 563 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:564: "
-{-# LINE 564 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 564 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:565: "
-{-# LINE 565 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 565 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:566: "
-{-# LINE 566 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 566 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:567: "
-{-# LINE 567 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 567 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:568: "
-{-# LINE 568 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 568 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:569: "
-{-# LINE 569 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 569 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsRelFileDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:570: "
-{-# LINE 570 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 570 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsRelFileDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:571: "
-{-# LINE 571 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 571 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.RelFile) == Just "file.txt")
- DocTest.printPrefix "System.Path.Internal:572: "
-{-# LINE 572 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 572 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.AbsFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:573: "
-{-# LINE 573 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 573 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.AbsDir) == Just "\\tmp")
- DocTest.printPrefix "System.Path.Internal:574: "
-{-# LINE 574 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 574 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.AbsDir) == Just "a:\\tmp")
- DocTest.printPrefix "System.Path.Internal:575: "
-{-# LINE 575 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 575 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.AbsDir) == Just "a:tmp")
- DocTest.printPrefix "System.Path.Internal:576: "
-{-# LINE 576 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 576 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:\\" :: Maybe Windows.AbsDir) == Just "a:\\")
- DocTest.printPrefix "System.Path.Internal:577: "
-{-# LINE 577 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 577 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:" :: Maybe Windows.AbsDir) == Just "a:")
- DocTest.printPrefix "System.Path.Internal:578: "
-{-# LINE 578 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 578 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.RelDir) == Just "tmp")
- DocTest.printPrefix "System.Path.Internal:579: "
-{-# LINE 579 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 579 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:580: "
-{-# LINE 580 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 580 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:581: "
-{-# LINE 581 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 581 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:582: "
-{-# LINE 582 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 582 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.AbsDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:631: "
-{-# LINE 631 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 631 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relFile "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:632: "
-{-# LINE 632 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 632 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relFile "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:638: "
-{-# LINE 638 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 638 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir ".") == ".")
- DocTest.printPrefix "System.Path.Internal:639: "
-{-# LINE 639 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 639 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:640: "
-{-# LINE 640 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 640 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:646: "
-{-# LINE 646 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 646 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absFile "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:647: "
-{-# LINE 647 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 647 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absFile "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:653: "
-{-# LINE 653 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 653 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:654: "
-{-# LINE 654 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 654 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:749: "
-{-# LINE 749 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 749 "src/System/Path/Internal.hs" #-}
-        (Posix.asPath "/tmp" == Posix.absDir "/tmp")
- DocTest.printPrefix "System.Path.Internal:750: "
-{-# LINE 750 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 750 "src/System/Path/Internal.hs" #-}
-        (Posix.asPath "file.txt" == Posix.relFile "file.txt")
- DocTest.printPrefix "System.Path.Internal:751: "
-{-# LINE 751 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 751 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Posix.asAbsDir "/tmp"))
- DocTest.printPrefix "System.Path.Internal:752: "
-{-# LINE 752 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 752 "src/System/Path/Internal.hs" #-}
-        (Path.isRelative (Posix.asRelDir "/tmp"))
- DocTest.printPrefix "System.Path.Internal:753: "
-{-# LINE 753 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 753 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asPath "/tmp" :: Posix.AbsDir) == "/tmp")
- DocTest.printPrefix "System.Path.Internal:754: "
-{-# LINE 754 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 754 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asPath "/tmp" :: Posix.RelDir) == "tmp")
- DocTest.printPrefix "System.Path.Internal:755: "
-{-# LINE 755 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 755 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "\\tmp" :: Windows.AbsDir) == "\\tmp")
- DocTest.printPrefix "System.Path.Internal:756: "
-{-# LINE 756 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 756 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "a:\\tmp" :: Windows.AbsDir) == "a:\\tmp")
- DocTest.printPrefix "System.Path.Internal:757: "
-{-# LINE 757 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 757 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "a:tmp" :: Windows.AbsDir) == "a:tmp")
- DocTest.printPrefix "System.Path.Internal:758: "
-{-# LINE 758 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 758 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "tmp" :: Windows.RelDir) == "tmp")
- DocTest.printPrefix "System.Path.Internal:766: "
-{-# LINE 766 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 766 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:767: "
-{-# LINE 767 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 767 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "/file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:768: "
-{-# LINE 768 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 768 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:769: "
-{-# LINE 769 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 769 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "/tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:775: "
-{-# LINE 775 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 775 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir ".") == ".")
- DocTest.printPrefix "System.Path.Internal:776: "
-{-# LINE 776 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 776 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:777: "
-{-# LINE 777 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 777 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "/file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:778: "
-{-# LINE 778 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 778 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:779: "
-{-# LINE 779 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 779 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "/tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:785: "
-{-# LINE 785 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 785 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsFile "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:786: "
-{-# LINE 786 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 786 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsFile "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:792: "
-{-# LINE 792 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 792 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsDir "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:793: "
-{-# LINE 793 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 793 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsDir "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:832: "
-{-# LINE 832 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 832 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "/tmp" == Left (Posix.absDir "/tmp"))
- DocTest.printPrefix "System.Path.Internal:833: "
-{-# LINE 833 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 833 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel  "tmp" == Right (Posix.relDir "tmp"))
- DocTest.printPrefix "System.Path.Internal:834: "
-{-# LINE 834 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 834 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "\\tmp" == Left (Windows.absDir "\\tmp"))
- DocTest.printPrefix "System.Path.Internal:835: "
-{-# LINE 835 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 835 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "d:\\tmp" == Left (Windows.absDir "d:\\tmp"))
- DocTest.printPrefix "System.Path.Internal:836: "
-{-# LINE 836 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 836 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "d:tmp" == Left (Windows.absDir "d:tmp"))
- DocTest.printPrefix "System.Path.Internal:837: "
-{-# LINE 837 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 837 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "tmp" == Right (Windows.relDir "tmp"))
- DocTest.printPrefix "System.Path.Internal:866: "
-{-# LINE 866 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 866 "src/System/Path/Internal.hs" #-}
-        (Path.mkAbsPath (absDir "/tmp") "foo.txt" == Posix.absFile "/tmp/foo.txt")
- DocTest.printPrefix "System.Path.Internal:867: "
-{-# LINE 867 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 867 "src/System/Path/Internal.hs" #-}
-        (Path.mkAbsPath (absDir "/tmp") "/etc/foo.txt" == Posix.absFile "/etc/foo.txt")
- DocTest.printPrefix "System.Path.Internal:1007: "
-{-# LINE 1007 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1007 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt")
- DocTest.printPrefix "System.Path.Internal:1008: "
-{-# LINE 1008 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1008 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1009: "
-{-# LINE 1009 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1009 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1010: "
-{-# LINE 1010 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1010 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1011: "
-{-# LINE 1011 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1011 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1012: "
-{-# LINE 1012 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1012 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1013: "
-{-# LINE 1013 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1013 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1014: "
-{-# LINE 1014 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1014 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1015: "
-{-# LINE 1015 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1015 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1042: "
-{-# LINE 1042 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1042 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib")
- DocTest.printPrefix "System.Path.Internal:1043: "
-{-# LINE 1043 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1043 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib")
- DocTest.printPrefix "System.Path.Internal:1044: "
-{-# LINE 1044 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1044 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib")
- DocTest.printPrefix "System.Path.Internal:1045: "
-{-# LINE 1045 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1045 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib")
- DocTest.printPrefix "System.Path.Internal:1046: "
-{-# LINE 1046 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1046 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib")
- DocTest.printPrefix "System.Path.Internal:1047: "
-{-# LINE 1047 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1047 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (Path.addExtension Path.emptyFile "ext") == Posix.relFile ".ext")
- DocTest.printPrefix "System.Path.Internal:1054: "
-{-# LINE 1054 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1054 "src/System/Path/Internal.hs" #-}
-        (\p -> Path.combine Path.currentDir p == (p::Default.RelDir))
- DocTest.printPrefix "System.Path.Internal:1061: "
-{-# LINE 1061 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1061 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.dropExtension x == fst (Path.splitExtension x))
- DocTest.printPrefix "System.Path.Internal:1067: "
-{-# LINE 1067 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1067 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> not $ Path.hasAnExtension (Path.dropExtensions x))
- DocTest.printPrefix "System.Path.Internal:1078: "
-{-# LINE 1078 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1078 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob")
- DocTest.printPrefix "System.Path.Internal:1079: "
-{-# LINE 1079 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1079 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob")
- DocTest.printPrefix "System.Path.Internal:1080: "
-{-# LINE 1080 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1080 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob")
- DocTest.printPrefix "System.Path.Internal:1081: "
-{-# LINE 1081 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1081 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file")
- DocTest.printPrefix "System.Path.Internal:1082: "
-{-# LINE 1082 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1082 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt")
- DocTest.printPrefix "System.Path.Internal:1099: "
-{-# LINE 1099 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1099 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x)
- DocTest.printPrefix "System.Path.Internal:1100: "
-{-# LINE 1100 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1100 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x)
- DocTest.printPrefix "System.Path.Internal:1101: "
-{-# LINE 1101 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1101 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt"))
- DocTest.printPrefix "System.Path.Internal:1102: "
-{-# LINE 1102 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1102 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc"))
- DocTest.printPrefix "System.Path.Internal:1103: "
-{-# LINE 1103 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1103 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file") == (Posix.relFile "file",""))
- DocTest.printPrefix "System.Path.Internal:1104: "
-{-# LINE 1104 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1104 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt"))
- DocTest.printPrefix "System.Path.Internal:1105: "
-{-# LINE 1105 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1105 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris",""))
- DocTest.printPrefix "System.Path.Internal:1106: "
-{-# LINE 1106 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1106 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext"))
- DocTest.printPrefix "System.Path.Internal:1107: "
-{-# LINE 1107 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1107 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred"))
- DocTest.printPrefix "System.Path.Internal:1113: "
-{-# LINE 1113 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1113 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz"))
- DocTest.printPrefix "System.Path.Internal:1114: "
-{-# LINE 1114 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1114 "src/System/Path/Internal.hs" #-}
-        (\p -> uncurry (<.>) (Path.splitExtension p) == (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:1118: "
-{-# LINE 1118 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1118 "src/System/Path/Internal.hs" #-}
-          (\p -> uncurry Path.combine (Path.splitFileName p) == (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:1134: "
-{-# LINE 1134 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1134 "src/System/Path/Internal.hs" #-}
-        (Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile")
- DocTest.printPrefix "System.Path.Internal:1135: "
-{-# LINE 1135 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1135 "src/System/Path/Internal.hs" #-}
-        (Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile")
- DocTest.printPrefix "System.Path.Internal:1136: "
-{-# LINE 1136 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1136 "src/System/Path/Internal.hs" #-}
-        (Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile")
- DocTest.printPrefix "System.Path.Internal:1155: "
-{-# LINE 1155 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1155 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x))
- DocTest.printPrefix "System.Path.Internal:1156: "
-{-# LINE 1156 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1156 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext")
- DocTest.printPrefix "System.Path.Internal:1157: "
-{-# LINE 1157 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1157 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.takeExtension (Path.replaceExtension x "ext") == ".ext")
- DocTest.printPrefix "System.Path.Internal:1163: "
-{-# LINE 1163 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1163 "src/System/Path/Internal.hs" #-}
-        (Path.takeExtensions (Posix.relFile "file.tar.gz") == ".tar.gz")
- DocTest.printPrefix "System.Path.Internal:1169: "
-{-# LINE 1169 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1169 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt")
- DocTest.printPrefix "System.Path.Internal:1170: "
-{-# LINE 1170 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1170 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt")
- DocTest.printPrefix "System.Path.Internal:1171: "
-{-# LINE 1171 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1171 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt")
- DocTest.printPrefix "System.Path.Internal:1172: "
-{-# LINE 1172 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1172 "src/System/Path/Internal.hs" #-}
-        (\p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:1201: "
-{-# LINE 1201 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1201 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "abc/def" "abc/def")
- DocTest.printPrefix "System.Path.Internal:1202: "
-{-# LINE 1202 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1202 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "abc/def" "abc//def")
- DocTest.printPrefix "System.Path.Internal:1203: "
-{-# LINE 1203 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1203 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "/tmp/" "/tmp")
- DocTest.printPrefix "System.Path.Internal:1204: "
-{-# LINE 1204 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1204 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "/tmp" "//tmp")
- DocTest.printPrefix "System.Path.Internal:1205: "
-{-# LINE 1205 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1205 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "/tmp" "///tmp")
- DocTest.printPrefix "System.Path.Internal:1206: "
-{-# LINE 1206 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1206 "src/System/Path/Internal.hs" #-}
-        (not $ Posix.equalFilePath "abc" "def")
- DocTest.printPrefix "System.Path.Internal:1207: "
-{-# LINE 1207 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1207 "src/System/Path/Internal.hs" #-}
-        (not $ Posix.equalFilePath "/tmp" "tmp")
- DocTest.printPrefix "System.Path.Internal:1208: "
-{-# LINE 1208 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1208 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "abc\\def" "abc\\def")
- DocTest.printPrefix "System.Path.Internal:1209: "
-{-# LINE 1209 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1209 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "abc\\def" "abc\\\\def")
- DocTest.printPrefix "System.Path.Internal:1210: "
-{-# LINE 1210 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1210 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "file" "File")
- DocTest.printPrefix "System.Path.Internal:1211: "
-{-# LINE 1211 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1211 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "\\file" "\\\\file")
- DocTest.printPrefix "System.Path.Internal:1212: "
-{-# LINE 1212 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1212 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "\\file" "\\\\\\file")
- DocTest.printPrefix "System.Path.Internal:1213: "
-{-# LINE 1213 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1213 "src/System/Path/Internal.hs" #-}
-        (not $ Windows.equalFilePath "abc" "def")
- DocTest.printPrefix "System.Path.Internal:1214: "
-{-# LINE 1214 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1214 "src/System/Path/Internal.hs" #-}
-        (not $ Windows.equalFilePath "file" "dir")
- DocTest.printPrefix "System.Path.Internal:1227: "
-{-# LINE 1227 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1227 "src/System/Path/Internal.hs" #-}
-        (Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir")
- DocTest.printPrefix "System.Path.Internal:1228: "
-{-# LINE 1228 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1228 "src/System/Path/Internal.hs" #-}
-        (Path.joinPath ["tmp","someDir","file.txt"] == Posix.relFile "tmp/someDir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1234: "
-{-# LINE 1234 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1234 "src/System/Path/Internal.hs" #-}
-        (Path.normalise (absFile "/tmp/fred/./jim/./file") == Posix.absFile "/tmp/fred/jim/file")
- DocTest.printPrefix "System.Path.Internal:1240: "
-{-# LINE 1240 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1240 "src/System/Path/Internal.hs" #-}
-        (Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing))
- DocTest.printPrefix "System.Path.Internal:1241: "
-{-# LINE 1241 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1241 "src/System/Path/Internal.hs" #-}
-        (Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt"))
- DocTest.printPrefix "System.Path.Internal:1257: "
-{-# LINE 1257 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1257 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1258: "
-{-# LINE 1258 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1258 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir")
- DocTest.printPrefix "System.Path.Internal:1259: "
-{-# LINE 1259 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1259 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt")
- DocTest.printPrefix "System.Path.Internal:1260: "
-{-# LINE 1260 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1260 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir")
- DocTest.printPrefix "System.Path.Internal:1261: "
-{-# LINE 1261 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1261 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir")
- DocTest.printPrefix "System.Path.Internal:1288: "
-{-# LINE 1288 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1288 "src/System/Path/Internal.hs" #-}
-        (Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt")
- DocTest.printPrefix "System.Path.Internal:1289: "
-{-# LINE 1289 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1289 "src/System/Path/Internal.hs" #-}
-        (Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1290: "
-{-# LINE 1290 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1290 "src/System/Path/Internal.hs" #-}
-        (Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir")
- DocTest.printPrefix "System.Path.Internal:1291: "
-{-# LINE 1291 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1291 "src/System/Path/Internal.hs" #-}
-        (\base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p)))
- DocTest.printPrefix "System.Path.Internal:1292: "
-{-# LINE 1292 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1292 "src/System/Path/Internal.hs" #-}
-        (\base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p)))
- DocTest.printPrefix "System.Path.Internal:1314: "
-{-# LINE 1314 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1314 "src/System/Path/Internal.hs" #-}
-        (Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt")
- DocTest.printPrefix "System.Path.Internal:1315: "
-{-# LINE 1315 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1315 "src/System/Path/Internal.hs" #-}
-        (Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1316: "
-{-# LINE 1316 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1316 "src/System/Path/Internal.hs" #-}
-        (Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1401: "
-{-# LINE 1401 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1401 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Posix.absFile "/fred"))
- DocTest.printPrefix "System.Path.Internal:1402: "
-{-# LINE 1402 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1402 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Windows.absFile "\\fred"))
- DocTest.printPrefix "System.Path.Internal:1403: "
-{-# LINE 1403 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1403 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Windows.absFile "c:\\fred"))
- DocTest.printPrefix "System.Path.Internal:1404: "
-{-# LINE 1404 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1404 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Windows.absFile "c:fred"))
- DocTest.printPrefix "System.Path.Internal:1411: "
-{-# LINE 1411 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1411 "src/System/Path/Internal.hs" #-}
-        (Path.isRelative (Posix.relFile "fred"))
- DocTest.printPrefix "System.Path.Internal:1412: "
-{-# LINE 1412 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1412 "src/System/Path/Internal.hs" #-}
-        (Path.isRelative (Windows.relFile "fred"))
- DocTest.printPrefix "System.Path.Internal:1437: "
-{-# LINE 1437 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1437 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> null (Path.takeExtension x) == not (Path.hasAnExtension x))
- DocTest.printPrefix "System.Path.Internal:1443: "
-{-# LINE 1443 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1443 "src/System/Path/Internal.hs" #-}
-        (Path.hasExtension ".hs" (Posix.relFile "MyCode.hs"))
- DocTest.printPrefix "System.Path.Internal:1444: "
-{-# LINE 1444 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1444 "src/System/Path/Internal.hs" #-}
-        (Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs"))
- DocTest.printPrefix "System.Path.Internal:1445: "
-{-# LINE 1445 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1445 "src/System/Path/Internal.hs" #-}
-        (not $ Path.hasExtension ".hs" (Posix.relFile "MyCode.hs.bak"))
- DocTest.printPrefix "System.Path.Internal:1455: "
-{-# LINE 1455 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1455 "src/System/Path/Internal.hs" #-}
-        (Posix.extSeparator == '.')
- DocTest.printPrefix "System.Path.Internal:1466: "
-{-# LINE 1466 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1466 "src/System/Path/Internal.hs" #-}
-        (\a -> Posix.isExtSeparator a == (a == Posix.extSeparator))
- DocTest.printPrefix "System.Path.Internal:1472: "
-{-# LINE 1472 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1472 "src/System/Path/Internal.hs" #-}
-        (\a -> Posix.isSearchPathSeparator a == (a == Posix.searchPathSeparator))
- DocTest.printPrefix "System.Path.Internal:1488: "
-{-# LINE 1488 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1488 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x")
- DocTest.printPrefix "System.Path.Internal:1489: "
-{-# LINE 1489 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1489 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x")
- DocTest.printPrefix "System.Path.Internal:1490: "
-{-# LINE 1490 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1490 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x")
- DocTest.printPrefix "System.Path.Internal:1491: "
-{-# LINE 1491 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1491 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension Path.emptyFile "" == Posix.emptyFile)
+{-# LINE 199 "src/System/Path/Internal.hs" #-}
+
+{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
+module Test.Posix.System.Path.Internal where
+
+import qualified System.Path.Posix as Default
+import Test.DocTest.Base
+import qualified Test.DocTest.Driver as DocTest
+
+{-# LINE 201 "src/System/Path/Internal.hs" #-}
+import     qualified System.Path.PartClass as Class
+import     qualified System.Path.Generic as Path
+import     qualified System.Path.Posix as Posix
+import     qualified System.Path.Windows as Windows
+import     System.Path.Generic ((</>), (<.>), relFile, relDir, absFile, absDir)
+import     Data.List (isSuffixOf, isPrefixOf)
+import     Data.Char (toLower)
+import     qualified Test.QuickCheck as QC
+forAllAbsRel     :: (Class.FileDir fd, QC.Testable prop) => (Default.AbsRel fd -> prop) -> QC.Property
+forAllAbsRel     = QC.forAll QC.arbitrary
+
+test :: DocTest.T ()
+test = do
+ DocTest.printPrefix "System.Path.Internal:281: "
+{-# LINE 281 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 281 "src/System/Path/Internal.hs" #-}
+      Path.pathMap (map toLower) (absDir "/tmp/Reports/SpreadSheets") == Posix.absDir "/tmp/reports/spreadsheets"
+  )
+ DocTest.printPrefix "System.Path.Internal:354: "
+{-# LINE 354 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 354 "src/System/Path/Internal.hs" #-}
+    Posix.rootDir </> relDir "bla" </> relFile "blub"
+  )
+  [ExpectedLine [LineChunk "rootDir </> relPath \"bla\" </> relPath \"blub\""]]
+ DocTest.printPrefix "System.Path.Internal:356: "
+{-# LINE 356 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 356 "src/System/Path/Internal.hs" #-}
+    Just (Posix.rootDir </> relDir "bla" </> relFile "blub")
+  )
+  [ExpectedLine [LineChunk "Just (rootDir </> relPath \"bla\" </> relPath \"blub\")"]]
+ DocTest.printPrefix "System.Path.Internal:358: "
+{-# LINE 358 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 358 "src/System/Path/Internal.hs" #-}
+    Posix.currentDir </> relDir "bla" </> relFile "blub"
+  )
+  [ExpectedLine [LineChunk "currentDir </> relPath \"bla\" </> relPath \"blub\""]]
+ DocTest.printPrefix "System.Path.Internal:360: "
+{-# LINE 360 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 360 "src/System/Path/Internal.hs" #-}
+    Just (Posix.currentDir </> relDir "bla" </> relFile "blub")
+  )
+  [ExpectedLine [LineChunk "Just (currentDir </> relPath \"bla\" </> relPath \"blub\")"]]
+ DocTest.printPrefix "System.Path.Internal:362: "
+{-# LINE 362 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 362 "src/System/Path/Internal.hs" #-}
+    Windows.absDir "c:" </> relDir "bla" </> relFile "blub"
+  )
+  [ExpectedLine [LineChunk "absDir \"c:\" </> relPath \"bla\" </> relPath \"blub\""]]
+ DocTest.printPrefix "System.Path.Internal:364: "
+{-# LINE 364 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 364 "src/System/Path/Internal.hs" #-}
+    Just (Windows.absDir "c:\\" </> relDir "bla" </> relFile "blub")
+  )
+  [ExpectedLine [LineChunk "Just (absDir \"c:\\\\\" </> relPath \"bla\" </> relPath \"blub\")"]]
+ DocTest.printPrefix "System.Path.Internal:476: "
+{-# LINE 476 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 476 "src/System/Path/Internal.hs" #-}
+      \p -> Path.asPath (Path.toString p) == (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:558: "
+{-# LINE 558 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 558 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsDir) == Just "/"
+  )
+ DocTest.printPrefix "System.Path.Internal:559: "
+{-# LINE 559 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 559 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:560: "
+{-# LINE 560 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 560 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:561: "
+{-# LINE 561 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 561 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:562: "
+{-# LINE 562 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 562 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:563: "
+{-# LINE 563 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 563 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsFile) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:564: "
+{-# LINE 564 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 564 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:565: "
+{-# LINE 565 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 565 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:566: "
+{-# LINE 566 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 566 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:567: "
+{-# LINE 567 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 567 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:568: "
+{-# LINE 568 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 568 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:569: "
+{-# LINE 569 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 569 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:570: "
+{-# LINE 570 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 570 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsRelFileDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:571: "
+{-# LINE 571 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 571 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsRelFileDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:572: "
+{-# LINE 572 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 572 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.RelFile) == Just "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:573: "
+{-# LINE 573 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 573 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.AbsFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:574: "
+{-# LINE 574 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 574 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.AbsDir) == Just "\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:575: "
+{-# LINE 575 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 575 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.AbsDir) == Just "a:\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:576: "
+{-# LINE 576 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 576 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.AbsDir) == Just "a:tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:577: "
+{-# LINE 577 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 577 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:\\" :: Maybe Windows.AbsDir) == Just "a:\\"
+  )
+ DocTest.printPrefix "System.Path.Internal:578: "
+{-# LINE 578 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 578 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:" :: Maybe Windows.AbsDir) == Just "a:"
+  )
+ DocTest.printPrefix "System.Path.Internal:579: "
+{-# LINE 579 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 579 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.RelDir) == Just "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:580: "
+{-# LINE 580 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 580 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:581: "
+{-# LINE 581 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 581 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:582: "
+{-# LINE 582 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 582 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:583: "
+{-# LINE 583 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 583 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.AbsDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:632: "
+{-# LINE 632 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 632 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relFile "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:633: "
+{-# LINE 633 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 633 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relFile "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:639: "
+{-# LINE 639 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 639 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir ".") == "."
+  )
+ DocTest.printPrefix "System.Path.Internal:640: "
+{-# LINE 640 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 640 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:641: "
+{-# LINE 641 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 641 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:647: "
+{-# LINE 647 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 647 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absFile "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:648: "
+{-# LINE 648 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 648 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absFile "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:654: "
+{-# LINE 654 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 654 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:655: "
+{-# LINE 655 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 655 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:750: "
+{-# LINE 750 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 750 "src/System/Path/Internal.hs" #-}
+      Posix.asPath "/tmp" == Posix.absDir "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:751: "
+{-# LINE 751 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 751 "src/System/Path/Internal.hs" #-}
+      Posix.asPath "file.txt" == Posix.relFile "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:752: "
+{-# LINE 752 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 752 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Posix.asAbsDir "/tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:753: "
+{-# LINE 753 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 753 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Posix.asRelDir "/tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:754: "
+{-# LINE 754 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 754 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asPath "/tmp" :: Posix.AbsDir) == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:755: "
+{-# LINE 755 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 755 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asPath "/tmp" :: Posix.RelDir) == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:756: "
+{-# LINE 756 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 756 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "\\tmp" :: Windows.AbsDir) == "\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:757: "
+{-# LINE 757 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 757 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "a:\\tmp" :: Windows.AbsDir) == "a:\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:758: "
+{-# LINE 758 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 758 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "a:tmp" :: Windows.AbsDir) == "a:tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:759: "
+{-# LINE 759 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 759 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "tmp" :: Windows.RelDir) == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:767: "
+{-# LINE 767 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 767 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:768: "
+{-# LINE 768 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 768 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "/file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:769: "
+{-# LINE 769 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 769 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:770: "
+{-# LINE 770 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 770 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "/tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:776: "
+{-# LINE 776 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 776 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir ".") == "."
+  )
+ DocTest.printPrefix "System.Path.Internal:777: "
+{-# LINE 777 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 777 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:778: "
+{-# LINE 778 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 778 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "/file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:779: "
+{-# LINE 779 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 779 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:780: "
+{-# LINE 780 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 780 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "/tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:786: "
+{-# LINE 786 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 786 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsFile "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:787: "
+{-# LINE 787 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 787 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsFile "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:793: "
+{-# LINE 793 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 793 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsDir "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:794: "
+{-# LINE 794 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 794 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsDir "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:833: "
+{-# LINE 833 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 833 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "/tmp" == Left (Posix.absDir "/tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:834: "
+{-# LINE 834 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 834 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel  "tmp" == Right (Posix.relDir "tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:835: "
+{-# LINE 835 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 835 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "\\tmp" == Left (Windows.absDir "\\tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:836: "
+{-# LINE 836 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 836 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "d:\\tmp" == Left (Windows.absDir "d:\\tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:837: "
+{-# LINE 837 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 837 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "d:tmp" == Left (Windows.absDir "d:tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:838: "
+{-# LINE 838 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 838 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "tmp" == Right (Windows.relDir "tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:867: "
+{-# LINE 867 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 867 "src/System/Path/Internal.hs" #-}
+      Path.mkAbsPath (absDir "/tmp") "foo.txt" == Posix.absFile "/tmp/foo.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:868: "
+{-# LINE 868 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 868 "src/System/Path/Internal.hs" #-}
+      Path.mkAbsPath (absDir "/tmp") "/etc/foo.txt" == Posix.absFile "/etc/foo.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1010: "
+{-# LINE 1010 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1010 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1011: "
+{-# LINE 1011 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1011 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1012: "
+{-# LINE 1012 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1012 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1013: "
+{-# LINE 1013 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1013 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1014: "
+{-# LINE 1014 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1014 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1015: "
+{-# LINE 1015 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1015 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1016: "
+{-# LINE 1016 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1016 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1017: "
+{-# LINE 1017 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1017 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1018: "
+{-# LINE 1018 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1018 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1045: "
+{-# LINE 1045 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1045 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1046: "
+{-# LINE 1046 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1046 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1047: "
+{-# LINE 1047 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1047 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1048: "
+{-# LINE 1048 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1048 "src/System/Path/Internal.hs" #-}
+      Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1049: "
+{-# LINE 1049 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1049 "src/System/Path/Internal.hs" #-}
+      Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1050: "
+{-# LINE 1050 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1050 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (Path.addExtension Path.emptyFile "ext") == Posix.relFile ".ext"
+  )
+ DocTest.printPrefix "System.Path.Internal:1057: "
+{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+      \p -> Path.combine Path.currentDir p == (p::Default.RelDir)
+  )
+ DocTest.printPrefix "System.Path.Internal:1064: "
+{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.dropExtension x == fst (Path.splitExtension x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1070: "
+{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> not $ Path.hasAnExtension (Path.dropExtensions x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1081: "
+{-# LINE 1081 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1081 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob"
+  )
+ DocTest.printPrefix "System.Path.Internal:1082: "
+{-# LINE 1082 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1082 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob"
+  )
+ DocTest.printPrefix "System.Path.Internal:1083: "
+{-# LINE 1083 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1083 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob"
+  )
+ DocTest.printPrefix "System.Path.Internal:1084: "
+{-# LINE 1084 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1084 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1085: "
+{-# LINE 1085 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1085 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1102: "
+{-# LINE 1102 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1102 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x
+  )
+ DocTest.printPrefix "System.Path.Internal:1103: "
+{-# LINE 1103 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1103 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x
+  )
+ DocTest.printPrefix "System.Path.Internal:1104: "
+{-# LINE 1104 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1104 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt")
+  )
+ DocTest.printPrefix "System.Path.Internal:1105: "
+{-# LINE 1105 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1105 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc")
+  )
+ DocTest.printPrefix "System.Path.Internal:1106: "
+{-# LINE 1106 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1106 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file") == (Posix.relFile "file","")
+  )
+ DocTest.printPrefix "System.Path.Internal:1107: "
+{-# LINE 1107 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1107 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt")
+  )
+ DocTest.printPrefix "System.Path.Internal:1108: "
+{-# LINE 1108 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1108 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris","")
+  )
+ DocTest.printPrefix "System.Path.Internal:1109: "
+{-# LINE 1109 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1109 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext")
+  )
+ DocTest.printPrefix "System.Path.Internal:1110: "
+{-# LINE 1110 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1110 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1116: "
+{-# LINE 1116 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1116 "src/System/Path/Internal.hs" #-}
+      Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz")
+  )
+ DocTest.printPrefix "System.Path.Internal:1117: "
+{-# LINE 1117 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1117 "src/System/Path/Internal.hs" #-}
+      \p -> uncurry (<.>) (Path.splitExtension p) == (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:1121: "
+{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+           \p -> uncurry Path.combine (Path.splitFileName p) == (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:1137: "
+{-# LINE 1137 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1137 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile"
+  )
+ DocTest.printPrefix "System.Path.Internal:1138: "
+{-# LINE 1138 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1138 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile"
+  )
+ DocTest.printPrefix "System.Path.Internal:1139: "
+{-# LINE 1139 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1139 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile"
+  )
+ DocTest.printPrefix "System.Path.Internal:1158: "
+{-# LINE 1158 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1158 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1159: "
+{-# LINE 1159 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1159 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext"
+  )
+ DocTest.printPrefix "System.Path.Internal:1160: "
+{-# LINE 1160 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1160 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension (Path.replaceExtension x "ext") == ".ext"
+  )
+ DocTest.printPrefix "System.Path.Internal:1166: "
+{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+      Path.takeExtensions (Posix.relFile "file.tar.gz") == ".tar.gz"
+  )
+ DocTest.printPrefix "System.Path.Internal:1172: "
+{-# LINE 1172 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1172 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1173: "
+{-# LINE 1173 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1173 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1174: "
+{-# LINE 1174 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1174 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1175: "
+{-# LINE 1175 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1175 "src/System/Path/Internal.hs" #-}
+      \p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:1204: "
+{-# LINE 1204 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1204 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "abc/def" "abc/def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1205: "
+{-# LINE 1205 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1205 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "abc/def" "abc//def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1206: "
+{-# LINE 1206 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1206 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "/tmp/" "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1207: "
+{-# LINE 1207 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1207 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "/tmp" "//tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1208: "
+{-# LINE 1208 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1208 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "/tmp" "///tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1209: "
+{-# LINE 1209 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1209 "src/System/Path/Internal.hs" #-}
+      not $ Posix.equalFilePath "abc" "def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1210: "
+{-# LINE 1210 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1210 "src/System/Path/Internal.hs" #-}
+      not $ Posix.equalFilePath "/tmp" "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1211: "
+{-# LINE 1211 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1211 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "abc\\def" "abc\\def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1212: "
+{-# LINE 1212 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1212 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "abc\\def" "abc\\\\def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1213: "
+{-# LINE 1213 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1213 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "file" "File"
+  )
+ DocTest.printPrefix "System.Path.Internal:1214: "
+{-# LINE 1214 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1214 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "\\file" "\\\\file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1215: "
+{-# LINE 1215 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1215 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "\\file" "\\\\\\file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1216: "
+{-# LINE 1216 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1216 "src/System/Path/Internal.hs" #-}
+      not $ Windows.equalFilePath "abc" "def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1217: "
+{-# LINE 1217 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1217 "src/System/Path/Internal.hs" #-}
+      not $ Windows.equalFilePath "file" "dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1230: "
+{-# LINE 1230 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1230 "src/System/Path/Internal.hs" #-}
+      Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1231: "
+{-# LINE 1231 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1231 "src/System/Path/Internal.hs" #-}
+      Path.joinPath ["tmp","someDir","file.txt"] == Posix.relFile "tmp/someDir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1237: "
+{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+      Path.normalise (absFile "/tmp/fred/./jim/./file") == Posix.absFile "/tmp/fred/jim/file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1243: "
+{-# LINE 1243 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1243 "src/System/Path/Internal.hs" #-}
+      Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing)
+  )
+ DocTest.printPrefix "System.Path.Internal:1244: "
+{-# LINE 1244 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1244 "src/System/Path/Internal.hs" #-}
+      Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt")
+  )
+ DocTest.printPrefix "System.Path.Internal:1260: "
+{-# LINE 1260 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1260 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1261: "
+{-# LINE 1261 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1261 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1262: "
+{-# LINE 1262 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1262 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1263: "
+{-# LINE 1263 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1263 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1264: "
+{-# LINE 1264 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1264 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1291: "
+{-# LINE 1291 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1291 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1292: "
+{-# LINE 1292 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1292 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1293: "
+{-# LINE 1293 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1293 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1294: "
+{-# LINE 1294 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1294 "src/System/Path/Internal.hs" #-}
+      \base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+  )
+ DocTest.printPrefix "System.Path.Internal:1295: "
+{-# LINE 1295 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1295 "src/System/Path/Internal.hs" #-}
+      \base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+  )
+ DocTest.printPrefix "System.Path.Internal:1317: "
+{-# LINE 1317 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1317 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1318: "
+{-# LINE 1318 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1318 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1319: "
+{-# LINE 1319 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1319 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1404: "
+{-# LINE 1404 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1404 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Posix.absFile "/fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1405: "
+{-# LINE 1405 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1405 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Windows.absFile "\\fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1406: "
+{-# LINE 1406 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1406 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Windows.absFile "c:\\fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1407: "
+{-# LINE 1407 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1407 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Windows.absFile "c:fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1414: "
+{-# LINE 1414 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1414 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Posix.relFile "fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1415: "
+{-# LINE 1415 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1415 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Windows.relFile "fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1440: "
+{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> null (Path.takeExtension x) == not (Path.hasAnExtension x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1446: "
+{-# LINE 1446 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1446 "src/System/Path/Internal.hs" #-}
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.hs")
+  )
+ DocTest.printPrefix "System.Path.Internal:1447: "
+{-# LINE 1447 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1447 "src/System/Path/Internal.hs" #-}
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs")
+  )
+ DocTest.printPrefix "System.Path.Internal:1448: "
+{-# LINE 1448 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1448 "src/System/Path/Internal.hs" #-}
+      not $ Path.hasExtension ".hs" (Posix.relFile "MyCode.hs.bak")
+  )
+ DocTest.printPrefix "System.Path.Internal:1458: "
+{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+      Posix.extSeparator == '.'
+  )
+ DocTest.printPrefix "System.Path.Internal:1469: "
+{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+      \a -> Posix.isExtSeparator a == (a == Posix.extSeparator)
+  )
+ DocTest.printPrefix "System.Path.Internal:1475: "
+{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+      \a -> Posix.isSearchPathSeparator a == (a == Posix.searchPathSeparator)
+  )
+ DocTest.printPrefix "System.Path.Internal:1491: "
+{-# LINE 1491 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1491 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x"
+  )
+ DocTest.printPrefix "System.Path.Internal:1492: "
+{-# LINE 1492 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1492 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x"
+  )
+ DocTest.printPrefix "System.Path.Internal:1493: "
+{-# LINE 1493 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1493 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x"
+  )
+ DocTest.printPrefix "System.Path.Internal:1494: "
+{-# LINE 1494 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1494 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension Path.emptyFile "" == Posix.emptyFile
+  )
diff --git a/test/Test/Windows/System/Path/Internal.hs b/test/Test/Windows/System/Path/Internal.hs
--- a/test/Test/Windows/System/Path/Internal.hs
+++ b/test/Test/Windows/System/Path/Internal.hs
@@ -1,877 +1,1044 @@
 -- Do not edit! Automatically created with doctest-extract from src/System/Path/Internal.hs
-{-# LINE 196 "src/System/Path/Internal.hs" #-}
-
-{-# OPTIONS_GHC -XTypeFamilies #-}
-
-{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
-module Test.Windows.System.Path.Internal where
-
-import qualified System.Path.Windows as Default
-import Test.DocTest.Base
-import qualified Test.DocTest.Driver as DocTest
-
-{-# LINE 200 "src/System/Path/Internal.hs" #-}
-import     qualified System.Path.PartClass as Class
-import     qualified System.Path.Generic as Path
-import     qualified System.Path.Posix as Posix
-import     qualified System.Path.Windows as Windows
-import     System.Path.Generic ((</>), (<.>), relFile, relDir, absFile, absDir)
-import     Data.List (isSuffixOf, isPrefixOf)
-import     Data.Char (toLower)
-import     qualified Test.QuickCheck as QC
-forAllAbsRel     :: (Class.FileDir fd, QC.Testable prop) => (Default.AbsRel fd -> prop) -> QC.Property
-forAllAbsRel     = QC.forAll QC.arbitrary
-
-test :: DocTest.T ()
-test = do
- DocTest.printPrefix "System.Path.Internal:280: "
-{-# LINE 280 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 280 "src/System/Path/Internal.hs" #-}
-        (Path.pathMap (map toLower) (absDir "/tmp/Reports/SpreadSheets") == Posix.absDir "/tmp/reports/spreadsheets")
- DocTest.printPrefix "System.Path.Internal:353: "
-{-# LINE 353 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 353 "src/System/Path/Internal.hs" #-}
-   (Posix.rootDir </> relDir "bla" </> relFile "blub")
-  [ExpectedLine [LineChunk "rootDir </> relPath \"bla\" </> relPath \"blub\""]]
- DocTest.printPrefix "System.Path.Internal:355: "
-{-# LINE 355 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 355 "src/System/Path/Internal.hs" #-}
-   (Just (Posix.rootDir </> relDir "bla" </> relFile "blub"))
-  [ExpectedLine [LineChunk "Just (rootDir </> relPath \"bla\" </> relPath \"blub\")"]]
- DocTest.printPrefix "System.Path.Internal:357: "
-{-# LINE 357 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 357 "src/System/Path/Internal.hs" #-}
-   (Posix.currentDir </> relDir "bla" </> relFile "blub")
-  [ExpectedLine [LineChunk "currentDir </> relPath \"bla\" </> relPath \"blub\""]]
- DocTest.printPrefix "System.Path.Internal:359: "
-{-# LINE 359 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 359 "src/System/Path/Internal.hs" #-}
-   (Just (Posix.currentDir </> relDir "bla" </> relFile "blub"))
-  [ExpectedLine [LineChunk "Just (currentDir </> relPath \"bla\" </> relPath \"blub\")"]]
- DocTest.printPrefix "System.Path.Internal:361: "
-{-# LINE 361 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 361 "src/System/Path/Internal.hs" #-}
-   (Windows.absDir "c:" </> relDir "bla" </> relFile "blub")
-  [ExpectedLine [LineChunk "absDir \"c:\" </> relPath \"bla\" </> relPath \"blub\""]]
- DocTest.printPrefix "System.Path.Internal:363: "
-{-# LINE 363 "src/System/Path/Internal.hs" #-}
- DocTest.example
-{-# LINE 363 "src/System/Path/Internal.hs" #-}
-   (Just (Windows.absDir "c:\\" </> relDir "bla" </> relFile "blub"))
-  [ExpectedLine [LineChunk "Just (absDir \"c:\\\\\" </> relPath \"bla\" </> relPath \"blub\")"]]
- DocTest.printPrefix "System.Path.Internal:475: "
-{-# LINE 475 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 475 "src/System/Path/Internal.hs" #-}
-        (\p -> Path.asPath (Path.toString p) == (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:557: "
-{-# LINE 557 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 557 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsDir) == Just "/")
- DocTest.printPrefix "System.Path.Internal:558: "
-{-# LINE 558 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 558 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:559: "
-{-# LINE 559 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 559 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:560: "
-{-# LINE 560 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 560 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:561: "
-{-# LINE 561 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 561 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:562: "
-{-# LINE 562 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 562 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsFile) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:563: "
-{-# LINE 563 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 563 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:564: "
-{-# LINE 564 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 564 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:565: "
-{-# LINE 565 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 565 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:566: "
-{-# LINE 566 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 566 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:567: "
-{-# LINE 567 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 567 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:568: "
-{-# LINE 568 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 568 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:569: "
-{-# LINE 569 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 569 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsRelFileDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:570: "
-{-# LINE 570 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 570 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsRelFileDir) == Just "/tmp")
- DocTest.printPrefix "System.Path.Internal:571: "
-{-# LINE 571 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 571 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.RelFile) == Just "file.txt")
- DocTest.printPrefix "System.Path.Internal:572: "
-{-# LINE 572 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 572 "src/System/Path/Internal.hs" #-}
-        (fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.AbsFile) == Nothing)
- DocTest.printPrefix "System.Path.Internal:573: "
-{-# LINE 573 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 573 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.AbsDir) == Just "\\tmp")
- DocTest.printPrefix "System.Path.Internal:574: "
-{-# LINE 574 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 574 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.AbsDir) == Just "a:\\tmp")
- DocTest.printPrefix "System.Path.Internal:575: "
-{-# LINE 575 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 575 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.AbsDir) == Just "a:tmp")
- DocTest.printPrefix "System.Path.Internal:576: "
-{-# LINE 576 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 576 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:\\" :: Maybe Windows.AbsDir) == Just "a:\\")
- DocTest.printPrefix "System.Path.Internal:577: "
-{-# LINE 577 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 577 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:" :: Maybe Windows.AbsDir) == Just "a:")
- DocTest.printPrefix "System.Path.Internal:578: "
-{-# LINE 578 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 578 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.RelDir) == Just "tmp")
- DocTest.printPrefix "System.Path.Internal:579: "
-{-# LINE 579 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 579 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:580: "
-{-# LINE 580 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 580 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:581: "
-{-# LINE 581 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 581 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.RelDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:582: "
-{-# LINE 582 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 582 "src/System/Path/Internal.hs" #-}
-        (fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.AbsDir) == Nothing)
- DocTest.printPrefix "System.Path.Internal:631: "
-{-# LINE 631 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 631 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relFile "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:632: "
-{-# LINE 632 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 632 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relFile "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:638: "
-{-# LINE 638 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 638 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir ".") == ".")
- DocTest.printPrefix "System.Path.Internal:639: "
-{-# LINE 639 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 639 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:640: "
-{-# LINE 640 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 640 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:646: "
-{-# LINE 646 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 646 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absFile "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:647: "
-{-# LINE 647 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 647 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absFile "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:653: "
-{-# LINE 653 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 653 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:654: "
-{-# LINE 654 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 654 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:749: "
-{-# LINE 749 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 749 "src/System/Path/Internal.hs" #-}
-        (Posix.asPath "/tmp" == Posix.absDir "/tmp")
- DocTest.printPrefix "System.Path.Internal:750: "
-{-# LINE 750 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 750 "src/System/Path/Internal.hs" #-}
-        (Posix.asPath "file.txt" == Posix.relFile "file.txt")
- DocTest.printPrefix "System.Path.Internal:751: "
-{-# LINE 751 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 751 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Posix.asAbsDir "/tmp"))
- DocTest.printPrefix "System.Path.Internal:752: "
-{-# LINE 752 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 752 "src/System/Path/Internal.hs" #-}
-        (Path.isRelative (Posix.asRelDir "/tmp"))
- DocTest.printPrefix "System.Path.Internal:753: "
-{-# LINE 753 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 753 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asPath "/tmp" :: Posix.AbsDir) == "/tmp")
- DocTest.printPrefix "System.Path.Internal:754: "
-{-# LINE 754 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 754 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asPath "/tmp" :: Posix.RelDir) == "tmp")
- DocTest.printPrefix "System.Path.Internal:755: "
-{-# LINE 755 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 755 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "\\tmp" :: Windows.AbsDir) == "\\tmp")
- DocTest.printPrefix "System.Path.Internal:756: "
-{-# LINE 756 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 756 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "a:\\tmp" :: Windows.AbsDir) == "a:\\tmp")
- DocTest.printPrefix "System.Path.Internal:757: "
-{-# LINE 757 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 757 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "a:tmp" :: Windows.AbsDir) == "a:tmp")
- DocTest.printPrefix "System.Path.Internal:758: "
-{-# LINE 758 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 758 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.asPath "tmp" :: Windows.RelDir) == "tmp")
- DocTest.printPrefix "System.Path.Internal:766: "
-{-# LINE 766 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 766 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:767: "
-{-# LINE 767 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 767 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "/file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:768: "
-{-# LINE 768 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 768 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:769: "
-{-# LINE 769 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 769 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelFile "/tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:775: "
-{-# LINE 775 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 775 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir ".") == ".")
- DocTest.printPrefix "System.Path.Internal:776: "
-{-# LINE 776 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 776 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:777: "
-{-# LINE 777 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 777 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "/file.txt") == "file.txt")
- DocTest.printPrefix "System.Path.Internal:778: "
-{-# LINE 778 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 778 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:779: "
-{-# LINE 779 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 779 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asRelDir "/tmp") == "tmp")
- DocTest.printPrefix "System.Path.Internal:785: "
-{-# LINE 785 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 785 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsFile "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:786: "
-{-# LINE 786 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 786 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsFile "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:792: "
-{-# LINE 792 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 792 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsDir "/file.txt") == "/file.txt")
- DocTest.printPrefix "System.Path.Internal:793: "
-{-# LINE 793 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 793 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.asAbsDir "/tmp") == "/tmp")
- DocTest.printPrefix "System.Path.Internal:832: "
-{-# LINE 832 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 832 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "/tmp" == Left (Posix.absDir "/tmp"))
- DocTest.printPrefix "System.Path.Internal:833: "
-{-# LINE 833 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 833 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel  "tmp" == Right (Posix.relDir "tmp"))
- DocTest.printPrefix "System.Path.Internal:834: "
-{-# LINE 834 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 834 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "\\tmp" == Left (Windows.absDir "\\tmp"))
- DocTest.printPrefix "System.Path.Internal:835: "
-{-# LINE 835 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 835 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "d:\\tmp" == Left (Windows.absDir "d:\\tmp"))
- DocTest.printPrefix "System.Path.Internal:836: "
-{-# LINE 836 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 836 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "d:tmp" == Left (Windows.absDir "d:tmp"))
- DocTest.printPrefix "System.Path.Internal:837: "
-{-# LINE 837 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 837 "src/System/Path/Internal.hs" #-}
-        (Path.mkPathAbsOrRel "tmp" == Right (Windows.relDir "tmp"))
- DocTest.printPrefix "System.Path.Internal:866: "
-{-# LINE 866 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 866 "src/System/Path/Internal.hs" #-}
-        (Path.mkAbsPath (absDir "/tmp") "foo.txt" == Posix.absFile "/tmp/foo.txt")
- DocTest.printPrefix "System.Path.Internal:867: "
-{-# LINE 867 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 867 "src/System/Path/Internal.hs" #-}
-        (Path.mkAbsPath (absDir "/tmp") "/etc/foo.txt" == Posix.absFile "/etc/foo.txt")
- DocTest.printPrefix "System.Path.Internal:1007: "
-{-# LINE 1007 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1007 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt")
- DocTest.printPrefix "System.Path.Internal:1008: "
-{-# LINE 1008 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1008 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1009: "
-{-# LINE 1009 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1009 "src/System/Path/Internal.hs" #-}
-        (Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1010: "
-{-# LINE 1010 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1010 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1011: "
-{-# LINE 1011 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1011 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1012: "
-{-# LINE 1012 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1012 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1013: "
-{-# LINE 1013 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1013 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1014: "
-{-# LINE 1014 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1014 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1015: "
-{-# LINE 1015 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1015 "src/System/Path/Internal.hs" #-}
-        (Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt")
- DocTest.printPrefix "System.Path.Internal:1042: "
-{-# LINE 1042 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1042 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib")
- DocTest.printPrefix "System.Path.Internal:1043: "
-{-# LINE 1043 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1043 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib")
- DocTest.printPrefix "System.Path.Internal:1044: "
-{-# LINE 1044 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1044 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib")
- DocTest.printPrefix "System.Path.Internal:1045: "
-{-# LINE 1045 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1045 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib")
- DocTest.printPrefix "System.Path.Internal:1046: "
-{-# LINE 1046 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1046 "src/System/Path/Internal.hs" #-}
-        (Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib")
- DocTest.printPrefix "System.Path.Internal:1047: "
-{-# LINE 1047 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1047 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (Path.addExtension Path.emptyFile "ext") == Posix.relFile ".ext")
- DocTest.printPrefix "System.Path.Internal:1054: "
-{-# LINE 1054 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1054 "src/System/Path/Internal.hs" #-}
-        (\p -> Path.combine Path.currentDir p == (p::Default.RelDir))
- DocTest.printPrefix "System.Path.Internal:1061: "
-{-# LINE 1061 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1061 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.dropExtension x == fst (Path.splitExtension x))
- DocTest.printPrefix "System.Path.Internal:1067: "
-{-# LINE 1067 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1067 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> not $ Path.hasAnExtension (Path.dropExtensions x))
- DocTest.printPrefix "System.Path.Internal:1078: "
-{-# LINE 1078 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1078 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob")
- DocTest.printPrefix "System.Path.Internal:1079: "
-{-# LINE 1079 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1079 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob")
- DocTest.printPrefix "System.Path.Internal:1080: "
-{-# LINE 1080 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1080 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob")
- DocTest.printPrefix "System.Path.Internal:1081: "
-{-# LINE 1081 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1081 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file")
- DocTest.printPrefix "System.Path.Internal:1082: "
-{-# LINE 1082 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1082 "src/System/Path/Internal.hs" #-}
-        (Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt")
- DocTest.printPrefix "System.Path.Internal:1099: "
-{-# LINE 1099 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1099 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x)
- DocTest.printPrefix "System.Path.Internal:1100: "
-{-# LINE 1100 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1100 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x)
- DocTest.printPrefix "System.Path.Internal:1101: "
-{-# LINE 1101 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1101 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt"))
- DocTest.printPrefix "System.Path.Internal:1102: "
-{-# LINE 1102 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1102 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc"))
- DocTest.printPrefix "System.Path.Internal:1103: "
-{-# LINE 1103 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1103 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file") == (Posix.relFile "file",""))
- DocTest.printPrefix "System.Path.Internal:1104: "
-{-# LINE 1104 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1104 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt"))
- DocTest.printPrefix "System.Path.Internal:1105: "
-{-# LINE 1105 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1105 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris",""))
- DocTest.printPrefix "System.Path.Internal:1106: "
-{-# LINE 1106 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1106 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext"))
- DocTest.printPrefix "System.Path.Internal:1107: "
-{-# LINE 1107 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1107 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred"))
- DocTest.printPrefix "System.Path.Internal:1113: "
-{-# LINE 1113 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1113 "src/System/Path/Internal.hs" #-}
-        (Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz"))
- DocTest.printPrefix "System.Path.Internal:1114: "
-{-# LINE 1114 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1114 "src/System/Path/Internal.hs" #-}
-        (\p -> uncurry (<.>) (Path.splitExtension p) == (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:1118: "
-{-# LINE 1118 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1118 "src/System/Path/Internal.hs" #-}
-          (\p -> uncurry Path.combine (Path.splitFileName p) == (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:1134: "
-{-# LINE 1134 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1134 "src/System/Path/Internal.hs" #-}
-        (Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile")
- DocTest.printPrefix "System.Path.Internal:1135: "
-{-# LINE 1135 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1135 "src/System/Path/Internal.hs" #-}
-        (Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile")
- DocTest.printPrefix "System.Path.Internal:1136: "
-{-# LINE 1136 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1136 "src/System/Path/Internal.hs" #-}
-        (Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile")
- DocTest.printPrefix "System.Path.Internal:1155: "
-{-# LINE 1155 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1155 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x))
- DocTest.printPrefix "System.Path.Internal:1156: "
-{-# LINE 1156 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1156 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext")
- DocTest.printPrefix "System.Path.Internal:1157: "
-{-# LINE 1157 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1157 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> Path.takeExtension (Path.replaceExtension x "ext") == ".ext")
- DocTest.printPrefix "System.Path.Internal:1163: "
-{-# LINE 1163 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1163 "src/System/Path/Internal.hs" #-}
-        (Path.takeExtensions (Posix.relFile "file.tar.gz") == ".tar.gz")
- DocTest.printPrefix "System.Path.Internal:1169: "
-{-# LINE 1169 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1169 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt")
- DocTest.printPrefix "System.Path.Internal:1170: "
-{-# LINE 1170 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1170 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt")
- DocTest.printPrefix "System.Path.Internal:1171: "
-{-# LINE 1171 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1171 "src/System/Path/Internal.hs" #-}
-        (Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt")
- DocTest.printPrefix "System.Path.Internal:1172: "
-{-# LINE 1172 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1172 "src/System/Path/Internal.hs" #-}
-        (\p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile))
- DocTest.printPrefix "System.Path.Internal:1201: "
-{-# LINE 1201 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1201 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "abc/def" "abc/def")
- DocTest.printPrefix "System.Path.Internal:1202: "
-{-# LINE 1202 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1202 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "abc/def" "abc//def")
- DocTest.printPrefix "System.Path.Internal:1203: "
-{-# LINE 1203 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1203 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "/tmp/" "/tmp")
- DocTest.printPrefix "System.Path.Internal:1204: "
-{-# LINE 1204 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1204 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "/tmp" "//tmp")
- DocTest.printPrefix "System.Path.Internal:1205: "
-{-# LINE 1205 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1205 "src/System/Path/Internal.hs" #-}
-        (Posix.equalFilePath "/tmp" "///tmp")
- DocTest.printPrefix "System.Path.Internal:1206: "
-{-# LINE 1206 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1206 "src/System/Path/Internal.hs" #-}
-        (not $ Posix.equalFilePath "abc" "def")
- DocTest.printPrefix "System.Path.Internal:1207: "
-{-# LINE 1207 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1207 "src/System/Path/Internal.hs" #-}
-        (not $ Posix.equalFilePath "/tmp" "tmp")
- DocTest.printPrefix "System.Path.Internal:1208: "
-{-# LINE 1208 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1208 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "abc\\def" "abc\\def")
- DocTest.printPrefix "System.Path.Internal:1209: "
-{-# LINE 1209 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1209 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "abc\\def" "abc\\\\def")
- DocTest.printPrefix "System.Path.Internal:1210: "
-{-# LINE 1210 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1210 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "file" "File")
- DocTest.printPrefix "System.Path.Internal:1211: "
-{-# LINE 1211 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1211 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "\\file" "\\\\file")
- DocTest.printPrefix "System.Path.Internal:1212: "
-{-# LINE 1212 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1212 "src/System/Path/Internal.hs" #-}
-        (Windows.equalFilePath "\\file" "\\\\\\file")
- DocTest.printPrefix "System.Path.Internal:1213: "
-{-# LINE 1213 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1213 "src/System/Path/Internal.hs" #-}
-        (not $ Windows.equalFilePath "abc" "def")
- DocTest.printPrefix "System.Path.Internal:1214: "
-{-# LINE 1214 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1214 "src/System/Path/Internal.hs" #-}
-        (not $ Windows.equalFilePath "file" "dir")
- DocTest.printPrefix "System.Path.Internal:1227: "
-{-# LINE 1227 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1227 "src/System/Path/Internal.hs" #-}
-        (Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir")
- DocTest.printPrefix "System.Path.Internal:1228: "
-{-# LINE 1228 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1228 "src/System/Path/Internal.hs" #-}
-        (Path.joinPath ["tmp","someDir","file.txt"] == Posix.relFile "tmp/someDir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1234: "
-{-# LINE 1234 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1234 "src/System/Path/Internal.hs" #-}
-        (Path.normalise (absFile "/tmp/fred/./jim/./file") == Posix.absFile "/tmp/fred/jim/file")
- DocTest.printPrefix "System.Path.Internal:1240: "
-{-# LINE 1240 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1240 "src/System/Path/Internal.hs" #-}
-        (Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing))
- DocTest.printPrefix "System.Path.Internal:1241: "
-{-# LINE 1241 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1241 "src/System/Path/Internal.hs" #-}
-        (Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt"))
- DocTest.printPrefix "System.Path.Internal:1257: "
-{-# LINE 1257 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1257 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1258: "
-{-# LINE 1258 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1258 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir")
- DocTest.printPrefix "System.Path.Internal:1259: "
-{-# LINE 1259 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1259 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt")
- DocTest.printPrefix "System.Path.Internal:1260: "
-{-# LINE 1260 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1260 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir")
- DocTest.printPrefix "System.Path.Internal:1261: "
-{-# LINE 1261 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1261 "src/System/Path/Internal.hs" #-}
-        (Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir")
- DocTest.printPrefix "System.Path.Internal:1288: "
-{-# LINE 1288 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1288 "src/System/Path/Internal.hs" #-}
-        (Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt")
- DocTest.printPrefix "System.Path.Internal:1289: "
-{-# LINE 1289 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1289 "src/System/Path/Internal.hs" #-}
-        (Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1290: "
-{-# LINE 1290 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1290 "src/System/Path/Internal.hs" #-}
-        (Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir")
- DocTest.printPrefix "System.Path.Internal:1291: "
-{-# LINE 1291 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1291 "src/System/Path/Internal.hs" #-}
-        (\base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p)))
- DocTest.printPrefix "System.Path.Internal:1292: "
-{-# LINE 1292 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1292 "src/System/Path/Internal.hs" #-}
-        (\base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p)))
- DocTest.printPrefix "System.Path.Internal:1314: "
-{-# LINE 1314 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1314 "src/System/Path/Internal.hs" #-}
-        (Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt")
- DocTest.printPrefix "System.Path.Internal:1315: "
-{-# LINE 1315 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1315 "src/System/Path/Internal.hs" #-}
-        (Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1316: "
-{-# LINE 1316 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1316 "src/System/Path/Internal.hs" #-}
-        (Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt")
- DocTest.printPrefix "System.Path.Internal:1401: "
-{-# LINE 1401 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1401 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Posix.absFile "/fred"))
- DocTest.printPrefix "System.Path.Internal:1402: "
-{-# LINE 1402 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1402 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Windows.absFile "\\fred"))
- DocTest.printPrefix "System.Path.Internal:1403: "
-{-# LINE 1403 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1403 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Windows.absFile "c:\\fred"))
- DocTest.printPrefix "System.Path.Internal:1404: "
-{-# LINE 1404 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1404 "src/System/Path/Internal.hs" #-}
-        (Path.isAbsolute (Windows.absFile "c:fred"))
- DocTest.printPrefix "System.Path.Internal:1411: "
-{-# LINE 1411 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1411 "src/System/Path/Internal.hs" #-}
-        (Path.isRelative (Posix.relFile "fred"))
- DocTest.printPrefix "System.Path.Internal:1412: "
-{-# LINE 1412 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1412 "src/System/Path/Internal.hs" #-}
-        (Path.isRelative (Windows.relFile "fred"))
- DocTest.printPrefix "System.Path.Internal:1437: "
-{-# LINE 1437 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1437 "src/System/Path/Internal.hs" #-}
-        (forAllAbsRel $ \x -> null (Path.takeExtension x) == not (Path.hasAnExtension x))
- DocTest.printPrefix "System.Path.Internal:1443: "
-{-# LINE 1443 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1443 "src/System/Path/Internal.hs" #-}
-        (Path.hasExtension ".hs" (Posix.relFile "MyCode.hs"))
- DocTest.printPrefix "System.Path.Internal:1444: "
-{-# LINE 1444 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1444 "src/System/Path/Internal.hs" #-}
-        (Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs"))
- DocTest.printPrefix "System.Path.Internal:1445: "
-{-# LINE 1445 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1445 "src/System/Path/Internal.hs" #-}
-        (not $ Path.hasExtension ".hs" (Posix.relFile "MyCode.hs.bak"))
- DocTest.printPrefix "System.Path.Internal:1455: "
-{-# LINE 1455 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1455 "src/System/Path/Internal.hs" #-}
-        (Posix.extSeparator == '.')
- DocTest.printPrefix "System.Path.Internal:1466: "
-{-# LINE 1466 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1466 "src/System/Path/Internal.hs" #-}
-        (\a -> Posix.isExtSeparator a == (a == Posix.extSeparator))
- DocTest.printPrefix "System.Path.Internal:1472: "
-{-# LINE 1472 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1472 "src/System/Path/Internal.hs" #-}
-        (\a -> Posix.isSearchPathSeparator a == (a == Posix.searchPathSeparator))
- DocTest.printPrefix "System.Path.Internal:1488: "
-{-# LINE 1488 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1488 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x")
- DocTest.printPrefix "System.Path.Internal:1489: "
-{-# LINE 1489 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1489 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x")
- DocTest.printPrefix "System.Path.Internal:1490: "
-{-# LINE 1490 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1490 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x")
- DocTest.printPrefix "System.Path.Internal:1491: "
-{-# LINE 1491 "src/System/Path/Internal.hs" #-}
- DocTest.property
-{-# LINE 1491 "src/System/Path/Internal.hs" #-}
-        (Path.genericAddExtension Path.emptyFile "" == Posix.emptyFile)
+{-# LINE 199 "src/System/Path/Internal.hs" #-}
+
+{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
+module Test.Windows.System.Path.Internal where
+
+import qualified System.Path.Windows as Default
+import Test.DocTest.Base
+import qualified Test.DocTest.Driver as DocTest
+
+{-# LINE 201 "src/System/Path/Internal.hs" #-}
+import     qualified System.Path.PartClass as Class
+import     qualified System.Path.Generic as Path
+import     qualified System.Path.Posix as Posix
+import     qualified System.Path.Windows as Windows
+import     System.Path.Generic ((</>), (<.>), relFile, relDir, absFile, absDir)
+import     Data.List (isSuffixOf, isPrefixOf)
+import     Data.Char (toLower)
+import     qualified Test.QuickCheck as QC
+forAllAbsRel     :: (Class.FileDir fd, QC.Testable prop) => (Default.AbsRel fd -> prop) -> QC.Property
+forAllAbsRel     = QC.forAll QC.arbitrary
+
+test :: DocTest.T ()
+test = do
+ DocTest.printPrefix "System.Path.Internal:281: "
+{-# LINE 281 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 281 "src/System/Path/Internal.hs" #-}
+      Path.pathMap (map toLower) (absDir "/tmp/Reports/SpreadSheets") == Posix.absDir "/tmp/reports/spreadsheets"
+  )
+ DocTest.printPrefix "System.Path.Internal:354: "
+{-# LINE 354 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 354 "src/System/Path/Internal.hs" #-}
+    Posix.rootDir </> relDir "bla" </> relFile "blub"
+  )
+  [ExpectedLine [LineChunk "rootDir </> relPath \"bla\" </> relPath \"blub\""]]
+ DocTest.printPrefix "System.Path.Internal:356: "
+{-# LINE 356 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 356 "src/System/Path/Internal.hs" #-}
+    Just (Posix.rootDir </> relDir "bla" </> relFile "blub")
+  )
+  [ExpectedLine [LineChunk "Just (rootDir </> relPath \"bla\" </> relPath \"blub\")"]]
+ DocTest.printPrefix "System.Path.Internal:358: "
+{-# LINE 358 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 358 "src/System/Path/Internal.hs" #-}
+    Posix.currentDir </> relDir "bla" </> relFile "blub"
+  )
+  [ExpectedLine [LineChunk "currentDir </> relPath \"bla\" </> relPath \"blub\""]]
+ DocTest.printPrefix "System.Path.Internal:360: "
+{-# LINE 360 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 360 "src/System/Path/Internal.hs" #-}
+    Just (Posix.currentDir </> relDir "bla" </> relFile "blub")
+  )
+  [ExpectedLine [LineChunk "Just (currentDir </> relPath \"bla\" </> relPath \"blub\")"]]
+ DocTest.printPrefix "System.Path.Internal:362: "
+{-# LINE 362 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 362 "src/System/Path/Internal.hs" #-}
+    Windows.absDir "c:" </> relDir "bla" </> relFile "blub"
+  )
+  [ExpectedLine [LineChunk "absDir \"c:\" </> relPath \"bla\" </> relPath \"blub\""]]
+ DocTest.printPrefix "System.Path.Internal:364: "
+{-# LINE 364 "src/System/Path/Internal.hs" #-}
+ DocTest.example(
+{-# LINE 364 "src/System/Path/Internal.hs" #-}
+    Just (Windows.absDir "c:\\" </> relDir "bla" </> relFile "blub")
+  )
+  [ExpectedLine [LineChunk "Just (absDir \"c:\\\\\" </> relPath \"bla\" </> relPath \"blub\")"]]
+ DocTest.printPrefix "System.Path.Internal:476: "
+{-# LINE 476 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 476 "src/System/Path/Internal.hs" #-}
+      \p -> Path.asPath (Path.toString p) == (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:558: "
+{-# LINE 558 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 558 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsDir) == Just "/"
+  )
+ DocTest.printPrefix "System.Path.Internal:559: "
+{-# LINE 559 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 559 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.AbsFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:560: "
+{-# LINE 560 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 560 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:561: "
+{-# LINE 561 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 561 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/" :: Maybe Posix.RelFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:562: "
+{-# LINE 562 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 562 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:563: "
+{-# LINE 563 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 563 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsFile) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:564: "
+{-# LINE 564 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 564 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:565: "
+{-# LINE 565 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 565 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.RelFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:566: "
+{-# LINE 566 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 566 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:567: "
+{-# LINE 567 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 567 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:568: "
+{-# LINE 568 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 568 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:569: "
+{-# LINE 569 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 569 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.RelFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:570: "
+{-# LINE 570 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 570 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp" :: Maybe Posix.AbsRelFileDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:571: "
+{-# LINE 571 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 571 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "/tmp/" :: Maybe Posix.AbsRelFileDir) == Just "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:572: "
+{-# LINE 572 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 572 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.RelFile) == Just "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:573: "
+{-# LINE 573 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 573 "src/System/Path/Internal.hs" #-}
+      fmap Posix.toString (Posix.maybePath "file.txt" :: Maybe Posix.AbsFile) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:574: "
+{-# LINE 574 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 574 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.AbsDir) == Just "\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:575: "
+{-# LINE 575 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 575 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.AbsDir) == Just "a:\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:576: "
+{-# LINE 576 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 576 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.AbsDir) == Just "a:tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:577: "
+{-# LINE 577 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 577 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:\\" :: Maybe Windows.AbsDir) == Just "a:\\"
+  )
+ DocTest.printPrefix "System.Path.Internal:578: "
+{-# LINE 578 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 578 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:" :: Maybe Windows.AbsDir) == Just "a:"
+  )
+ DocTest.printPrefix "System.Path.Internal:579: "
+{-# LINE 579 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 579 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.RelDir) == Just "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:580: "
+{-# LINE 580 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 580 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "\\tmp" :: Maybe Windows.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:581: "
+{-# LINE 581 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 581 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:\\tmp" :: Maybe Windows.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:582: "
+{-# LINE 582 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 582 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "a:tmp" :: Maybe Windows.RelDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:583: "
+{-# LINE 583 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 583 "src/System/Path/Internal.hs" #-}
+      fmap Windows.toString (Windows.maybePath "tmp" :: Maybe Windows.AbsDir) == Nothing
+  )
+ DocTest.printPrefix "System.Path.Internal:632: "
+{-# LINE 632 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 632 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relFile "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:633: "
+{-# LINE 633 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 633 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relFile "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:639: "
+{-# LINE 639 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 639 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir ".") == "."
+  )
+ DocTest.printPrefix "System.Path.Internal:640: "
+{-# LINE 640 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 640 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:641: "
+{-# LINE 641 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 641 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:647: "
+{-# LINE 647 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 647 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absFile "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:648: "
+{-# LINE 648 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 648 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absFile "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:654: "
+{-# LINE 654 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 654 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:655: "
+{-# LINE 655 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 655 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:750: "
+{-# LINE 750 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 750 "src/System/Path/Internal.hs" #-}
+      Posix.asPath "/tmp" == Posix.absDir "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:751: "
+{-# LINE 751 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 751 "src/System/Path/Internal.hs" #-}
+      Posix.asPath "file.txt" == Posix.relFile "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:752: "
+{-# LINE 752 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 752 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Posix.asAbsDir "/tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:753: "
+{-# LINE 753 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 753 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Posix.asRelDir "/tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:754: "
+{-# LINE 754 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 754 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asPath "/tmp" :: Posix.AbsDir) == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:755: "
+{-# LINE 755 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 755 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asPath "/tmp" :: Posix.RelDir) == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:756: "
+{-# LINE 756 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 756 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "\\tmp" :: Windows.AbsDir) == "\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:757: "
+{-# LINE 757 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 757 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "a:\\tmp" :: Windows.AbsDir) == "a:\\tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:758: "
+{-# LINE 758 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 758 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "a:tmp" :: Windows.AbsDir) == "a:tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:759: "
+{-# LINE 759 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 759 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.asPath "tmp" :: Windows.RelDir) == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:767: "
+{-# LINE 767 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 767 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:768: "
+{-# LINE 768 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 768 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "/file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:769: "
+{-# LINE 769 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 769 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:770: "
+{-# LINE 770 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 770 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelFile "/tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:776: "
+{-# LINE 776 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 776 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir ".") == "."
+  )
+ DocTest.printPrefix "System.Path.Internal:777: "
+{-# LINE 777 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 777 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:778: "
+{-# LINE 778 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 778 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "/file.txt") == "file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:779: "
+{-# LINE 779 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 779 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:780: "
+{-# LINE 780 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 780 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asRelDir "/tmp") == "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:786: "
+{-# LINE 786 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 786 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsFile "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:787: "
+{-# LINE 787 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 787 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsFile "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:793: "
+{-# LINE 793 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 793 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsDir "/file.txt") == "/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:794: "
+{-# LINE 794 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 794 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.asAbsDir "/tmp") == "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:833: "
+{-# LINE 833 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 833 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "/tmp" == Left (Posix.absDir "/tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:834: "
+{-# LINE 834 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 834 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel  "tmp" == Right (Posix.relDir "tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:835: "
+{-# LINE 835 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 835 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "\\tmp" == Left (Windows.absDir "\\tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:836: "
+{-# LINE 836 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 836 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "d:\\tmp" == Left (Windows.absDir "d:\\tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:837: "
+{-# LINE 837 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 837 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "d:tmp" == Left (Windows.absDir "d:tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:838: "
+{-# LINE 838 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 838 "src/System/Path/Internal.hs" #-}
+      Path.mkPathAbsOrRel "tmp" == Right (Windows.relDir "tmp")
+  )
+ DocTest.printPrefix "System.Path.Internal:867: "
+{-# LINE 867 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 867 "src/System/Path/Internal.hs" #-}
+      Path.mkAbsPath (absDir "/tmp") "foo.txt" == Posix.absFile "/tmp/foo.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:868: "
+{-# LINE 868 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 868 "src/System/Path/Internal.hs" #-}
+      Path.mkAbsPath (absDir "/tmp") "/etc/foo.txt" == Posix.absFile "/etc/foo.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1010: "
+{-# LINE 1010 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1010 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1011: "
+{-# LINE 1011 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1011 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1012: "
+{-# LINE 1012 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1012 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1013: "
+{-# LINE 1013 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1013 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1014: "
+{-# LINE 1014 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1014 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1015: "
+{-# LINE 1015 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1015 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1016: "
+{-# LINE 1016 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1016 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1017: "
+{-# LINE 1017 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1017 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1018: "
+{-# LINE 1018 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1018 "src/System/Path/Internal.hs" #-}
+      Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1045: "
+{-# LINE 1045 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1045 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1046: "
+{-# LINE 1046 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1046 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1047: "
+{-# LINE 1047 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1047 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1048: "
+{-# LINE 1048 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1048 "src/System/Path/Internal.hs" #-}
+      Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1049: "
+{-# LINE 1049 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1049 "src/System/Path/Internal.hs" #-}
+      Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib"
+  )
+ DocTest.printPrefix "System.Path.Internal:1050: "
+{-# LINE 1050 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1050 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (Path.addExtension Path.emptyFile "ext") == Posix.relFile ".ext"
+  )
+ DocTest.printPrefix "System.Path.Internal:1057: "
+{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+      \p -> Path.combine Path.currentDir p == (p::Default.RelDir)
+  )
+ DocTest.printPrefix "System.Path.Internal:1064: "
+{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.dropExtension x == fst (Path.splitExtension x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1070: "
+{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> not $ Path.hasAnExtension (Path.dropExtensions x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1081: "
+{-# LINE 1081 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1081 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob"
+  )
+ DocTest.printPrefix "System.Path.Internal:1082: "
+{-# LINE 1082 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1082 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob"
+  )
+ DocTest.printPrefix "System.Path.Internal:1083: "
+{-# LINE 1083 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1083 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob"
+  )
+ DocTest.printPrefix "System.Path.Internal:1084: "
+{-# LINE 1084 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1084 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1085: "
+{-# LINE 1085 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1085 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1102: "
+{-# LINE 1102 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1102 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x
+  )
+ DocTest.printPrefix "System.Path.Internal:1103: "
+{-# LINE 1103 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1103 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x
+  )
+ DocTest.printPrefix "System.Path.Internal:1104: "
+{-# LINE 1104 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1104 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt")
+  )
+ DocTest.printPrefix "System.Path.Internal:1105: "
+{-# LINE 1105 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1105 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc")
+  )
+ DocTest.printPrefix "System.Path.Internal:1106: "
+{-# LINE 1106 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1106 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file") == (Posix.relFile "file","")
+  )
+ DocTest.printPrefix "System.Path.Internal:1107: "
+{-# LINE 1107 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1107 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt")
+  )
+ DocTest.printPrefix "System.Path.Internal:1108: "
+{-# LINE 1108 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1108 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris","")
+  )
+ DocTest.printPrefix "System.Path.Internal:1109: "
+{-# LINE 1109 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1109 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext")
+  )
+ DocTest.printPrefix "System.Path.Internal:1110: "
+{-# LINE 1110 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1110 "src/System/Path/Internal.hs" #-}
+      Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1116: "
+{-# LINE 1116 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1116 "src/System/Path/Internal.hs" #-}
+      Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz")
+  )
+ DocTest.printPrefix "System.Path.Internal:1117: "
+{-# LINE 1117 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1117 "src/System/Path/Internal.hs" #-}
+      \p -> uncurry (<.>) (Path.splitExtension p) == (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:1121: "
+{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+           \p -> uncurry Path.combine (Path.splitFileName p) == (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:1137: "
+{-# LINE 1137 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1137 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile"
+  )
+ DocTest.printPrefix "System.Path.Internal:1138: "
+{-# LINE 1138 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1138 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile"
+  )
+ DocTest.printPrefix "System.Path.Internal:1139: "
+{-# LINE 1139 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1139 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile"
+  )
+ DocTest.printPrefix "System.Path.Internal:1158: "
+{-# LINE 1158 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1158 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1159: "
+{-# LINE 1159 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1159 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext"
+  )
+ DocTest.printPrefix "System.Path.Internal:1160: "
+{-# LINE 1160 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1160 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension (Path.replaceExtension x "ext") == ".ext"
+  )
+ DocTest.printPrefix "System.Path.Internal:1166: "
+{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+      Path.takeExtensions (Posix.relFile "file.tar.gz") == ".tar.gz"
+  )
+ DocTest.printPrefix "System.Path.Internal:1172: "
+{-# LINE 1172 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1172 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1173: "
+{-# LINE 1173 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1173 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1174: "
+{-# LINE 1174 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1174 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1175: "
+{-# LINE 1175 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1175 "src/System/Path/Internal.hs" #-}
+      \p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile)
+  )
+ DocTest.printPrefix "System.Path.Internal:1204: "
+{-# LINE 1204 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1204 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "abc/def" "abc/def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1205: "
+{-# LINE 1205 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1205 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "abc/def" "abc//def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1206: "
+{-# LINE 1206 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1206 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "/tmp/" "/tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1207: "
+{-# LINE 1207 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1207 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "/tmp" "//tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1208: "
+{-# LINE 1208 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1208 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "/tmp" "///tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1209: "
+{-# LINE 1209 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1209 "src/System/Path/Internal.hs" #-}
+      not $ Posix.equalFilePath "abc" "def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1210: "
+{-# LINE 1210 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1210 "src/System/Path/Internal.hs" #-}
+      not $ Posix.equalFilePath "/tmp" "tmp"
+  )
+ DocTest.printPrefix "System.Path.Internal:1211: "
+{-# LINE 1211 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1211 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "abc\\def" "abc\\def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1212: "
+{-# LINE 1212 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1212 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "abc\\def" "abc\\\\def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1213: "
+{-# LINE 1213 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1213 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "file" "File"
+  )
+ DocTest.printPrefix "System.Path.Internal:1214: "
+{-# LINE 1214 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1214 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "\\file" "\\\\file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1215: "
+{-# LINE 1215 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1215 "src/System/Path/Internal.hs" #-}
+            Windows.equalFilePath "\\file" "\\\\\\file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1216: "
+{-# LINE 1216 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1216 "src/System/Path/Internal.hs" #-}
+      not $ Windows.equalFilePath "abc" "def"
+  )
+ DocTest.printPrefix "System.Path.Internal:1217: "
+{-# LINE 1217 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1217 "src/System/Path/Internal.hs" #-}
+      not $ Windows.equalFilePath "file" "dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1230: "
+{-# LINE 1230 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1230 "src/System/Path/Internal.hs" #-}
+      Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1231: "
+{-# LINE 1231 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1231 "src/System/Path/Internal.hs" #-}
+      Path.joinPath ["tmp","someDir","file.txt"] == Posix.relFile "tmp/someDir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1237: "
+{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+      Path.normalise (absFile "/tmp/fred/./jim/./file") == Posix.absFile "/tmp/fred/jim/file"
+  )
+ DocTest.printPrefix "System.Path.Internal:1243: "
+{-# LINE 1243 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1243 "src/System/Path/Internal.hs" #-}
+      Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing)
+  )
+ DocTest.printPrefix "System.Path.Internal:1244: "
+{-# LINE 1244 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1244 "src/System/Path/Internal.hs" #-}
+      Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt")
+  )
+ DocTest.printPrefix "System.Path.Internal:1260: "
+{-# LINE 1260 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1260 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1261: "
+{-# LINE 1261 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1261 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1262: "
+{-# LINE 1262 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1262 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1263: "
+{-# LINE 1263 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1263 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1264: "
+{-# LINE 1264 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1264 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1291: "
+{-# LINE 1291 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1291 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1292: "
+{-# LINE 1292 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1292 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1293: "
+{-# LINE 1293 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1293 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir"
+  )
+ DocTest.printPrefix "System.Path.Internal:1294: "
+{-# LINE 1294 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1294 "src/System/Path/Internal.hs" #-}
+      \base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+  )
+ DocTest.printPrefix "System.Path.Internal:1295: "
+{-# LINE 1295 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1295 "src/System/Path/Internal.hs" #-}
+      \base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+  )
+ DocTest.printPrefix "System.Path.Internal:1317: "
+{-# LINE 1317 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1317 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1318: "
+{-# LINE 1318 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1318 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1319: "
+{-# LINE 1319 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1319 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt"
+  )
+ DocTest.printPrefix "System.Path.Internal:1404: "
+{-# LINE 1404 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1404 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Posix.absFile "/fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1405: "
+{-# LINE 1405 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1405 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Windows.absFile "\\fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1406: "
+{-# LINE 1406 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1406 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Windows.absFile "c:\\fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1407: "
+{-# LINE 1407 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1407 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Windows.absFile "c:fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1414: "
+{-# LINE 1414 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1414 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Posix.relFile "fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1415: "
+{-# LINE 1415 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1415 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Windows.relFile "fred")
+  )
+ DocTest.printPrefix "System.Path.Internal:1440: "
+{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> null (Path.takeExtension x) == not (Path.hasAnExtension x)
+  )
+ DocTest.printPrefix "System.Path.Internal:1446: "
+{-# LINE 1446 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1446 "src/System/Path/Internal.hs" #-}
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.hs")
+  )
+ DocTest.printPrefix "System.Path.Internal:1447: "
+{-# LINE 1447 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1447 "src/System/Path/Internal.hs" #-}
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs")
+  )
+ DocTest.printPrefix "System.Path.Internal:1448: "
+{-# LINE 1448 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1448 "src/System/Path/Internal.hs" #-}
+      not $ Path.hasExtension ".hs" (Posix.relFile "MyCode.hs.bak")
+  )
+ DocTest.printPrefix "System.Path.Internal:1458: "
+{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+      Posix.extSeparator == '.'
+  )
+ DocTest.printPrefix "System.Path.Internal:1469: "
+{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+      \a -> Posix.isExtSeparator a == (a == Posix.extSeparator)
+  )
+ DocTest.printPrefix "System.Path.Internal:1475: "
+{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+      \a -> Posix.isSearchPathSeparator a == (a == Posix.searchPathSeparator)
+  )
+ DocTest.printPrefix "System.Path.Internal:1491: "
+{-# LINE 1491 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1491 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x"
+  )
+ DocTest.printPrefix "System.Path.Internal:1492: "
+{-# LINE 1492 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1492 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x"
+  )
+ DocTest.printPrefix "System.Path.Internal:1493: "
+{-# LINE 1493 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1493 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x"
+  )
+ DocTest.printPrefix "System.Path.Internal:1494: "
+{-# LINE 1494 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1494 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension Path.emptyFile "" == Posix.emptyFile
+  )
