packages feed

filepath-1.3.0.2: tests/FilePath_Test.hs

import AutoTest
import qualified System.FilePath.Windows as W
import qualified System.FilePath.Posix as P
main = do
 block1
 block2
 block3
 block4
 block5
 block6
 block7
 block8
 block9
 block10
 block11
 block12
block1 = do
 putStrLn "Test 1, from line 122"
 constTest (W.pathSeparator == '\\')
 putStrLn "Test 2, from line 123"
 constTest (P.pathSeparator == '/')
 putStrLn "Test 3, from line 124"
 constTest (W.isPathSeparator W.pathSeparator)
 putStrLn "Test 4, from line 124"
 constTest (P.isPathSeparator P.pathSeparator)
 putStrLn "Test 5, from line 130"
 constTest (W.pathSeparators == [ '\\' , '/' ])
 putStrLn "Test 6, from line 131"
 constTest (P.pathSeparators == [ '/' ])
 putStrLn "Test 7, from line 132"
 constTest (W.pathSeparator ` elem ` W.pathSeparators)
 putStrLn "Test 8, from line 132"
 constTest (P.pathSeparator ` elem ` P.pathSeparators)
 putStrLn "Test 9, from line 146"
 constTest (W.searchPathSeparator == ';')
 putStrLn "Test 10, from line 147"
 constTest (P.searchPathSeparator == ':')
 putStrLn "Test 11, from line 160"
 constTest (W.extSeparator == '.')
 putStrLn "Test 12, from line 160"
 constTest (P.extSeparator == '.')
 putStrLn "Test 13, from line 181"
 constTest (P.splitSearchPath "File1:File2:File3" == [ "File1" , "File2" , "File3" ])
 putStrLn "Test 14, from line 182"
 constTest (P.splitSearchPath "File1::File2:File3" == [ "File1" , "." , "File2" , "File3" ])
 putStrLn "Test 15, from line 183"
 constTest (W.splitSearchPath "File1;File2;File3" == [ "File1" , "File2" , "File3" ])
 putStrLn "Test 16, from line 184"
 constTest (W.splitSearchPath "File1;;File2;File3" == [ "File1" , "File2" , "File3" ])
 putStrLn "Test 17, from line 208"
 constTest (W.splitExtension "file.txt" == ( "file" , ".txt" ))
 putStrLn "Test 18, from line 208"
 constTest (P.splitExtension "file.txt" == ( "file" , ".txt" ))
 putStrLn "Test 19, from line 209"
 constTest (W.splitExtension "file" == ( "file" , "" ))
 putStrLn "Test 20, from line 209"
 constTest (P.splitExtension "file" == ( "file" , "" ))
 putStrLn "Test 21, from line 210"
 constTest (W.splitExtension "file/file.txt" == ( "file/file" , ".txt" ))
 putStrLn "Test 22, from line 210"
 constTest (P.splitExtension "file/file.txt" == ( "file/file" , ".txt" ))
 putStrLn "Test 23, from line 211"
 constTest (W.splitExtension "file.txt/boris" == ( "file.txt/boris" , "" ))
 putStrLn "Test 24, from line 211"
 constTest (P.splitExtension "file.txt/boris" == ( "file.txt/boris" , "" ))
 putStrLn "Test 25, from line 212"
 constTest (W.splitExtension "file.txt/boris.ext" == ( "file.txt/boris" , ".ext" ))
