diff --git a/Zip.xcodeproj/project.pbxproj b/Zip.xcodeproj/project.pbxproj index 61bf745e360a5a81f10eaf51c28bac3227764806..bb53fc24d46020738e76af742e06a13717805ce4 100644 --- a/Zip.xcodeproj/project.pbxproj +++ b/Zip.xcodeproj/project.pbxproj @@ -38,13 +38,13 @@ 3430F6201C45C805007473A6 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3430F61F1C45C805007473A6 /* libz.tbd */; }; 343625BB1C5827DC0023C4C6 /* ZipUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 343625BA1C5827DC0023C4C6 /* ZipUtilities.swift */; }; 3443A3F61C4AB8A3004AD173 /* QuickZip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3443A3F51C4AB8A3004AD173 /* QuickZip.swift */; }; - 3443A3F91C4AD169004AD173 /* kYkLkPf.gif in Resources */ = {isa = PBXBuildFile; fileRef = 3443A3F81C4AD169004AD173 /* kYkLkPf.gif */; }; - 3443A3FB1C4AD16F004AD173 /* 3crBXeO.gif in Resources */ = {isa = PBXBuildFile; fileRef = 3443A3FA1C4AD16F004AD173 /* 3crBXeO.gif */; }; 3443A3FD1C4AD199004AD173 /* bb8.zip in Resources */ = {isa = PBXBuildFile; fileRef = 3443A3FC1C4AD199004AD173 /* bb8.zip */; }; 347E3A781C1DFFB500A11FD3 /* Zip.h in Headers */ = {isa = PBXBuildFile; fileRef = 347E3A771C1DFFB500A11FD3 /* Zip.h */; settings = {ATTRIBUTES = (Public, ); }; }; 347E3A7F1C1DFFB500A11FD3 /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 347E3A741C1DFFB500A11FD3 /* Zip.framework */; }; 347E3A841C1DFFB500A11FD3 /* ZipTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E3A831C1DFFB500A11FD3 /* ZipTests.swift */; }; 347E3AD81C1E04C900A11FD3 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347E3AD71C1E04C900A11FD3 /* Zip.swift */; }; + 34940A241C58876200D41574 /* 3crBXeO.gif in Resources */ = {isa = PBXBuildFile; fileRef = 34940A221C58876200D41574 /* 3crBXeO.gif */; }; + 34940A251C58876200D41574 /* kYkLkPf.gif in Resources */ = {isa = PBXBuildFile; fileRef = 34940A231C58876200D41574 /* kYkLkPf.gif */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -90,8 +90,6 @@ 3430F61F1C45C805007473A6 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 343625BA1C5827DC0023C4C6 /* ZipUtilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZipUtilities.swift; sourceTree = ""; }; 3443A3F51C4AB8A3004AD173 /* QuickZip.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QuickZip.swift; sourceTree = ""; }; - 3443A3F81C4AD169004AD173 /* kYkLkPf.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = kYkLkPf.gif; sourceTree = ""; }; - 3443A3FA1C4AD16F004AD173 /* 3crBXeO.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = 3crBXeO.gif; sourceTree = ""; }; 3443A3FC1C4AD199004AD173 /* bb8.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = bb8.zip; sourceTree = ""; }; 347E3A741C1DFFB500A11FD3 /* Zip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Zip.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 347E3A771C1DFFB500A11FD3 /* Zip.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Zip.h; sourceTree = ""; }; @@ -100,6 +98,8 @@ 347E3A831C1DFFB500A11FD3 /* ZipTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZipTests.swift; sourceTree = ""; }; 347E3A851C1DFFB500A11FD3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 347E3AD71C1E04C900A11FD3 /* Zip.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Zip.swift; sourceTree = ""; }; + 34940A221C58876200D41574 /* 3crBXeO.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = 3crBXeO.gif; path = Images/3crBXeO.gif; sourceTree = ""; }; + 34940A231C58876200D41574 /* kYkLkPf.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = kYkLkPf.gif; path = Images/kYkLkPf.gif; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -201,8 +201,8 @@ 347E3A821C1DFFB500A11FD3 /* ZipTests */ = { isa = PBXGroup; children = ( - 3443A3FA1C4AD16F004AD173 /* 3crBXeO.gif */, - 3443A3F81C4AD169004AD173 /* kYkLkPf.gif */, + 34940A221C58876200D41574 /* 3crBXeO.gif */, + 34940A231C58876200D41574 /* kYkLkPf.gif */, 3443A3FC1C4AD199004AD173 /* bb8.zip */, 347E3A831C1DFFB500A11FD3 /* ZipTests.swift */, 347E3A851C1DFFB500A11FD3 /* Info.plist */, @@ -324,9 +324,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 34940A251C58876200D41574 /* kYkLkPf.gif in Resources */, 3443A3FD1C4AD199004AD173 /* bb8.zip in Resources */, - 3443A3F91C4AD169004AD173 /* kYkLkPf.gif in Resources */, - 3443A3FB1C4AD16F004AD173 /* 3crBXeO.gif in Resources */, + 34940A241C58876200D41574 /* 3crBXeO.gif in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ZipTests/3crBXeO.gif b/ZipTests/Images/3crBXeO.gif similarity index 100% rename from ZipTests/3crBXeO.gif rename to ZipTests/Images/3crBXeO.gif diff --git a/ZipTests/kYkLkPf.gif b/ZipTests/Images/kYkLkPf.gif similarity index 100% rename from ZipTests/kYkLkPf.gif rename to ZipTests/Images/kYkLkPf.gif diff --git a/ZipTests/ZipTests.swift b/ZipTests/ZipTests.swift index e19355a2fc24ab7bbdaaee991ccb0b075cc8952e..387abda527f5c94734fa0c11cfba365bed013099 100644 --- a/ZipTests/ZipTests.swift +++ b/ZipTests/ZipTests.swift @@ -108,6 +108,29 @@ class ZipTests: XCTestCase { } } + func testQuickZipFolder() { + do { + let fileManager = NSFileManager.defaultManager() + let imageURL1 = NSBundle(forClass: ZipTests.self).URLForResource("3crBXeO", withExtension: "gif")! + let imageURL2 = NSBundle(forClass: ZipTests.self).URLForResource("kYkLkPf", withExtension: "gif")! + let folderURL = NSBundle(forClass: ZipTests.self).bundleURL.URLByAppendingPathComponent("Directory") + let targetImageURL1 = folderURL.URLByAppendingPathComponent("3crBXeO.gif") + let targetImageURL2 = folderURL.URLByAppendingPathComponent("kYkLkPf.gif") + if fileManager.fileExistsAtPath(folderURL.path!) { + try fileManager.removeItemAtURL(folderURL) + } + try fileManager.createDirectoryAtURL(folderURL, withIntermediateDirectories: false, attributes: nil) + try fileManager.copyItemAtURL(imageURL1, toURL: targetImageURL1) + try fileManager.copyItemAtURL(imageURL2, toURL: targetImageURL2) + let destinationURL = try Zip.quickZipFiles([folderURL], fileName: "directory") + XCTAssertTrue(fileManager.fileExistsAtPath(destinationURL.path!)) + } + catch { + XCTFail() + } + } + + func testZip() { do { let imageURL1 = NSBundle(forClass: ZipTests.self).URLForResource("3crBXeO", withExtension: "gif")!