diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index 022bcaaf..d9fe3f72 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -38,21 +38,6 @@ 065569771DC65C2B00A47E66 /* ZlibArchive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064492581DC606D400F10981 /* ZlibArchive.swift */; }; 065569781DC65C2B00A47E66 /* Deflate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 061FCE251DBCC4BE0052F7BE /* Deflate.swift */; }; 0661F06F1DC92391006C3D35 /* PerformanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0661F06E1DC92391006C3D35 /* PerformanceTests.swift */; }; - 0662047C1DD9840000353639 /* test1.answer in Resources */ = {isa = PBXBuildFile; fileRef = 0662046D1DD983FF00353639 /* test1.answer */; }; - 0662047D1DD9840000353639 /* test2.answer in Resources */ = {isa = PBXBuildFile; fileRef = 0662046E1DD983FF00353639 /* test2.answer */; }; - 0662047E1DD9840000353639 /* test3.answer in Resources */ = {isa = PBXBuildFile; fileRef = 0662046F1DD9840000353639 /* test3.answer */; }; - 0662047F1DD9840000353639 /* test4.answer in Resources */ = {isa = PBXBuildFile; fileRef = 066204701DD9840000353639 /* test4.answer */; }; - 066204801DD9840000353639 /* test5.answer in Resources */ = {isa = PBXBuildFile; fileRef = 066204711DD9840000353639 /* test5.answer */; }; - 066204811DD9840000353639 /* test1.gz in Resources */ = {isa = PBXBuildFile; fileRef = 066204741DD9840000353639 /* test1.gz */; }; - 066204821DD9840000353639 /* test4.gz in Resources */ = {isa = PBXBuildFile; fileRef = 066204751DD9840000353639 /* test4.gz */; }; - 066204831DD9840000353639 /* test5.gz in Resources */ = {isa = PBXBuildFile; fileRef = 066204761DD9840000353639 /* test5.gz */; }; - 066204841DD9840000353639 /* performance_test1.gz in Resources */ = {isa = PBXBuildFile; fileRef = 066204771DD9840000353639 /* performance_test1.gz */; }; - 066204851DD9840000353639 /* test1.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 066204791DD9840000353639 /* test1.zlib */; }; - 0680E1A41DDA2C5B005C05EB /* test4.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 0680E1A21DDA2C5B005C05EB /* test4.zlib */; }; - 0680E1A51DDA2C5B005C05EB /* test5.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 0680E1A31DDA2C5B005C05EB /* test5.zlib */; }; - 0680E1AB1DDA2C90005C05EB /* test1.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 0680E1A61DDA2C90005C05EB /* test1.bz2 */; }; - 0680E1AE1DDA2C90005C05EB /* test4.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 0680E1A91DDA2C90005C05EB /* test4.bz2 */; }; - 0680E1AF1DDA2C90005C05EB /* test5.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 0680E1AA1DDA2C90005C05EB /* test5.bz2 */; }; 0680E1B11DDA2D7C005C05EB /* ZlibTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0680E1B01DDA2D7C005C05EB /* ZlibTests.swift */; }; 0680E1B31DDA3D0A005C05EB /* GzipTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0680E1B21DDA3D0A005C05EB /* GzipTests.swift */; }; 0680E1B51DDA4076005C05EB /* Bzip2Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0680E1B41DDA4075005C05EB /* Bzip2Tests.swift */; }; @@ -64,21 +49,38 @@ 06A393441DE0713300182E12 /* SWCompression.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A393421DE070B500182E12 /* SWCompression.h */; settings = {ATTRIBUTES = (Public, ); }; }; 06A393451DE0713A00182E12 /* SWCompression.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A393421DE070B500182E12 /* SWCompression.h */; settings = {ATTRIBUTES = (Public, ); }; }; 06A393461DE0714000182E12 /* SWCompression.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A393421DE070B500182E12 /* SWCompression.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 06ACA6E11DDB95D500451A5C /* test2.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6DF1DDB95D500451A5C /* test2.gz */; }; - 06ACA6E21DDB95D500451A5C /* test3.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6E01DDB95D500451A5C /* test3.gz */; }; - 06ACA6E51DDB960200451A5C /* test2.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6E31DDB960200451A5C /* test2.bz2 */; }; - 06ACA6E61DDB960200451A5C /* test3.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6E41DDB960200451A5C /* test3.bz2 */; }; - 06ACA6E91DDB966900451A5C /* test2.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6E71DDB966900451A5C /* test2.zlib */; }; - 06ACA6EA1DDB966900451A5C /* test3.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6E81DDB966900451A5C /* test3.zlib */; }; - 06ACA6EC1DDB974100451A5C /* test6.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6EB1DDB974100451A5C /* test6.bz2 */; }; - 06ACA6EE1DDB974D00451A5C /* test6.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6ED1DDB974D00451A5C /* test6.gz */; }; - 06ACA6F01DDB975600451A5C /* test6.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6EF1DDB975600451A5C /* test6.answer */; }; - 06ACA6F21DDB976C00451A5C /* test6.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 06ACA6F11DDB976C00451A5C /* test6.zlib */; }; 06BE1AD21DB410F100EE0F59 /* SWCompression.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06BE1AC81DB410F100EE0F59 /* SWCompression.framework */; }; - 06F463581DE082E70072CC2B /* test7.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06F463571DE082E70072CC2B /* test7.answer */; }; - 06F4635A1DE082F40072CC2B /* test7.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06F463591DE082F40072CC2B /* test7.bz2 */; }; - 06F4635C1DE082FE0072CC2B /* test7.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06F4635B1DE082FE0072CC2B /* test7.gz */; }; - 06F4635E1DE083170072CC2B /* test7.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 06F4635D1DE083170072CC2B /* test7.zlib */; }; + 06CC18601DE35269003532F5 /* test1.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06CC183F1DE35269003532F5 /* test1.answer */; }; + 06CC18611DE35269003532F5 /* test2.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18401DE35269003532F5 /* test2.answer */; }; + 06CC18621DE35269003532F5 /* test3.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18411DE35269003532F5 /* test3.answer */; }; + 06CC18631DE35269003532F5 /* test4.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18421DE35269003532F5 /* test4.answer */; }; + 06CC18641DE35269003532F5 /* test5.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18431DE35269003532F5 /* test5.answer */; }; + 06CC18651DE35269003532F5 /* test6.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18441DE35269003532F5 /* test6.answer */; }; + 06CC18661DE35269003532F5 /* test7.answer in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18451DE35269003532F5 /* test7.answer */; }; + 06CC18671DE35269003532F5 /* test1.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18471DE35269003532F5 /* test1.bz2 */; }; + 06CC18681DE35269003532F5 /* test2.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18481DE35269003532F5 /* test2.bz2 */; }; + 06CC18691DE35269003532F5 /* test3.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18491DE35269003532F5 /* test3.bz2 */; }; + 06CC186A1DE35269003532F5 /* test4.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06CC184A1DE35269003532F5 /* test4.bz2 */; }; + 06CC186B1DE35269003532F5 /* test5.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06CC184B1DE35269003532F5 /* test5.bz2 */; }; + 06CC186C1DE35269003532F5 /* test6.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06CC184C1DE35269003532F5 /* test6.bz2 */; }; + 06CC186D1DE35269003532F5 /* test7.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 06CC184D1DE35269003532F5 /* test7.bz2 */; }; + 06CC186E1DE35269003532F5 /* test1.deflate in Resources */ = {isa = PBXBuildFile; fileRef = 06CC184F1DE35269003532F5 /* test1.deflate */; }; + 06CC186F1DE35269003532F5 /* test2.deflate in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18501DE35269003532F5 /* test2.deflate */; }; + 06CC18701DE35269003532F5 /* test3.deflate in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18511DE35269003532F5 /* test3.deflate */; }; + 06CC18711DE35269003532F5 /* test4.deflate in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18521DE35269003532F5 /* test4.deflate */; }; + 06CC18721DE35269003532F5 /* test5.deflate in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18531DE35269003532F5 /* test5.deflate */; }; + 06CC18731DE35269003532F5 /* test6.deflate in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18541DE35269003532F5 /* test6.deflate */; }; + 06CC18741DE35269003532F5 /* test7.deflate in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18551DE35269003532F5 /* test7.deflate */; }; + 06CC18751DE35269003532F5 /* test1.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18571DE35269003532F5 /* test1.gz */; }; + 06CC18761DE35269003532F5 /* test2.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18581DE35269003532F5 /* test2.gz */; }; + 06CC18771DE35269003532F5 /* test3.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC18591DE35269003532F5 /* test3.gz */; }; + 06CC18781DE35269003532F5 /* test4.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC185A1DE35269003532F5 /* test4.gz */; }; + 06CC18791DE35269003532F5 /* test5.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC185B1DE35269003532F5 /* test5.gz */; }; + 06CC187A1DE35269003532F5 /* test6.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC185C1DE35269003532F5 /* test6.gz */; }; + 06CC187B1DE35269003532F5 /* test7.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC185D1DE35269003532F5 /* test7.gz */; }; + 06CC187C1DE35269003532F5 /* performance_test1.gz in Resources */ = {isa = PBXBuildFile; fileRef = 06CC185E1DE35269003532F5 /* performance_test1.gz */; }; + 06CC187D1DE35269003532F5 /* test.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 06CC185F1DE35269003532F5 /* test.zlib */; }; + 06CC187F1DE35607003532F5 /* DeflateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CC187E1DE35607003532F5 /* DeflateTests.swift */; }; 06FED40D1DD7717E0013DFB2 /* BZip2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06FED40B1DD7717E0013DFB2 /* BZip2.swift */; }; 06FED40E1DD7717E0013DFB2 /* BZip2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06FED40B1DD7717E0013DFB2 /* BZip2.swift */; }; 06FED40F1DD7717E0013DFB2 /* BZip2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06FED40B1DD7717E0013DFB2 /* BZip2.swift */; }; @@ -108,21 +110,6 @@ 0655694C1DC65A8000A47E66 /* SWCompression.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SWCompression.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 065569591DC65A9400A47E66 /* SWCompression.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SWCompression.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0661F06E1DC92391006C3D35 /* PerformanceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PerformanceTests.swift; sourceTree = ""; }; - 0662046D1DD983FF00353639 /* test1.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test1.answer; sourceTree = ""; }; - 0662046E1DD983FF00353639 /* test2.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test2.answer; sourceTree = ""; }; - 0662046F1DD9840000353639 /* test3.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test3.answer; sourceTree = ""; }; - 066204701DD9840000353639 /* test4.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test4.answer; sourceTree = ""; }; - 066204711DD9840000353639 /* test5.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test5.answer; sourceTree = ""; }; - 066204741DD9840000353639 /* test1.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test1.gz; sourceTree = ""; }; - 066204751DD9840000353639 /* test4.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test4.gz; sourceTree = ""; }; - 066204761DD9840000353639 /* test5.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test5.gz; sourceTree = ""; }; - 066204771DD9840000353639 /* performance_test1.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = performance_test1.gz; sourceTree = ""; }; - 066204791DD9840000353639 /* test1.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = test1.zlib; sourceTree = ""; }; - 0680E1A21DDA2C5B005C05EB /* test4.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = test4.zlib; sourceTree = ""; }; - 0680E1A31DDA2C5B005C05EB /* test5.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = test5.zlib; sourceTree = ""; }; - 0680E1A61DDA2C90005C05EB /* test1.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test1.bz2; sourceTree = ""; }; - 0680E1A91DDA2C90005C05EB /* test4.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test4.bz2; sourceTree = ""; }; - 0680E1AA1DDA2C90005C05EB /* test5.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test5.bz2; sourceTree = ""; }; 0680E1B01DDA2D7C005C05EB /* ZlibTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZlibTests.swift; sourceTree = ""; }; 0680E1B21DDA3D0A005C05EB /* GzipTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GzipTests.swift; sourceTree = ""; }; 0680E1B41DDA4075005C05EB /* Bzip2Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Bzip2Tests.swift; sourceTree = ""; }; @@ -131,23 +118,40 @@ 06A393401DE070B500182E12 /* Info-watchOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-watchOS.plist"; sourceTree = ""; }; 06A393411DE070B500182E12 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 06A393421DE070B500182E12 /* SWCompression.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SWCompression.h; sourceTree = ""; }; - 06ACA6DF1DDB95D500451A5C /* test2.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test2.gz; sourceTree = ""; }; - 06ACA6E01DDB95D500451A5C /* test3.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test3.gz; sourceTree = ""; }; - 06ACA6E31DDB960200451A5C /* test2.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test2.bz2; sourceTree = ""; }; - 06ACA6E41DDB960200451A5C /* test3.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test3.bz2; sourceTree = ""; }; - 06ACA6E71DDB966900451A5C /* test2.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = test2.zlib; sourceTree = ""; }; - 06ACA6E81DDB966900451A5C /* test3.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = test3.zlib; sourceTree = ""; }; - 06ACA6EB1DDB974100451A5C /* test6.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test6.bz2; sourceTree = ""; }; - 06ACA6ED1DDB974D00451A5C /* test6.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test6.gz; sourceTree = ""; }; - 06ACA6EF1DDB975600451A5C /* test6.answer */ = {isa = PBXFileReference; lastKnownFileType = file; path = test6.answer; sourceTree = ""; }; - 06ACA6F11DDB976C00451A5C /* test6.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = test6.zlib; sourceTree = ""; }; 06BE1AC81DB410F100EE0F59 /* SWCompression.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SWCompression.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 06BE1AD11DB410F100EE0F59 /* SWCompressionTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SWCompressionTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 06BE1AD81DB410F100EE0F59 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 06F463571DE082E70072CC2B /* test7.answer */ = {isa = PBXFileReference; lastKnownFileType = file; path = test7.answer; sourceTree = ""; }; - 06F463591DE082F40072CC2B /* test7.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test7.bz2; sourceTree = ""; }; - 06F4635B1DE082FE0072CC2B /* test7.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test7.gz; sourceTree = ""; }; - 06F4635D1DE083170072CC2B /* test7.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = test7.zlib; sourceTree = ""; }; + 06CC183F1DE35269003532F5 /* test1.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test1.answer; sourceTree = ""; }; + 06CC18401DE35269003532F5 /* test2.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test2.answer; sourceTree = ""; }; + 06CC18411DE35269003532F5 /* test3.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test3.answer; sourceTree = ""; }; + 06CC18421DE35269003532F5 /* test4.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test4.answer; sourceTree = ""; }; + 06CC18431DE35269003532F5 /* test5.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test5.answer; sourceTree = ""; }; + 06CC18441DE35269003532F5 /* test6.answer */ = {isa = PBXFileReference; lastKnownFileType = file; path = test6.answer; sourceTree = ""; }; + 06CC18451DE35269003532F5 /* test7.answer */ = {isa = PBXFileReference; lastKnownFileType = file; path = test7.answer; sourceTree = ""; }; + 06CC18471DE35269003532F5 /* test1.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test1.bz2; sourceTree = ""; }; + 06CC18481DE35269003532F5 /* test2.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test2.bz2; sourceTree = ""; }; + 06CC18491DE35269003532F5 /* test3.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test3.bz2; sourceTree = ""; }; + 06CC184A1DE35269003532F5 /* test4.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test4.bz2; sourceTree = ""; }; + 06CC184B1DE35269003532F5 /* test5.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test5.bz2; sourceTree = ""; }; + 06CC184C1DE35269003532F5 /* test6.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test6.bz2; sourceTree = ""; }; + 06CC184D1DE35269003532F5 /* test7.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = test7.bz2; sourceTree = ""; }; + 06CC184F1DE35269003532F5 /* test1.deflate */ = {isa = PBXFileReference; lastKnownFileType = file; path = test1.deflate; sourceTree = ""; }; + 06CC18501DE35269003532F5 /* test2.deflate */ = {isa = PBXFileReference; lastKnownFileType = file; path = test2.deflate; sourceTree = ""; }; + 06CC18511DE35269003532F5 /* test3.deflate */ = {isa = PBXFileReference; lastKnownFileType = file; path = test3.deflate; sourceTree = ""; }; + 06CC18521DE35269003532F5 /* test4.deflate */ = {isa = PBXFileReference; lastKnownFileType = file; path = test4.deflate; sourceTree = ""; }; + 06CC18531DE35269003532F5 /* test5.deflate */ = {isa = PBXFileReference; lastKnownFileType = file; path = test5.deflate; sourceTree = ""; }; + 06CC18541DE35269003532F5 /* test6.deflate */ = {isa = PBXFileReference; lastKnownFileType = file; path = test6.deflate; sourceTree = ""; }; + 06CC18551DE35269003532F5 /* test7.deflate */ = {isa = PBXFileReference; lastKnownFileType = file; path = test7.deflate; sourceTree = ""; }; + 06CC18571DE35269003532F5 /* test1.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test1.gz; sourceTree = ""; }; + 06CC18581DE35269003532F5 /* test2.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test2.gz; sourceTree = ""; }; + 06CC18591DE35269003532F5 /* test3.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test3.gz; sourceTree = ""; }; + 06CC185A1DE35269003532F5 /* test4.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test4.gz; sourceTree = ""; }; + 06CC185B1DE35269003532F5 /* test5.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test5.gz; sourceTree = ""; }; + 06CC185C1DE35269003532F5 /* test6.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test6.gz; sourceTree = ""; }; + 06CC185D1DE35269003532F5 /* test7.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = test7.gz; sourceTree = ""; }; + 06CC185E1DE35269003532F5 /* performance_test1.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = performance_test1.gz; sourceTree = ""; }; + 06CC185F1DE35269003532F5 /* test.zlib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test.zlib; sourceTree = ""; }; + 06CC187E1DE35607003532F5 /* DeflateTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeflateTests.swift; sourceTree = ""; }; 06FED40B1DD7717E0013DFB2 /* BZip2.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BZip2.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -191,74 +195,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0662046B1DD983FF00353639 /* Test Files */ = { - isa = PBXGroup; - children = ( - 066204771DD9840000353639 /* performance_test1.gz */, - 0662046C1DD983FF00353639 /* Answers */, - 066204721DD9840000353639 /* BZip2 */, - 066204731DD9840000353639 /* GZip */, - 066204781DD9840000353639 /* Zlib */, - ); - path = "Test Files"; - sourceTree = ""; - }; - 0662046C1DD983FF00353639 /* Answers */ = { - isa = PBXGroup; - children = ( - 0662046D1DD983FF00353639 /* test1.answer */, - 0662046E1DD983FF00353639 /* test2.answer */, - 0662046F1DD9840000353639 /* test3.answer */, - 066204701DD9840000353639 /* test4.answer */, - 066204711DD9840000353639 /* test5.answer */, - 06ACA6EF1DDB975600451A5C /* test6.answer */, - 06F463571DE082E70072CC2B /* test7.answer */, - ); - path = Answers; - sourceTree = ""; - }; - 066204721DD9840000353639 /* BZip2 */ = { - isa = PBXGroup; - children = ( - 0680E1A61DDA2C90005C05EB /* test1.bz2 */, - 06ACA6E31DDB960200451A5C /* test2.bz2 */, - 06ACA6E41DDB960200451A5C /* test3.bz2 */, - 0680E1A91DDA2C90005C05EB /* test4.bz2 */, - 0680E1AA1DDA2C90005C05EB /* test5.bz2 */, - 06ACA6EB1DDB974100451A5C /* test6.bz2 */, - 06F463591DE082F40072CC2B /* test7.bz2 */, - ); - path = BZip2; - sourceTree = ""; - }; - 066204731DD9840000353639 /* GZip */ = { - isa = PBXGroup; - children = ( - 066204741DD9840000353639 /* test1.gz */, - 06ACA6DF1DDB95D500451A5C /* test2.gz */, - 06ACA6E01DDB95D500451A5C /* test3.gz */, - 066204751DD9840000353639 /* test4.gz */, - 066204761DD9840000353639 /* test5.gz */, - 06ACA6ED1DDB974D00451A5C /* test6.gz */, - 06F4635B1DE082FE0072CC2B /* test7.gz */, - ); - path = GZip; - sourceTree = ""; - }; - 066204781DD9840000353639 /* Zlib */ = { - isa = PBXGroup; - children = ( - 066204791DD9840000353639 /* test1.zlib */, - 06ACA6E71DDB966900451A5C /* test2.zlib */, - 06ACA6E81DDB966900451A5C /* test3.zlib */, - 0680E1A21DDA2C5B005C05EB /* test4.zlib */, - 0680E1A31DDA2C5B005C05EB /* test5.zlib */, - 06ACA6F11DDB976C00451A5C /* test6.zlib */, - 06F4635D1DE083170072CC2B /* test7.zlib */, - ); - path = Zlib; - sourceTree = ""; - }; 06A3931F1DE06FFE00182E12 /* Common */ = { isa = PBXGroup; children = ( @@ -320,10 +256,11 @@ 06BE1AD51DB410F100EE0F59 /* Tests */ = { isa = PBXGroup; children = ( - 0662046B1DD983FF00353639 /* Test Files */, - 0680E1B01DDA2D7C005C05EB /* ZlibTests.swift */, - 0680E1B21DDA3D0A005C05EB /* GzipTests.swift */, + 06CC183D1DE35269003532F5 /* Test Files */, 0680E1B41DDA4075005C05EB /* Bzip2Tests.swift */, + 06CC187E1DE35607003532F5 /* DeflateTests.swift */, + 0680E1B21DDA3D0A005C05EB /* GzipTests.swift */, + 0680E1B01DDA2D7C005C05EB /* ZlibTests.swift */, 061FCE2C1DBCC6A30052F7BE /* Constants.swift */, 0661F06E1DC92391006C3D35 /* PerformanceTests.swift */, 06BE1AD81DB410F100EE0F59 /* Info.plist */, @@ -331,6 +268,75 @@ path = Tests; sourceTree = ""; }; + 06CC183D1DE35269003532F5 /* Test Files */ = { + isa = PBXGroup; + children = ( + 06CC183E1DE35269003532F5 /* Answers */, + 06CC18461DE35269003532F5 /* BZip2 */, + 06CC184E1DE35269003532F5 /* Deflate */, + 06CC18561DE35269003532F5 /* GZip */, + 06CC185E1DE35269003532F5 /* performance_test1.gz */, + 06CC185F1DE35269003532F5 /* test.zlib */, + ); + path = "Test Files"; + sourceTree = ""; + }; + 06CC183E1DE35269003532F5 /* Answers */ = { + isa = PBXGroup; + children = ( + 06CC183F1DE35269003532F5 /* test1.answer */, + 06CC18401DE35269003532F5 /* test2.answer */, + 06CC18411DE35269003532F5 /* test3.answer */, + 06CC18421DE35269003532F5 /* test4.answer */, + 06CC18431DE35269003532F5 /* test5.answer */, + 06CC18441DE35269003532F5 /* test6.answer */, + 06CC18451DE35269003532F5 /* test7.answer */, + ); + path = Answers; + sourceTree = ""; + }; + 06CC18461DE35269003532F5 /* BZip2 */ = { + isa = PBXGroup; + children = ( + 06CC18471DE35269003532F5 /* test1.bz2 */, + 06CC18481DE35269003532F5 /* test2.bz2 */, + 06CC18491DE35269003532F5 /* test3.bz2 */, + 06CC184A1DE35269003532F5 /* test4.bz2 */, + 06CC184B1DE35269003532F5 /* test5.bz2 */, + 06CC184C1DE35269003532F5 /* test6.bz2 */, + 06CC184D1DE35269003532F5 /* test7.bz2 */, + ); + path = BZip2; + sourceTree = ""; + }; + 06CC184E1DE35269003532F5 /* Deflate */ = { + isa = PBXGroup; + children = ( + 06CC184F1DE35269003532F5 /* test1.deflate */, + 06CC18501DE35269003532F5 /* test2.deflate */, + 06CC18511DE35269003532F5 /* test3.deflate */, + 06CC18521DE35269003532F5 /* test4.deflate */, + 06CC18531DE35269003532F5 /* test5.deflate */, + 06CC18541DE35269003532F5 /* test6.deflate */, + 06CC18551DE35269003532F5 /* test7.deflate */, + ); + path = Deflate; + sourceTree = ""; + }; + 06CC18561DE35269003532F5 /* GZip */ = { + isa = PBXGroup; + children = ( + 06CC18571DE35269003532F5 /* test1.gz */, + 06CC18581DE35269003532F5 /* test2.gz */, + 06CC18591DE35269003532F5 /* test3.gz */, + 06CC185A1DE35269003532F5 /* test4.gz */, + 06CC185B1DE35269003532F5 /* test5.gz */, + 06CC185C1DE35269003532F5 /* test6.gz */, + 06CC185D1DE35269003532F5 /* test7.gz */, + ); + path = GZip; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -551,35 +557,36 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 066204821DD9840000353639 /* test4.gz in Resources */, - 066204811DD9840000353639 /* test1.gz in Resources */, - 066204841DD9840000353639 /* performance_test1.gz in Resources */, - 06ACA6E91DDB966900451A5C /* test2.zlib in Resources */, - 06ACA6E21DDB95D500451A5C /* test3.gz in Resources */, - 0680E1AB1DDA2C90005C05EB /* test1.bz2 in Resources */, - 06F4635C1DE082FE0072CC2B /* test7.gz in Resources */, - 0662047E1DD9840000353639 /* test3.answer in Resources */, - 0662047D1DD9840000353639 /* test2.answer in Resources */, - 06F4635A1DE082F40072CC2B /* test7.bz2 in Resources */, - 06ACA6F01DDB975600451A5C /* test6.answer in Resources */, - 06F4635E1DE083170072CC2B /* test7.zlib in Resources */, - 066204831DD9840000353639 /* test5.gz in Resources */, - 0662047F1DD9840000353639 /* test4.answer in Resources */, - 06ACA6E51DDB960200451A5C /* test2.bz2 in Resources */, - 0662047C1DD9840000353639 /* test1.answer in Resources */, - 06ACA6EA1DDB966900451A5C /* test3.zlib in Resources */, - 06ACA6EC1DDB974100451A5C /* test6.bz2 in Resources */, - 0680E1AF1DDA2C90005C05EB /* test5.bz2 in Resources */, - 066204851DD9840000353639 /* test1.zlib in Resources */, - 06F463581DE082E70072CC2B /* test7.answer in Resources */, - 0680E1A41DDA2C5B005C05EB /* test4.zlib in Resources */, - 06ACA6F21DDB976C00451A5C /* test6.zlib in Resources */, - 0680E1A51DDA2C5B005C05EB /* test5.zlib in Resources */, - 0680E1AE1DDA2C90005C05EB /* test4.bz2 in Resources */, - 06ACA6E11DDB95D500451A5C /* test2.gz in Resources */, - 066204801DD9840000353639 /* test5.answer in Resources */, - 06ACA6E61DDB960200451A5C /* test3.bz2 in Resources */, - 06ACA6EE1DDB974D00451A5C /* test6.gz in Resources */, + 06CC18711DE35269003532F5 /* test4.deflate in Resources */, + 06CC18621DE35269003532F5 /* test3.answer in Resources */, + 06CC187A1DE35269003532F5 /* test6.gz in Resources */, + 06CC18771DE35269003532F5 /* test3.gz in Resources */, + 06CC18731DE35269003532F5 /* test6.deflate in Resources */, + 06CC18781DE35269003532F5 /* test4.gz in Resources */, + 06CC187B1DE35269003532F5 /* test7.gz in Resources */, + 06CC18611DE35269003532F5 /* test2.answer in Resources */, + 06CC18701DE35269003532F5 /* test3.deflate in Resources */, + 06CC186F1DE35269003532F5 /* test2.deflate in Resources */, + 06CC186C1DE35269003532F5 /* test6.bz2 in Resources */, + 06CC186B1DE35269003532F5 /* test5.bz2 in Resources */, + 06CC18651DE35269003532F5 /* test6.answer in Resources */, + 06CC18631DE35269003532F5 /* test4.answer in Resources */, + 06CC18761DE35269003532F5 /* test2.gz in Resources */, + 06CC18721DE35269003532F5 /* test5.deflate in Resources */, + 06CC186E1DE35269003532F5 /* test1.deflate in Resources */, + 06CC186A1DE35269003532F5 /* test4.bz2 in Resources */, + 06CC18741DE35269003532F5 /* test7.deflate in Resources */, + 06CC18691DE35269003532F5 /* test3.bz2 in Resources */, + 06CC187D1DE35269003532F5 /* test.zlib in Resources */, + 06CC186D1DE35269003532F5 /* test7.bz2 in Resources */, + 06CC18751DE35269003532F5 /* test1.gz in Resources */, + 06CC187C1DE35269003532F5 /* performance_test1.gz in Resources */, + 06CC18601DE35269003532F5 /* test1.answer in Resources */, + 06CC18641DE35269003532F5 /* test5.answer in Resources */, + 06CC18671DE35269003532F5 /* test1.bz2 in Resources */, + 06CC18661DE35269003532F5 /* test7.answer in Resources */, + 06CC18791DE35269003532F5 /* test5.gz in Resources */, + 06CC18681DE35269003532F5 /* test2.bz2 in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -655,6 +662,7 @@ buildActionMask = 2147483647; files = ( 0680E1B51DDA4076005C05EB /* Bzip2Tests.swift in Sources */, + 06CC187F1DE35607003532F5 /* DeflateTests.swift in Sources */, 061FCE2D1DBCC6A30052F7BE /* Constants.swift in Sources */, 0680E1B11DDA2D7C005C05EB /* ZlibTests.swift in Sources */, 0680E1B31DDA3D0A005C05EB /* GzipTests.swift in Sources */, diff --git a/Tests/DeflateTests.swift b/Tests/DeflateTests.swift new file mode 100644 index 00000000..c8eb492c --- /dev/null +++ b/Tests/DeflateTests.swift @@ -0,0 +1,160 @@ +// +// DeflateTests.swift +// SWCompression +// +// Created by Timofey Solomko on 21.11.16. +// Copyright © 2016 tsolomko. All rights reserved. +// + +import XCTest +import SWCompression + +class DeflateTests: XCTestCase { + + static let testType: String = "deflate" + + func testDeflate1() { + let testName = "test1" + guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: DeflateTests.testType)) else { + XCTFail("Failed to load test archive") + return + } + + guard let decompressedData = try? Deflate.decompress(compressedData: testData) else { + XCTFail("Failed to decompress") + return + } + + guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { + XCTFail("Failed to get the answer") + return + } + + XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + } + + func testDeflate2() { + let testName = "test2" + guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: DeflateTests.testType)) else { + XCTFail("Failed to load test archive") + return + } + + guard let decompressedData = try? Deflate.decompress(compressedData: testData) else { + XCTFail("Failed to decompress") + return + } + + guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { + XCTFail("Failed to get the answer") + return + } + + XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + } + + func testDeflate3() { + let testName = "test3" + guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: DeflateTests.testType)) else { + XCTFail("Failed to load test archive") + return + } + + guard let decompressedData = try? Deflate.decompress(compressedData: testData) else { + XCTFail("Failed to decompress") + return + } + + guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { + XCTFail("Failed to get the answer") + return + } + + XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + } + + + func testDeflate4() { + let testName = "test4" + guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: DeflateTests.testType)) else { + XCTFail("Failed to load test archive") + return + } + + guard let decompressedData = try? Deflate.decompress(compressedData: testData) else { + XCTFail("Failed to decompress") + return + } + + guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { + XCTFail("Failed to get the answer") + return + } + + XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + } + + + func testDeflate5() { + let testName = "test5" + guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: DeflateTests.testType)) else { + XCTFail("Failed to load test archive") + return + } + + guard let decompressedData = try? Deflate.decompress(compressedData: testData) else { + XCTFail("Failed to decompress") + return + } + + guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { + XCTFail("Failed to get the answer") + return + } + + XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + } + + + func testDeflate6() { + let testName = "test6" + guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: DeflateTests.testType)) else { + XCTFail("Failed to load test archive") + return + } + + guard let decompressedData = try? Deflate.decompress(compressedData: testData) else { + XCTFail("Failed to decompress") + return + } + + guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { + XCTFail("Failed to get the answer") + return + } + + XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + } + + + func testDeflate7() { + let testName = "test7" + guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: DeflateTests.testType)) else { + XCTFail("Failed to load test archive") + return + } + + guard let decompressedData = try? Deflate.decompress(compressedData: testData) else { + XCTFail("Failed to decompress") + return + } + + guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { + XCTFail("Failed to get the answer") + return + } + + XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + } + +} diff --git a/Tests/GzipTests.swift b/Tests/GzipTests.swift index 9ca7cf29..e1c28da4 100644 --- a/Tests/GzipTests.swift +++ b/Tests/GzipTests.swift @@ -7,7 +7,7 @@ // import XCTest -import SWCompression +@testable import SWCompression class GzipTests: XCTestCase { @@ -20,17 +20,23 @@ class GzipTests: XCTestCase { return } - guard let decompressedData = try? GzipArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? GzipArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = GzipArchive.ServiceInfo(magic: [31, 139], + method: 8, + flags: 8, + mtime: 1477672923, + extraFlags: 0, + osType: 3, + startPoint: 19, + fileName: "test.txt", + comment: "", + crc: 0) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } func testGzip2() { @@ -40,17 +46,23 @@ class GzipTests: XCTestCase { return } - guard let decompressedData = try? GzipArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? GzipArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = GzipArchive.ServiceInfo(magic: [31, 139], + method: 8, + flags: 8, + mtime: 1479237057, + extraFlags: 0, + osType: 3, + startPoint: 23, + fileName: "test2.answer", + comment: "", + crc: 0) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } func testGzip3() { @@ -60,17 +72,23 @@ class GzipTests: XCTestCase { return } - guard let decompressedData = try? GzipArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? GzipArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = GzipArchive.ServiceInfo(magic: [31, 139], + method: 8, + flags: 8, + mtime: 1479237147, + extraFlags: 0, + osType: 3, + startPoint: 23, + fileName: "test3.answer", + comment: "", + crc: 0) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } func testGzip4() { @@ -80,19 +98,26 @@ class GzipTests: XCTestCase { return } - guard let decompressedData = try? GzipArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? GzipArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = GzipArchive.ServiceInfo(magic: [31, 139], + method: 8, + flags: 8, + mtime: 1477673662, + extraFlags: 0, + osType: 3, + startPoint: 25, + fileName: "secondtest.txt", + comment: "", + crc: 0) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } + func testGzip5() { let testName = "test5" guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: GzipTests.testType)) else { @@ -100,17 +125,23 @@ class GzipTests: XCTestCase { return } - guard let decompressedData = try? GzipArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? GzipArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = GzipArchive.ServiceInfo(magic: [31, 139], + method: 8, + flags: 8, + mtime: 1477764584, + extraFlags: 0, + osType: 3, + startPoint: 20, + fileName: "empty.txt", + comment: "", + crc: 0) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } func testGzip6() { @@ -120,17 +151,23 @@ class GzipTests: XCTestCase { return } - guard let decompressedData = try? GzipArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? GzipArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = GzipArchive.ServiceInfo(magic: [31, 139], + method: 8, + flags: 8, + mtime: 1479237483, + extraFlags: 0, + osType: 3, + startPoint: 23, + fileName: "test6.answer", + comment: "", + crc: 0) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } func testGzip7() { @@ -140,17 +177,24 @@ class GzipTests: XCTestCase { return } - guard let decompressedData = try? GzipArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? GzipArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = GzipArchive.ServiceInfo(magic: [31, 139], + method: 8, + flags: 8, + mtime: 1479559913, + extraFlags: 0, + osType: 3, + startPoint: 23, + fileName: "test7.answer", + comment: "", + crc: 0) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } + } diff --git a/Tests/Test Files/Answers/test1.answer b/Tests/Test Files/Answers/test1.answer new file mode 100644 index 00000000..dd973272 --- /dev/null +++ b/Tests/Test Files/Answers/test1.answer @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c98c24b677eff44860afea6f493bbaec5bb1c4cbb209c6fc2bbb47f66ff2ad31 +size 14 diff --git a/Tests/Test Files/Answers/test2.answer b/Tests/Test Files/Answers/test2.answer new file mode 100644 index 00000000..74f477cb --- /dev/null +++ b/Tests/Test Files/Answers/test2.answer @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23515b21189876bfdf653c58cd0f629c3becc467c3af51d0367222c61013006c +size 4834 diff --git a/Tests/Test Files/Answers/test3.answer b/Tests/Test Files/Answers/test3.answer new file mode 100644 index 00000000..4f43ba39 --- /dev/null +++ b/Tests/Test Files/Answers/test3.answer @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20a02b317ae2aaf7be7d7f57b77292e764d2677078282637d49c4f5136be48c8 +size 2100 diff --git a/Tests/Test Files/Answers/test4.answer b/Tests/Test Files/Answers/test4.answer new file mode 100644 index 00000000..a8aa389a --- /dev/null +++ b/Tests/Test Files/Answers/test4.answer @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69ea3e69cec6b829fb3f4259d7bd106311968603d7700d88c336efd568446aa6 +size 1944 diff --git a/Tests/Test Files/Answers/test5.answer b/Tests/Test Files/Answers/test5.answer new file mode 100644 index 00000000..e69de29b diff --git a/Tests/Test Files/Answers/test6.answer b/Tests/Test Files/Answers/test6.answer new file mode 100644 index 00000000..a63872c4 --- /dev/null +++ b/Tests/Test Files/Answers/test6.answer @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c036cbb7553a909f8b8877d4461924307f27ecb66cff928eeeafd569c3887e29 +size 5242880 diff --git a/Tests/Test Files/Answers/test7.answer b/Tests/Test Files/Answers/test7.answer new file mode 100644 index 00000000..96cac9cf --- /dev/null +++ b/Tests/Test Files/Answers/test7.answer @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c4855b23e53675dc81ca4040431cf9d6a100436774a72f4e1574cae972cef0 +size 5242880 diff --git a/Tests/Test Files/BZip2/test1.bz2 b/Tests/Test Files/BZip2/test1.bz2 new file mode 100644 index 00000000..d94a57ee --- /dev/null +++ b/Tests/Test Files/BZip2/test1.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b3b4dceaf4821fb8c8e35aec268430e0bd8e639ca818fe83c890364a20b9ed9 +size 58 diff --git a/Tests/Test Files/BZip2/test2.bz2 b/Tests/Test Files/BZip2/test2.bz2 new file mode 100644 index 00000000..9fa19d77 --- /dev/null +++ b/Tests/Test Files/BZip2/test2.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:188772ba39218343c23204bbb70d9fa1f76eec2929a267ce51c8a6c510ed9bf8 +size 2118 diff --git a/Tests/Test Files/BZip2/test3.bz2 b/Tests/Test Files/BZip2/test3.bz2 new file mode 100644 index 00000000..01f5ba94 --- /dev/null +++ b/Tests/Test Files/BZip2/test3.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53a8f8a15e88b1eccc6b2fcf8cacd219706596e1e4219ee085c9493a88fe384c +size 1717 diff --git a/Tests/Test Files/BZip2/test4.bz2 b/Tests/Test Files/BZip2/test4.bz2 new file mode 100644 index 00000000..6365bb75 --- /dev/null +++ b/Tests/Test Files/BZip2/test4.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24d29908b8183925950966a131033dc2a456ff37c0fa22f16f3e732766f94f0b +size 66 diff --git a/Tests/Test Files/BZip2/test5.bz2 b/Tests/Test Files/BZip2/test5.bz2 new file mode 100644 index 00000000..03f66483 --- /dev/null +++ b/Tests/Test Files/BZip2/test5.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058 +size 14 diff --git a/Tests/Test Files/BZip2/test6.bz2 b/Tests/Test Files/BZip2/test6.bz2 new file mode 100644 index 00000000..476bf0ec --- /dev/null +++ b/Tests/Test Files/BZip2/test6.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89717220146c9cceca4f5f5c7b5f030db0d80deafb2d0404b7109ab31ee8c268 +size 48 diff --git a/Tests/Test Files/BZip2/test7.bz2 b/Tests/Test Files/BZip2/test7.bz2 new file mode 100644 index 00000000..3d80c543 --- /dev/null +++ b/Tests/Test Files/BZip2/test7.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:677e70dbb8dd0f494cb0a70be5048981e5f48a6d6c24acbe8d5c8a6ab8604d1f +size 5267033 diff --git a/Tests/Test Files/Deflate/test1.deflate b/Tests/Test Files/Deflate/test1.deflate new file mode 100755 index 00000000..a83dde3c --- /dev/null +++ b/Tests/Test Files/Deflate/test1.deflate @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fc199e6cf79e9e933568382410af1af348b575c8cf57502410888882360accb +size 20 diff --git a/Tests/Test Files/Deflate/test2.deflate b/Tests/Test Files/Deflate/test2.deflate new file mode 100755 index 00000000..66f86418 --- /dev/null +++ b/Tests/Test Files/Deflate/test2.deflate @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88587829f472a5fb884288b103ca82fb2533f9441f0aa9fb2486cd9b562db5bb +size 2222 diff --git a/Tests/Test Files/Deflate/test3.deflate b/Tests/Test Files/Deflate/test3.deflate new file mode 100755 index 00000000..8c2fed33 --- /dev/null +++ b/Tests/Test Files/Deflate/test3.deflate @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f18cd2f9d7ff891cfe612d7207323075c694a1a465b327c677b638cfcb0bc5e +size 1600 diff --git a/Tests/Test Files/Deflate/test4.deflate b/Tests/Test Files/Deflate/test4.deflate new file mode 100755 index 00000000..8fb92bec --- /dev/null +++ b/Tests/Test Files/Deflate/test4.deflate @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a76c01ce4a7ec6ed660e1c7c39425b27c6c386eb892515de37ad7ce803a818e +size 34 diff --git a/Tests/Test Files/Deflate/test5.deflate b/Tests/Test Files/Deflate/test5.deflate new file mode 100755 index 00000000..7850e63d --- /dev/null +++ b/Tests/Test Files/Deflate/test5.deflate @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb10bd2119a61c84ea3eecd90ddc3bb8c2cfb5622d64ada26647c1b488b5404a +size 6 diff --git a/Tests/Test Files/Deflate/test6.deflate b/Tests/Test Files/Deflate/test6.deflate new file mode 100755 index 00000000..fbcebb66 --- /dev/null +++ b/Tests/Test Files/Deflate/test6.deflate @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4936772e7c65ca1a6b66f14fcdf50a97c22a7c2902805db3e21f03455cf6aec +size 5114 diff --git a/Tests/Test Files/Deflate/test7.deflate b/Tests/Test Files/Deflate/test7.deflate new file mode 100755 index 00000000..1ed50470 --- /dev/null +++ b/Tests/Test Files/Deflate/test7.deflate @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f76009caee72d08206a967e492294cac65aa98f9b5b13c143ec7799f8084c22 +size 5244484 diff --git a/Tests/Test Files/GZip/test1.gz b/Tests/Test Files/GZip/test1.gz index 77e0f4f5..ebb168f2 100644 Binary files a/Tests/Test Files/GZip/test1.gz and b/Tests/Test Files/GZip/test1.gz differ diff --git a/Tests/Test Files/GZip/test2.gz b/Tests/Test Files/GZip/test2.gz index 2808e1fa..3d56e079 100644 Binary files a/Tests/Test Files/GZip/test2.gz and b/Tests/Test Files/GZip/test2.gz differ diff --git a/Tests/Test Files/GZip/test3.gz b/Tests/Test Files/GZip/test3.gz index acf5ad04..3ca5ae29 100644 Binary files a/Tests/Test Files/GZip/test3.gz and b/Tests/Test Files/GZip/test3.gz differ diff --git a/Tests/Test Files/GZip/test4.gz b/Tests/Test Files/GZip/test4.gz index 6aa6cd01..11c1487e 100644 Binary files a/Tests/Test Files/GZip/test4.gz and b/Tests/Test Files/GZip/test4.gz differ diff --git a/Tests/Test Files/GZip/test5.gz b/Tests/Test Files/GZip/test5.gz index da7ea208..554d16f8 100644 Binary files a/Tests/Test Files/GZip/test5.gz and b/Tests/Test Files/GZip/test5.gz differ diff --git a/Tests/Test Files/GZip/test6.gz b/Tests/Test Files/GZip/test6.gz index 86265943..699232ff 100644 Binary files a/Tests/Test Files/GZip/test6.gz and b/Tests/Test Files/GZip/test6.gz differ diff --git a/Tests/Test Files/GZip/test7.gz b/Tests/Test Files/GZip/test7.gz index 82cb2f37..57607175 100644 Binary files a/Tests/Test Files/GZip/test7.gz and b/Tests/Test Files/GZip/test7.gz differ diff --git a/Tests/Test Files/Zlib/test1.zlib b/Tests/Test Files/Zlib/test1.zlib deleted file mode 100644 index 779f16a0..00000000 Binary files a/Tests/Test Files/Zlib/test1.zlib and /dev/null differ diff --git a/Tests/Test Files/Zlib/test2.zlib b/Tests/Test Files/Zlib/test2.zlib deleted file mode 100644 index c5d34c1a..00000000 Binary files a/Tests/Test Files/Zlib/test2.zlib and /dev/null differ diff --git a/Tests/Test Files/Zlib/test3.zlib b/Tests/Test Files/Zlib/test3.zlib deleted file mode 100644 index 5f64fc3d..00000000 Binary files a/Tests/Test Files/Zlib/test3.zlib and /dev/null differ diff --git a/Tests/Test Files/Zlib/test4.zlib b/Tests/Test Files/Zlib/test4.zlib deleted file mode 100644 index 91747843..00000000 Binary files a/Tests/Test Files/Zlib/test4.zlib and /dev/null differ diff --git a/Tests/Test Files/Zlib/test5.zlib b/Tests/Test Files/Zlib/test5.zlib deleted file mode 100644 index f89cd1a7..00000000 Binary files a/Tests/Test Files/Zlib/test5.zlib and /dev/null differ diff --git a/Tests/Test Files/Zlib/test6.zlib b/Tests/Test Files/Zlib/test6.zlib deleted file mode 100644 index 4d0a06d7..00000000 Binary files a/Tests/Test Files/Zlib/test6.zlib and /dev/null differ diff --git a/Tests/Test Files/Zlib/test7.zlib b/Tests/Test Files/Zlib/test7.zlib deleted file mode 100644 index 243b0d5b..00000000 Binary files a/Tests/Test Files/Zlib/test7.zlib and /dev/null differ diff --git a/Tests/Test Files/test.zlib b/Tests/Test Files/test.zlib new file mode 100644 index 00000000..b7297e29 --- /dev/null +++ b/Tests/Test Files/test.zlib @@ -0,0 +1 @@ +xœ \ No newline at end of file diff --git a/Tests/ZlibTests.swift b/Tests/ZlibTests.swift index 23a60613..050be22c 100644 --- a/Tests/ZlibTests.swift +++ b/Tests/ZlibTests.swift @@ -7,150 +7,30 @@ // import XCTest -import SWCompression +@testable import SWCompression class ZlibTests: XCTestCase { static let testType: String = "zlib" - func testZlib1() { - let testName = "test1" + func testZlib() { + let testName = "test" guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: ZlibTests.testType)) else { XCTFail("Failed to load test archive") return } - guard let decompressedData = try? ZlibArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") + guard let testServiceInfo = try? ZlibArchive.serviceInfo(archiveData: testData) else { + XCTFail("Failed to get service info") return } - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } + let answerServiceInfo = ZlibArchive.ServiceInfo(compressionMethod: 8, + windowSize: 32768, + compressionLevel: .defaultAlgorithm, + startPoint: 2) - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") - } - - func testZlib2() { - let testName = "test2" - guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: ZlibTests.testType)) else { - XCTFail("Failed to load test archive") - return - } - - guard let decompressedData = try? ZlibArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") - return - } - - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } - - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") - } - - func testZlib3() { - let testName = "test3" - guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: ZlibTests.testType)) else { - XCTFail("Failed to load test archive") - return - } - - guard let decompressedData = try? ZlibArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") - return - } - - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } - - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") - } - - func testZlib4() { - let testName = "test4" - guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: ZlibTests.testType)) else { - XCTFail("Failed to load test archive") - return - } - - guard let decompressedData = try? ZlibArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") - return - } - - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } - - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") - } - - func testZlib5() { - let testName = "test5" - guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: ZlibTests.testType)) else { - XCTFail("Failed to load test archive") - return - } - - guard let decompressedData = try? ZlibArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") - return - } - - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } - - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") - } - - func testZlib6() { - let testName = "test6" - guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: ZlibTests.testType)) else { - XCTFail("Failed to load test archive") - return - } - - guard let decompressedData = try? ZlibArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") - return - } - - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } - - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") - } - - func testZlib7() { - let testName = "test7" - guard let testData = try? Data(contentsOf: Constants.url(forTest: testName, withType: ZlibTests.testType)) else { - XCTFail("Failed to load test archive") - return - } - - guard let decompressedData = try? ZlibArchive.unarchive(archiveData: testData) else { - XCTFail("Failed to decompress") - return - } - - guard let answerData = try? Data(contentsOf: Constants.url(forAnswer: testName)) else { - XCTFail("Failed to get the answer") - return - } - - XCTAssertEqual(decompressedData, answerData, "Decompression was incorrect") + XCTAssertEqual(testServiceInfo, answerServiceInfo, "Incorrect service info") } }