block2 = do
 putStrLn "Test 26, from line 212"
 constTest (P.splitExtension "file.txt/boris.ext" == ( "file.txt/boris" , ".ext" ))
 putStrLn "Test 27, from line 213"
 constTest (W.splitExtension "file/path.txt.bob.fred" == ( "file/path.txt.bob" , ".fred" ))
 putStrLn "Test 28, from line 213"
 constTest (P.splitExtension "file/path.txt.bob.fred" == ( "file/path.txt.bob" , ".fred" ))
 putStrLn "Test 29, from line 214"
 constTest (W.splitExtension "file/path.txt/" == ( "file/path.txt/" , "" ))
 putStrLn "Test 30, from line 214"
 constTest (P.splitExtension "file/path.txt/" == ( "file/path.txt/" , "" ))
 putStrLn "Test 31, from line 233"
 constTest (W.replaceExtension "file.txt" ".bob" == "file.bob")
 putStrLn "Test 32, from line 233"
 constTest (P.replaceExtension "file.txt" ".bob" == "file.bob")
 putStrLn "Test 33, from line 234"
 constTest (W.replaceExtension "file.txt" "bob" == "file.bob")
 putStrLn "Test 34, from line 234"
 constTest (P.replaceExtension "file.txt" "bob" == "file.bob")
 putStrLn "Test 35, from line 235"
 constTest (W.replaceExtension "file" ".bob" == "file.bob")
 putStrLn "Test 36, from line 235"
 constTest (P.replaceExtension "file" ".bob" == "file.bob")
 putStrLn "Test 37, from line 236"
 constTest (W.replaceExtension "file.txt" "" == "file")
 putStrLn "Test 38, from line 236"
 constTest (P.replaceExtension "file.txt" "" == "file")
 putStrLn "Test 39, from line 237"
 constTest (W.replaceExtension "file.fred.bob" "txt" == "file.fred.txt")
 putStrLn "Test 40, from line 237"
 constTest (P.replaceExtension "file.fred.bob" "txt" == "file.fred.txt")
 putStrLn "Test 41, from line 254"
 constTest (W.addExtension "file.txt" "bib" == "file.txt.bib")
 putStrLn "Test 42, from line 254"
 constTest (P.addExtension "file.txt" "bib" == "file.txt.bib")
 putStrLn "Test 43, from line 255"
 constTest (W.addExtension "file." ".bib" == "file..bib")
 putStrLn "Test 44, from line 255"
 constTest (P.addExtension "file." ".bib" == "file..bib")
 putStrLn "Test 45, from line 256"
 constTest (W.addExtension "file" ".bib" == "file.bib")
 putStrLn "Test 46, from line 256"
 constTest (P.addExtension "file" ".bib" == "file.bib")
 putStrLn "Test 47, from line 257"
 constTest (W.addExtension "/" "x" == "/.x")
 putStrLn "Test 48, from line 257"
 constTest (P.addExtension "/" "x" == "/.x")
 putStrLn "Test 49, from line 259"
 constTest (W.addExtension "\\\\share" ".txt" == "\\\\share\\.txt")
 putStrLn "Test 50, from line 280"
 constTest (W.splitExtensions "file.tar.gz" == ( "file" , ".tar.gz" ))
block3 = do
 putStrLn "Test 51, from line 280"
 constTest (P.splitExtensions "file.tar.gz" == ( "file" , ".tar.gz" ))
 putStrLn "Test 52, from line 295"
 constTest (W.takeExtensions "file.tar.gz" == ".tar.gz")
 putStrLn "Test 53, from line 295"
 constTest (P.takeExtensions "file.tar.gz" == ".tar.gz")
 putStrLn "Test 54, from line 314"
 constTest (W.splitDrive "file" == ( "" , "file" ))
 putStrLn "Test 55, from line 315"
 constTest (W.splitDrive "c:/file" == ( "c:/" , "file" ))
 putStrLn "Test 56, from line 316"
 constTest (W.splitDrive "c:\\file" == ( "c:\\" , "file" ))
 putStrLn "Test 57, from line 317"
 constTest (W.splitDrive "\\\\shared\\test" == ( "\\\\shared\\" , "test" ))
 putStrLn "Test 58, from line 318"
 constTest (W.splitDrive "\\\\shared" == ( "\\\\shared" , "" ))
 putStrLn "Test 59, from line 319"
 constTest (W.splitDrive "\\\\?\\UNC\\shared\\file" == ( "\\\\?\\UNC\\shared\\" , "file" ))
 putStrLn "Test 60, from line 320"
 constTest (W.splitDrive "\\\\?\\UNCshared\\file" == ( "\\\\?\\" , "UNCshared\\file" ))
 putStrLn "Test 61, from line 321"
 constTest (W.splitDrive "\\\\?\\d:\\file" == ( "\\\\?\\d:\\" , "file" ))
 putStrLn "Test 62, from line 322"
 constTest (W.splitDrive "/d" == ( "" , "/d" ))
 putStrLn "Test 63, from line 323"
 constTest (P.splitDrive "/test" == ( "/" , "test" ))
 putStrLn "Test 64, from line 324"
 constTest (P.splitDrive "//test" == ( "//" , "test" ))
 putStrLn "Test 65, from line 325"
 constTest (P.splitDrive "test/file" == ( "" , "test/file" ))
 putStrLn "Test 66, from line 326"
 constTest (P.splitDrive "file" == ( "" , "file" ))
 putStrLn "Test 67, from line 383"
 constTest (W.joinDrive "C:" "foo" == "C:foo")
 putStrLn "Test 68, from line 384"
 constTest (W.joinDrive "C:\\" "bar" == "C:\\bar")
 putStrLn "Test 69, from line 385"
 constTest (W.joinDrive "\\\\share" "foo" == "\\\\share\\foo")
 putStrLn "Test 70, from line 386"
 constTest (W.joinDrive "/:" "foo" == "/:\\foo")
 putStrLn "Test 71, from line 427"
 constTest (W.splitFileName "file/bob.txt" == ( "file/" , "bob.txt" ))
 putStrLn "Test 72, from line 427"
 constTest (P.splitFileName "file/bob.txt" == ( "file/" , "bob.txt" ))
 putStrLn "Test 73, from line 428"
 constTest (W.splitFileName "file/" == ( "file/" , "" ))
 putStrLn "Test 74, from line 428"
 constTest (P.splitFileName "file/" == ( "file/" , "" ))
 putStrLn "Test 75, from line 429"
 constTest (W.splitFileName "bob" == ( "./" , "bob" ))
