From a6ec0ea4b95dfd6decc18b9d92731802ba5565a4 Mon Sep 17 00:00:00 2001 From: Timofey Solomko Date: Mon, 31 Oct 2016 00:00:21 +0300 Subject: [PATCH] Added more complicated zlib test. --- SWCompression.xcodeproj/project.pbxproj | 11 +++++++++++ Tests/Constants.swift | 5 +++++ Tests/SWCompressionTests.swift | 14 ++++++++++++++ Tests/Test Files/secondtest.zlib | Bin 0 -> 688 bytes 4 files changed, 30 insertions(+) create mode 100644 Tests/Test Files/secondtest.zlib diff --git a/SWCompression.xcodeproj/project.pbxproj b/SWCompression.xcodeproj/project.pbxproj index 66362314..874d7e07 100644 --- a/SWCompression.xcodeproj/project.pbxproj +++ b/SWCompression.xcodeproj/project.pbxproj @@ -42,6 +42,8 @@ 065569791DC65C2B00A47E66 /* HuffmanTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06E961C91DBD5FA1008C47F2 /* HuffmanTable.swift */; }; 0655697A1DC65C2B00A47E66 /* HuffmanLength.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AC9B0C1DC1027900A5066B /* HuffmanLength.swift */; }; 0655697B1DC65C2B00A47E66 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 061FCE301DBCC8BF0052F7BE /* Extensions.swift */; }; + 0655697D1DC6963F00A47E66 /* secondtest.zlib in Resources */ = {isa = PBXBuildFile; fileRef = 0655697C1DC6963F00A47E66 /* secondtest.zlib */; }; + 0655697F1DC6966300A47E66 /* secondtest.zlib.answer in Resources */ = {isa = PBXBuildFile; fileRef = 0655697E1DC6966300A47E66 /* secondtest.zlib.answer */; }; 06AC9B0D1DC1027900A5066B /* HuffmanLength.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AC9B0C1DC1027900A5066B /* HuffmanLength.swift */; }; 06BE1AD21DB410F100EE0F59 /* SWCompression.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06BE1AC81DB410F100EE0F59 /* SWCompression.framework */; }; 06BE1AD71DB410F100EE0F59 /* SWCompressionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06BE1AD61DB410F100EE0F59 /* SWCompressionTests.swift */; }; @@ -79,6 +81,8 @@ 065569611DC65B1B00A47E66 /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; 065569621DC65B1B00A47E66 /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; 065569631DC65B1B00A47E66 /* Info-watchOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-watchOS.plist"; sourceTree = ""; }; + 0655697C1DC6963F00A47E66 /* secondtest.zlib */ = {isa = PBXFileReference; lastKnownFileType = file; path = secondtest.zlib; sourceTree = ""; }; + 0655697E1DC6966300A47E66 /* secondtest.zlib.answer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = secondtest.zlib.answer; sourceTree = ""; }; 06AC9B0C1DC1027900A5066B /* HuffmanLength.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HuffmanLength.swift; sourceTree = ""; }; 06BE1AC81DB410F100EE0F59 /* SWCompression.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SWCompression.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 06BE1ACB1DB410F100EE0F59 /* SWCompression.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SWCompression.h; sourceTree = ""; }; @@ -141,6 +145,8 @@ 0644925B1DC6121800F10981 /* helloworld.txt.zlib */, 06E63DB21DC3B8BD00D3A7C8 /* secondtest.txt */, 06E63DB31DC3B8BD00D3A7C8 /* secondtest.txt.gz */, + 0655697C1DC6963F00A47E66 /* secondtest.zlib */, + 0655697E1DC6966300A47E66 /* secondtest.zlib.answer */, ); path = "Test Files"; sourceTree = ""; @@ -418,7 +424,9 @@ files = ( 063364DF1DC51D33007E313F /* empty.txt.gz in Resources */, 061FCE2B1DBCC6070052F7BE /* helloworld.txt.gz in Resources */, + 0655697D1DC6963F00A47E66 /* secondtest.zlib in Resources */, 06E63DB41DC3B8BD00D3A7C8 /* secondtest.txt in Resources */, + 0655697F1DC6966300A47E66 /* secondtest.zlib.answer in Resources */, 0644925D1DC6121800F10981 /* helloworld.txt.zlib in Resources */, 06E63DB51DC3B8BD00D3A7C8 /* secondtest.txt.gz in Resources */, 061FCE2A1DBCC6070052F7BE /* helloworld.txt in Resources */, @@ -831,6 +839,7 @@ 065569451DC659FF00A47E66 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 065569511DC65A8000A47E66 /* Build configuration list for PBXNativeTarget "SWCompression watchOS" */ = { isa = XCConfigurationList; @@ -839,6 +848,7 @@ 065569531DC65A8000A47E66 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 0655695E1DC65A9500A47E66 /* Build configuration list for PBXNativeTarget "SWCompression tvOS" */ = { isa = XCConfigurationList; @@ -847,6 +857,7 @@ 065569601DC65A9500A47E66 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 06BE1AC21DB410F100EE0F59 /* Build configuration list for PBXProject "SWCompression" */ = { isa = XCConfigurationList; diff --git a/Tests/Constants.swift b/Tests/Constants.swift index b84aaf5d..bdc0eeb1 100644 --- a/Tests/Constants.swift +++ b/Tests/Constants.swift @@ -26,4 +26,9 @@ struct Constants { static let helloWorldZlibPath = testBundle.url(forResource: "helloworld.txt", withExtension: "zlib")! + static let secondZlibTestPath = testBundle.url(forResource: "secondtest", + withExtension: "zlib")! + static let secondZlibTestAnswerPath = testBundle.url(forResource: "secondtest.zlib", + withExtension: "answer")! + } diff --git a/Tests/SWCompressionTests.swift b/Tests/SWCompressionTests.swift index 926ced63..16961547 100644 --- a/Tests/SWCompressionTests.swift +++ b/Tests/SWCompressionTests.swift @@ -58,4 +58,18 @@ class SWCompressionTests: XCTestCase { XCTAssertEqual(decompressedString!, "Hello, World!\n", "Decompression was incorrect") } + func testSecondZlibFile() { + let testData = try? Data(contentsOf: Constants.secondZlibTestPath) + XCTAssertNotNil(testData, "Failed to load test archive") + let decompressedData = try? ZlibArchive.unarchive(archiveData: testData!) + XCTAssertNotNil(decompressedData, "Failed to decompress") + guard decompressedData != nil else { return } + let decompressedString = String(data: decompressedData!, encoding: .utf8) + XCTAssertNotNil(decompressedString, "Failed to convert decompressed data to string") + let answerString = try? String(contentsOf: Constants.secondZlibTestAnswerPath, encoding: .utf8) + XCTAssertNotNil(answerString, "Failed to get the answer") + guard answerString != nil else { return } + XCTAssertEqual(decompressedString!, answerString!, "Decompression was incorrect") + } + } diff --git a/Tests/Test Files/secondtest.zlib b/Tests/Test Files/secondtest.zlib new file mode 100644 index 0000000000000000000000000000000000000000..480593bf2ac51b96a7299fb7ca49959544d5bd67 GIT binary patch literal 688 zcmV;h0#E%&iKUlqZ<{a>$KOxdSBcg(+O(H6QPxU}7L`cTrbv|omvF1G+1Ze#pMHj= zfdn|5?2S2_{}12!{D6Z|n*DzNE?A>Pi(pn^22z^U6jH5LQ$a5itqLH6uKH7_YuxOY zg0^5sY5a!;7n-b)4f8^-Yqyw}n`rkRNBd7bU^Nuc_+nIS>L z{Hk?!GunybGRz}HhP%4M+iSr)9)to5XxVIdq0Z%kzyKA(Vn;(yj}Lh&)GBZqL5GLG zaw3cc>hbHJ{$AqitDyL3a2f7F*zB^*RUP$Zm4*5;dIrr%8+&KL*q(KD&=X3DLPgLp z`2nbj<*zW&(Tnp3ZrNTYLdvBMC_OaP_3w!o7`rKKK*fiL$2{oL^WQIYIcD`S#*R1dnp>fr@*kaVQJtiwpvZI0pDhLw<8J|?Hqr7}=unQqYjH=l- z1z{6@s?4NtTVPdsOq7P&!@ZW;+ZCU+-jegHyd@vA@&|CoZCQB4d9G!@tL45tgOA2# z>Ny&NlHYAwkb4`UkOA>wJSqiLorn{+DiyyhYw^*#N3sbUP6y;Myfw8T_tKX0G_cnF z0P*vw=E|++(?B={8m!*!Pbyyi@hsmH%Nqq8(!S zX!}_0-)D8!u*qDwd7o;^lG>VT1*~hQ%>0e{LONG5>s$vpb7wWGZI}RLL#wU>_sBv= zh(23vFBTyAl3^x?{y(0;0A z$_{6zgYsA%4XV1~J%1egM&$ILJ+-0p-&bpPnquGV{cx>%_grqc