block4 = do
 putStrLn "Test 76, from line 429"
 constTest (P.splitFileName "bob" == ( "./" , "bob" ))
 putStrLn "Test 77, from line 430"
 constTest (P.splitFileName "/" == ( "/" , "" ))
 putStrLn "Test 78, from line 431"
 constTest (W.splitFileName "c:" == ( "c:" , "" ))
 putStrLn "Test 79, from line 464"
 constTest (W.takeFileName "test/" == "")
 putStrLn "Test 80, from line 464"
 constTest (P.takeFileName "test/" == "")
 putStrLn "Test 81, from line 475"
 constTest (W.takeBaseName "file/test.txt" == "test")
 putStrLn "Test 82, from line 475"
 constTest (P.takeBaseName "file/test.txt" == "test")
 putStrLn "Test 83, from line 476"
 constTest (W.takeBaseName "dave.ext" == "dave")
 putStrLn "Test 84, from line 476"
 constTest (P.takeBaseName "dave.ext" == "dave")
 putStrLn "Test 85, from line 477"
 constTest (W.takeBaseName "" == "")
 putStrLn "Test 86, from line 477"
 constTest (P.takeBaseName "" == "")
 putStrLn "Test 87, from line 478"
 constTest (W.takeBaseName "test" == "test")
 putStrLn "Test 88, from line 478"
 constTest (P.takeBaseName "test" == "test")
 putStrLn "Test 89, from line 480"
 constTest (W.takeBaseName "file/file.tar.gz" == "file.tar")
 putStrLn "Test 90, from line 480"
 constTest (P.takeBaseName "file/file.tar.gz" == "file.tar")
 putStrLn "Test 91, from line 486"
 constTest (W.replaceBaseName "file/test.txt" "bob" == "file/bob.txt")
 putStrLn "Test 92, from line 486"
 constTest (P.replaceBaseName "file/test.txt" "bob" == "file/bob.txt")
 putStrLn "Test 93, from line 487"
 constTest (W.replaceBaseName "fred" "bill" == "bill")
 putStrLn "Test 94, from line 487"
 constTest (P.replaceBaseName "fred" "bill" == "bill")
 putStrLn "Test 95, from line 488"
 constTest (W.replaceBaseName "/dave/fred/bob.gz.tar" "new" == "/dave/fred/new.tar")
 putStrLn "Test 96, from line 488"
 constTest (P.replaceBaseName "/dave/fred/bob.gz.tar" "new" == "/dave/fred/new.tar")
 putStrLn "Test 97, from line 498"
 constTest (W.hasTrailingPathSeparator "test" == False)
 putStrLn "Test 98, from line 498"
 constTest (P.hasTrailingPathSeparator "test" == False)
 putStrLn "Test 99, from line 499"
 constTest (W.hasTrailingPathSeparator "test/" == True)
 putStrLn "Test 100, from line 499"
 constTest (P.hasTrailingPathSeparator "test/" == True)
block5 = do
 putStrLn "Test 101, from line 509"
 constTest (P.addTrailingPathSeparator "test/rest" == "test/rest/")
 putStrLn "Test 102, from line 516"
 constTest (W.dropTrailingPathSeparator "file/test/" == "file/test")
 putStrLn "Test 103, from line 516"
 constTest (P.dropTrailingPathSeparator "file/test/" == "file/test")
 putStrLn "Test 104, from line 518"
 constTest (P.dropTrailingPathSeparator "/" == "/")
 putStrLn "Test 105, from line 519"
 constTest (W.dropTrailingPathSeparator "\\" == "\\")
 putStrLn "Test 106, from line 531"
 constTest (W.takeDirectory "foo" == ".")
 putStrLn "Test 107, from line 531"
 constTest (P.takeDirectory "foo" == ".")
 putStrLn "Test 108, from line 532"
 constTest (W.takeDirectory "/foo/bar/baz" == "/foo/bar")
 putStrLn "Test 109, from line 532"
 constTest (P.takeDirectory "/foo/bar/baz" == "/foo/bar")
 putStrLn "Test 110, from line 533"
 constTest (W.takeDirectory "/foo/bar/baz/" == "/foo/bar/baz")
 putStrLn "Test 111, from line 533"
 constTest (P.takeDirectory "/foo/bar/baz/" == "/foo/bar/baz")
 putStrLn "Test 112, from line 534"
 constTest (W.takeDirectory "foo/bar/baz" == "foo/bar")
 putStrLn "Test 113, from line 534"
 constTest (P.takeDirectory "foo/bar/baz" == "foo/bar")
 putStrLn "Test 114, from line 535"
 constTest (W.takeDirectory "foo\\bar" == "foo")
 putStrLn "Test 115, from line 536"
 constTest (W.takeDirectory "foo\\bar\\\\" == "foo\\bar")
 putStrLn "Test 116, from line 537"
 constTest (W.takeDirectory "C:\\" == "C:\\")
 putStrLn "Test 117, from line 555"
 constTest (P.combine "/" "test" == "/test")
 putStrLn "Test 118, from line 556"
 constTest (P.combine "home" "bob" == "home/bob")
 putStrLn "Test 119, from line 557"
 constTest (W.combine "home" "bob" == "home\\bob")
 putStrLn "Test 120, from line 558"
 constTest (W.combine "home" "/bob" == "/bob")
 putStrLn "Test 121, from line 580"
 constTest (W.splitPath "test//item/" == [ "test//" , "item/" ])
 putStrLn "Test 122, from line 580"
 constTest (P.splitPath "test//item/" == [ "test//" , "item/" ])
 putStrLn "Test 123, from line 581"
 constTest (W.splitPath "test/item/file" == [ "test/" , "item/" , "file" ])
 putStrLn "Test 124, from line 581"
 constTest (P.splitPath "test/item/file" == [ "test/" , "item/" , "file" ])
 putStrLn "Test 125, from line 582"
 constTest (W.splitPath "" == [ ])
block6 = do
 putStrLn "Test 126, from line 582"
 constTest (P.splitPath "" == [ ])
 putStrLn "Test 127, from line 583"
 constTest (W.splitPath "c:\\test\\path" == [ "c:\\" , "test\\" , "path" ])
 putStrLn "Test 128, from line 584"
 constTest (P.splitPath "/file/test" == [ "/" , "file/" , "test" ])
 putStrLn "Test 129, from line 598"
 constTest (W.splitDirectories "test/file" == [ "test" , "file" ])
 putStrLn "Test 130, from line 598"
 constTest (P.splitDirectories "test/file" == [ "test" , "file" ])
 putStrLn "Test 131, from line 599"
 constTest (W.splitDirectories "/test/file" == [ "/" , "test" , "file" ])
 putStrLn "Test 132, from line 599"
 constTest (P.splitDirectories "/test/file" == [ "/" , "test" , "file" ])
 putStrLn "Test 133, from line 601"
 constTest (W.splitDirectories "" == [ ])
 putStrLn "Test 134, from line 601"
 constTest (P.splitDirectories "" == [ ])
 putStrLn "Test 135, from line 617"
 constTest (W.joinPath [ ] == "")
 putStrLn "Test 136, from line 617"
 constTest (P.joinPath [ ] == "")
 putStrLn "Test 137, from line 618"
 constTest (P.joinPath [ "test" , "file" , "path" ] == "test/file/path")
 putStrLn "Test 138, from line 639"
 constTest (P.equalFilePath "foo" "foo/")
 putStrLn "Test 139, from line 640"
 constTest (not ( P.equalFilePath "foo" "/foo" ))
 putStrLn "Test 140, from line 641"
 constTest (not ( P.equalFilePath "foo" "FOO" ))
 putStrLn "Test 141, from line 642"
 constTest (W.equalFilePath "foo" "FOO")
 putStrLn "Test 142, from line 661"
 constTest (W.makeRelative "C:\\Home" "c:\\home\\bob" == "bob")
 putStrLn "Test 143, from line 662"
 constTest (W.makeRelative "C:\\Home" "c:/home/bob" == "bob")
 putStrLn "Test 144, from line 663"
 constTest (W.makeRelative "C:\\Home" "D:\\Home\\Bob" == "D:\\Home\\Bob")
 putStrLn "Test 145, from line 664"
 constTest (W.makeRelative "C:\\Home" "C:Home\\Bob" == "C:Home\\Bob")
 putStrLn "Test 146, from line 665"
 constTest (W.makeRelative "/Home" "/home/bob" == "bob")
 putStrLn "Test 147, from line 666"
 constTest (P.makeRelative "/Home" "/home/bob" == "/home/bob")
 putStrLn "Test 148, from line 667"
 constTest (P.makeRelative "/home/" "/home/bob/foo/bar" == "bob/foo/bar")
 putStrLn "Test 149, from line 668"
 constTest (P.makeRelative "/fred" "bob" == "bob")
 putStrLn "Test 150, from line 669"
 constTest (P.makeRelative "/file/test" "/file/test/fred" == "fred")
block7 = do
 putStrLn "Test 151, from line 670"
 constTest (P.makeRelative "/file/test" "/file/test/fred/" == "fred/")
 putStrLn "Test 152, from line 671"
 constTest (P.makeRelative "some/path" "some/path/a/b/c" == "a/b/c")
 putStrLn "Test 153, from line 701"
 constTest (P.normalise "/file/\\test////" == "/file/\\test/")
 putStrLn "Test 154, from line 702"
 constTest (P.normalise "/file/./test" == "/file/test")
 putStrLn "Test 155, from line 703"
 constTest (P.normalise "/test/file/../bob/fred/" == "/test/file/../bob/fred/")
 putStrLn "Test 156, from line 704"
 constTest (P.normalise "../bob/fred/" == "../bob/fred/")
 putStrLn "Test 157, from line 705"
 constTest (P.normalise "./bob/fred/" == "bob/fred/")
 putStrLn "Test 158, from line 706"
 constTest (W.normalise "c:\\file/bob\\" == "C:\\file\\bob\\")
 putStrLn "Test 159, from line 707"
 constTest (W.normalise "c:\\" == "C:\\")
 putStrLn "Test 160, from line 708"
 constTest (W.normalise "\\\\server\\test" == "\\\\server\\test")
 putStrLn "Test 161, from line 709"
 constTest (W.normalise "c:/file" == "C:\\file")
 putStrLn "Test 162, from line 710"
 constTest (W.normalise "." == ".")
 putStrLn "Test 163, from line 710"
 constTest (P.normalise "." == ".")
 putStrLn "Test 164, from line 711"
 constTest (P.normalise "./" == "./")
 putStrLn "Test 165, from line 712"
 constTest (P.normalise "./." == "./")
 putStrLn "Test 166, from line 713"
 constTest (P.normalise "/" == "/")
 putStrLn "Test 167, from line 714"
 constTest (P.normalise "bob/fred/." == "bob/fred/")
 putStrLn "Test 168, from line 759"
 constTest (W.isValid "" == False)
 putStrLn "Test 169, from line 759"
 constTest (P.isValid "" == False)
 putStrLn "Test 170, from line 760"
 constTest (P.isValid "/random_ path:*" == True)
 putStrLn "Test 171, from line 762"
 constTest (W.isValid "c:\\test" == True)
 putStrLn "Test 172, from line 763"
 constTest (W.isValid "c:\\test:of_test" == False)
 putStrLn "Test 173, from line 764"
 constTest (W.isValid "test*" == False)
 putStrLn "Test 174, from line 765"
 constTest (W.isValid "c:\\test\\nul" == False)
 putStrLn "Test 175, from line 766"
 constTest (W.isValid "c:\\test\\prn.txt" == False)
block8 = do
 putStrLn "Test 176, from line 767"
 constTest (W.isValid "c:\\nul\\file" == False)
 putStrLn "Test 177, from line 768"
 constTest (W.isValid "\\\\" == False)
 putStrLn "Test 178, from line 785"
 constTest (W.makeValid "" == "_")
 putStrLn "Test 179, from line 785"
 constTest (P.makeValid "" == "_")
 putStrLn "Test 180, from line 786"
 constTest (W.makeValid "c:\\test:of_test" == "c:\\test_of_test")
 putStrLn "Test 181, from line 787"
 constTest (W.makeValid "test*" == "test_")
 putStrLn "Test 182, from line 788"
 constTest (W.makeValid "c:\\test\\nul" == "c:\\test\\nul_")
 putStrLn "Test 183, from line 789"
 constTest (W.makeValid "c:\\test\\prn.txt" == "c:\\test\\prn_.txt")
 putStrLn "Test 184, from line 790"
 constTest (W.makeValid "c:\\test/prn.txt" == "c:\\test/prn_.txt")
 putStrLn "Test 185, from line 791"
 constTest (W.makeValid "c:\\nul\\file" == "c:\\nul_\\file")
 putStrLn "Test 186, from line 813"
 constTest (W.isRelative "path\\test" == True)
 putStrLn "Test 187, from line 814"
 constTest (W.isRelative "c:\\test" == False)
 putStrLn "Test 188, from line 815"
 constTest (W.isRelative "c:test" == True)
 putStrLn "Test 189, from line 816"
 constTest (W.isRelative "c:" == True)
 putStrLn "Test 190, from line 817"
 constTest (W.isRelative "\\\\foo" == False)
 putStrLn "Test 191, from line 818"
 constTest (W.isRelative "/foo" == True)
 putStrLn "Test 192, from line 819"
 constTest (P.isRelative "test/path" == True)
 putStrLn "Test 193, from line 820"
 constTest (P.isRelative "/test" == False)
 putStrLn "Test 194, from line 139"
 quickSafe (\ a -> (W.isPathSeparator a == ( a ` elem ` W.pathSeparators )))
 putStrLn "Test 195, from line 139"
 quickSafe (\ a -> (P.isPathSeparator a == ( a ` elem ` P.pathSeparators )))
 putStrLn "Test 196, from line 153"
 quickSafe (\ a -> (W.isSearchPathSeparator a == ( a == W.searchPathSeparator )))
 putStrLn "Test 197, from line 153"
 quickSafe (\ a -> (P.isSearchPathSeparator a == ( a == P.searchPathSeparator )))
 putStrLn "Test 198, from line 166"
 quickSafe (\ a -> (W.isExtSeparator a == ( a == W.extSeparator )))
 putStrLn "Test 199, from line 166"
 quickSafe (\ a -> (P.isExtSeparator a == ( a == P.extSeparator )))
 putStrLn "Test 200, from line 206"
 quickSafe (\ (QFilePath x) -> (uncurry ( ++ ) ( W.splitExtension x ) == x))
block9 = do
 putStrLn "Test 201, from line 206"
 quickSafe (\ (QFilePath x) -> (uncurry ( ++ ) ( P.splitExtension x ) == x))
 putStrLn "Test 202, from line 207"
 quickSafe (\ (QFilePath x) -> (uncurry W.addExtension ( W.splitExtension x ) == x))
 putStrLn "Test 203, from line 207"
 quickSafe (\ (QFilePath x) -> (uncurry P.addExtension ( P.splitExtension x ) == x))
 putStrLn "Test 204, from line 225"
 quickSafe (\ (QFilePath x) -> (W.takeExtension x == snd ( W.splitExtension x )))
 putStrLn "Test 205, from line 225"
 quickSafe (\ (QFilePath x) -> (P.takeExtension x == snd ( P.splitExtension x )))
 putStrLn "Test 206, from line 226"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.takeExtension ( W.addExtension x "ext" ) == ".ext" ) ( W.makeValid x )))
 putStrLn "Test 207, from line 226"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.takeExtension ( P.addExtension x "ext" ) == ".ext" ) ( P.makeValid x )))
 putStrLn "Test 208, from line 227"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.takeExtension ( W.replaceExtension x "ext" ) == ".ext" ) ( W.makeValid x )))
 putStrLn "Test 209, from line 227"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.takeExtension ( P.replaceExtension x "ext" ) == ".ext" ) ( P.makeValid x )))
 putStrLn "Test 210, from line 247"
 quickSafe (\ (QFilePath x) -> (W.dropExtension x == fst ( W.splitExtension x )))
 putStrLn "Test 211, from line 247"
 quickSafe (\ (QFilePath x) -> (P.dropExtension x == fst ( P.splitExtension x )))
 putStrLn "Test 212, from line 258"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.takeFileName ( W.addExtension ( W.addTrailingPathSeparator x ) "ext" ) == ".ext" ) ( W.makeValid x )))
 putStrLn "Test 213, from line 258"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.takeFileName ( P.addExtension ( P.addTrailingPathSeparator x ) "ext" ) == ".ext" ) ( P.makeValid x )))
 putStrLn "Test 214, from line 271"
 quickSafe (\ (QFilePath x) -> (null ( W.takeExtension x ) == not ( W.hasExtension x )))
 putStrLn "Test 215, from line 271"
 quickSafe (\ (QFilePath x) -> (null ( P.takeExtension x ) == not ( P.hasExtension x )))
 putStrLn "Test 216, from line 278"
 quickSafe (\ (QFilePath x) -> (uncurry ( ++ ) ( W.splitExtensions x ) == x))
 putStrLn "Test 217, from line 278"
 quickSafe (\ (QFilePath x) -> (uncurry ( ++ ) ( P.splitExtensions x ) == x))
 putStrLn "Test 218, from line 279"
 quickSafe (\ (QFilePath x) -> (uncurry W.addExtension ( W.splitExtensions x ) == x))
 putStrLn "Test 219, from line 279"
 quickSafe (\ (QFilePath x) -> (uncurry P.addExtension ( P.splitExtensions x ) == x))
 putStrLn "Test 220, from line 289"
 quickSafe (\ (QFilePath x) -> (not $ W.hasExtension ( W.dropExtensions x )))
 putStrLn "Test 221, from line 289"
 quickSafe (\ (QFilePath x) -> (not $ P.hasExtension ( P.dropExtensions x )))
 putStrLn "Test 222, from line 313"
 quickSafe (\ (QFilePath x) -> (uncurry ( ++ ) ( W.splitDrive x ) == x))
 putStrLn "Test 223, from line 313"
 quickSafe (\ (QFilePath x) -> (uncurry ( ++ ) ( P.splitDrive x ) == x))
 putStrLn "Test 224, from line 382"
 quickSafe (\ (QFilePath x) -> (uncurry W.joinDrive ( W.splitDrive x ) == x))
 putStrLn "Test 225, from line 382"
 quickSafe (\ (QFilePath x) -> (uncurry P.joinDrive ( P.splitDrive x ) == x))
block10 = do
 putStrLn "Test 226, from line 398"
 quickSafe (\ (QFilePath x) -> (W.takeDrive x == fst ( W.splitDrive x )))
 putStrLn "Test 227, from line 398"
 quickSafe (\ (QFilePath x) -> (P.takeDrive x == fst ( P.splitDrive x )))
 putStrLn "Test 228, from line 404"
 quickSafe (\ (QFilePath x) -> (W.dropDrive x == snd ( W.splitDrive x )))
 putStrLn "Test 229, from line 404"
 quickSafe (\ (QFilePath x) -> (P.dropDrive x == snd ( P.splitDrive x )))
 putStrLn "Test 230, from line 410"
 quickSafe (\ (QFilePath x) -> (not ( W.hasDrive x ) == null ( W.takeDrive x )))
 putStrLn "Test 231, from line 410"
 quickSafe (\ (QFilePath x) -> (not ( P.hasDrive x ) == null ( P.takeDrive x )))
 putStrLn "Test 232, from line 425"
 quickSafe (\ (QFilePath x) -> ((\ x -> uncurry ( W.</> ) ( W.splitFileName x ) == x || fst ( W.splitFileName x ) == "./" ) ( W.makeValid x )))
 putStrLn "Test 233, from line 425"
 quickSafe (\ (QFilePath x) -> ((\ x -> uncurry ( P.</> ) ( P.splitFileName x ) == x || fst ( P.splitFileName x ) == "./" ) ( P.makeValid x )))
 putStrLn "Test 234, from line 426"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.isValid ( fst ( W.splitFileName x ) ) ) ( W.makeValid x )))
 putStrLn "Test 235, from line 426"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.isValid ( fst ( P.splitFileName x ) ) ) ( P.makeValid x )))
 putStrLn "Test 236, from line 451"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.replaceFileName x ( W.takeFileName x ) == x ) ( W.makeValid x )))
 putStrLn "Test 237, from line 451"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.replaceFileName x ( P.takeFileName x ) == x ) ( P.makeValid x )))
 putStrLn "Test 238, from line 457"
 quickSafe (\ (QFilePath x) -> (W.dropFileName x == fst ( W.splitFileName x )))
 putStrLn "Test 239, from line 457"
 quickSafe (\ (QFilePath x) -> (P.dropFileName x == fst ( P.splitFileName x )))
 putStrLn "Test 240, from line 465"
 quickSafe (\ (QFilePath x) -> (W.takeFileName x ` isSuffixOf ` x))
 putStrLn "Test 241, from line 465"
 quickSafe (\ (QFilePath x) -> (P.takeFileName x ` isSuffixOf ` x))
 putStrLn "Test 242, from line 466"
 quickSafe (\ (QFilePath x) -> (W.takeFileName x == snd ( W.splitFileName x )))
 putStrLn "Test 243, from line 466"
 quickSafe (\ (QFilePath x) -> (P.takeFileName x == snd ( P.splitFileName x )))
 putStrLn "Test 244, from line 467"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.takeFileName ( W.replaceFileName x "fred" ) == "fred" ) ( W.makeValid x )))
 putStrLn "Test 245, from line 467"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.takeFileName ( P.replaceFileName x "fred" ) == "fred" ) ( P.makeValid x )))
 putStrLn "Test 246, from line 468"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.takeFileName ( x W.</> "fred" ) == "fred" ) ( W.makeValid x )))
 putStrLn "Test 247, from line 468"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.takeFileName ( x P.</> "fred" ) == "fred" ) ( P.makeValid x )))
 putStrLn "Test 248, from line 469"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.isRelative ( W.takeFileName x ) ) ( W.makeValid x )))
 putStrLn "Test 249, from line 469"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.isRelative ( P.takeFileName x ) ) ( P.makeValid x )))
 putStrLn "Test 250, from line 479"
 quickSafe (\ (QFilePath x) -> (W.takeBaseName ( W.addTrailingPathSeparator x ) == ""))
block11 = do
 putStrLn "Test 251, from line 479"
 quickSafe (\ (QFilePath x) -> (P.takeBaseName ( P.addTrailingPathSeparator x ) == ""))
 putStrLn "Test 252, from line 489"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.replaceBaseName x ( W.takeBaseName x ) == x ) ( W.makeValid x )))
 putStrLn "Test 253, from line 489"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.replaceBaseName x ( P.takeBaseName x ) == x ) ( P.makeValid x )))
 putStrLn "Test 254, from line 507"
 quickSafe (\ (QFilePath x) -> (W.hasTrailingPathSeparator ( W.addTrailingPathSeparator x )))
 putStrLn "Test 255, from line 507"
 quickSafe (\ (QFilePath x) -> (P.hasTrailingPathSeparator ( P.addTrailingPathSeparator x )))
 putStrLn "Test 256, from line 508"
 quickSafe (\ (QFilePath x) -> (W.hasTrailingPathSeparator x ==> W.addTrailingPathSeparator x == x))
 putStrLn "Test 257, from line 508"
 quickSafe (\ (QFilePath x) -> (P.hasTrailingPathSeparator x ==> P.addTrailingPathSeparator x == x))
 putStrLn "Test 258, from line 517"
 quickSafe (\ (QFilePath x) -> (not ( P.hasTrailingPathSeparator ( P.dropTrailingPathSeparator x ) ) || P.isDrive x))
 putStrLn "Test 259, from line 530"
 quickSafe (\ (QFilePath x) -> (W.takeDirectory x ` isPrefixOf ` x || W.takeDirectory x == "."))
 putStrLn "Test 260, from line 530"
 quickSafe (\ (QFilePath x) -> (P.takeDirectory x ` isPrefixOf ` x || P.takeDirectory x == "."))
 putStrLn "Test 261, from line 547"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.replaceDirectory x ( W.takeDirectory x ) ` W.equalFilePath ` x ) ( W.makeValid x )))
 putStrLn "Test 262, from line 547"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.replaceDirectory x ( P.takeDirectory x ) ` P.equalFilePath ` x ) ( P.makeValid x )))
 putStrLn "Test 263, from line 554"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.combine ( W.takeDirectory x ) ( W.takeFileName x ) ` W.equalFilePath ` x ) ( W.makeValid x )))
 putStrLn "Test 264, from line 554"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.combine ( P.takeDirectory x ) ( P.takeFileName x ) ` P.equalFilePath ` x ) ( P.makeValid x )))
 putStrLn "Test 265, from line 579"
 quickSafe (\ (QFilePath x) -> (concat ( W.splitPath x ) == x))
 putStrLn "Test 266, from line 579"
 quickSafe (\ (QFilePath x) -> (concat ( P.splitPath x ) == x))
 putStrLn "Test 267, from line 600"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.joinPath ( W.splitDirectories x ) ` W.equalFilePath ` x ) ( W.makeValid x )))
 putStrLn "Test 268, from line 600"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.joinPath ( P.splitDirectories x ) ` P.equalFilePath ` x ) ( P.makeValid x )))
 putStrLn "Test 269, from line 616"
 quickSafe (\ (QFilePath x) -> ((\ x -> W.joinPath ( W.splitPath x ) == x ) ( W.makeValid x )))
 putStrLn "Test 270, from line 616"
 quickSafe (\ (QFilePath x) -> ((\ x -> P.joinPath ( P.splitPath x ) == x ) ( P.makeValid x )))
 putStrLn "Test 271, from line 637"
 quickSafe (\ (QFilePath x) (QFilePath y) -> (x == y ==> W.equalFilePath x y))
 putStrLn "Test 272, from line 637"
 quickSafe (\ (QFilePath x) (QFilePath y) -> (x == y ==> P.equalFilePath x y))
 putStrLn "Test 273, from line 638"
 quickSafe (\ (QFilePath x) (QFilePath y) -> (W.normalise x == W.normalise y ==> W.equalFilePath x y))
 putStrLn "Test 274, from line 638"
 quickSafe (\ (QFilePath x) (QFilePath y) -> (P.normalise x == P.normalise y ==> P.equalFilePath x y))
 putStrLn "Test 275, from line 658"
 quickSafe (\ (QFilePath x) (QFilePath y) -> ((\ y -> W.equalFilePath x y || ( W.isRelative x && W.makeRelative y x == x ) || W.equalFilePath ( y W.</> W.makeRelative y x ) x ) ( W.makeValid y )))
block12 = do
 putStrLn "Test 276, from line 658"
 quickSafe (\ (QFilePath x) (QFilePath y) -> ((\ y -> P.equalFilePath x y || ( P.isRelative x && P.makeRelative y x == x ) || P.equalFilePath ( y P.</> P.makeRelative y x ) x ) ( P.makeValid y )))
 putStrLn "Test 277, from line 659"
 quickSafe (\ (QFilePath x) -> (W.makeRelative x x == "."))
 putStrLn "Test 278, from line 659"
 quickSafe (\ (QFilePath x) -> (P.makeRelative x x == "."))
 putStrLn "Test 279, from line 660"
 quickSafe (\ (QFilePath x) (QFilePath y) -> (null y || W.equalFilePath ( W.makeRelative x ( x W.</> y ) ) y || null ( W.takeFileName x )))
 putStrLn "Test 280, from line 660"
 quickSafe (\ (QFilePath x) (QFilePath y) -> (null y || P.equalFilePath ( P.makeRelative x ( x P.</> y ) ) y || null ( P.takeFileName x )))
 putStrLn "Test 281, from line 761"
 quickSafe (\ (QFilePath x) -> (P.isValid x == not ( null x )))
 putStrLn "Test 282, from line 783"
 quickSafe (\ (QFilePath x) -> (W.isValid ( W.makeValid x )))
 putStrLn "Test 283, from line 783"
 quickSafe (\ (QFilePath x) -> (P.isValid ( P.makeValid x )))
 putStrLn "Test 284, from line 784"
 quickSafe (\ (QFilePath x) -> (W.isValid x ==> W.makeValid x == x))
 putStrLn "Test 285, from line 784"
 quickSafe (\ (QFilePath x) -> (P.isValid x ==> P.makeValid x == x))
 putStrLn "Test 286, from line 840"
 quickSafe (\ (QFilePath x) -> (W.isAbsolute x == not ( W.isRelative x )))
 putStrLn "Test 287, from line 840"
 quickSafe (\ (QFilePath x) -> (P.isAbsolute x == not ( P.isRelative x )))