Added Swift unit tests; bug fixes for Swift compatibility; verified settings for Xcode 7
This commit is contained in:
committed by
Gianluca Bertani
parent
74cbccda01
commit
f3ccab7a68
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.flyingdolphinstudio.$(PRODUCT_NAME:rfc1034identifier)</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
|
||||
#import "Objective-Zip+NSError.h"
|
||||
@@ -0,0 +1,5 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
|
||||
#import "Objective-Zip+NSError.h"
|
||||
@@ -0,0 +1,476 @@
|
||||
//
|
||||
// Objective-Zip_Swift_Tests.swift
|
||||
// Objective-Zip
|
||||
//
|
||||
// Created by Gianluca Bertani on 20/09/15.
|
||||
// Copyright 2009-2015 Gianluca Bertani. All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions
|
||||
// are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
// * Neither the name of Gianluca Bertani nor the names of its contributors
|
||||
// may be used to endorse or promote products derived from this software
|
||||
// without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES LOSS OF USE, DATA, OR PROFITS OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
|
||||
let HUGE_TEST_BLOCK_LENGTH = 50000
|
||||
let HUGE_TEST_NUMBER_OF_BLOCKS = 100000
|
||||
|
||||
let MAC_TEST_ZIP = "UEsDBBQACAAIAPWF10IAAAAAAAAAAAAAAAANABAAdGVzdF9maWxlLnR4dFVYDACQCsdRjQrHUfYB9gHzT8pKTS7JLEvVjcosUPBNTFYoSS0uUUjLzEnlAgBQSwcIlXE92h4AAAAcAAAAUEsDBAoAAAAAAACG10IAAAAAAAAAAAAAAAAJABAAX19NQUNPU1gvVVgMAKAKx1GgCsdR9gH2AVBLAwQUAAgACAD1hddCAAAAAAAAAAAAAAAAGAAQAF9fTUFDT1NYLy5fdGVzdF9maWxlLnR4dFVYDACQCsdRjQrHUfYB9gFjYBVjZ2BiYPBNTFbwD1aIUIACkBgDJxAbAXElEIP4qxmIAo4hIUFQJkjHHCDmR1PCiBAXT87P1UssKMhJ1QtJrShxzUvOT8nMSwdKlpak6VpYGxqbGBmaW1qYAABQSwcIcBqNwF0AAACrAAAAUEsBAhUDFAAIAAgA9YXXQpVxPdoeAAAAHAAAAA0ADAAAAAAAAAAAQKSBAAAAAHRlc3RfZmlsZS50eHRVWAgAkArHUY0Kx1FQSwECFQMKAAAAAAAAhtdCAAAAAAAAAAAAAAAACQAMAAAAAAAAAABA/UFpAAAAX19NQUNPU1gvVVgIAKAKx1GgCsdRUEsBAhUDFAAIAAgA9YXXQnAajcBdAAAAqwAAABgADAAAAAAAAAAAQKSBoAAAAF9fTUFDT1NYLy5fdGVzdF9maWxlLnR4dFVYCACQCsdRjQrHUVBLBQYAAAAAAwADANwAAABTAQAAAAA="
|
||||
let WIN_TEST_ZIP = "UEsDBBQAAAAAAMmF10L4VbPKIQAAACEAAAANAAAAdGVzdF9maWxlLnR4dE9iamVjdGl2ZS1aaXAgV2luZG93cyB0ZXN0IGZpbGUNClBLAQIUABQAAAAAAMmF10L4VbPKIQAAACEAAAANAAAAAAAAAAEAIAAAAAAAAAB0ZXN0X2ZpbGUudHh0UEsFBgAAAAABAAEAOwAAAEwAAAAAAA=="
|
||||
|
||||
class Objective_Zip_Swift_Tests: XCTestCase {
|
||||
|
||||
override func setUp() {
|
||||
super.setUp()
|
||||
}
|
||||
|
||||
override func tearDown() {
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
func test01ZipAndUnzip() {
|
||||
let documentsUrl = NSURL(fileURLWithPath:NSHomeDirectory(), isDirectory:true).URLByAppendingPathComponent("Documents")
|
||||
let fileUrl = documentsUrl.URLByAppendingPathComponent("test.zip")
|
||||
let filePath = fileUrl.path!
|
||||
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
|
||||
defer {
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
}
|
||||
|
||||
do {
|
||||
NSLog("Test 1: opening zip file for writing...")
|
||||
|
||||
let zipFile = try OZZipFile(fileName:filePath, mode:OZZipFileMode.Create)
|
||||
|
||||
XCTAssertNotNil(zipFile)
|
||||
|
||||
NSLog("Test 1: adding first file...")
|
||||
|
||||
let stream1 = try zipFile.writeFileInZipWithName("abc.txt", fileDate:NSDate(timeIntervalSinceNow:-86400.0), compressionLevel:OZZipCompressionLevel.Best)
|
||||
|
||||
XCTAssertNotNil(stream1)
|
||||
|
||||
NSLog("Test 1: writing to first file's stream...")
|
||||
|
||||
let text = "abc"
|
||||
try stream1.writeData(text.dataUsingEncoding(NSUTF8StringEncoding)!)
|
||||
|
||||
NSLog("Test 1: closing first file's stream...")
|
||||
|
||||
try stream1.finishedWriting()
|
||||
|
||||
NSLog("Test 1: adding second file...")
|
||||
|
||||
let file2name = "x/y/z/xyz.txt"
|
||||
let stream2 = try zipFile.writeFileInZipWithName(file2name, compressionLevel:OZZipCompressionLevel.None)
|
||||
|
||||
XCTAssertNotNil(stream2)
|
||||
|
||||
NSLog("Test 1: writing to second file's stream...")
|
||||
|
||||
let text2 = "XYZ"
|
||||
try stream2.writeData(text2.dataUsingEncoding(NSUTF8StringEncoding)!)
|
||||
|
||||
NSLog("Test 1: closing second file's stream...")
|
||||
|
||||
try stream2.finishedWriting()
|
||||
|
||||
NSLog("Test 1: closing zip file...")
|
||||
|
||||
try zipFile.close()
|
||||
|
||||
NSLog("Test 1: opening zip file for reading...")
|
||||
|
||||
let unzipFile = try OZZipFile(fileName:filePath, mode:OZZipFileMode.Unzip)
|
||||
|
||||
XCTAssertNotNil(unzipFile)
|
||||
|
||||
NSLog("Test 1: reading file infos...")
|
||||
|
||||
let infos = try unzipFile.listFileInZipInfos()
|
||||
|
||||
XCTAssertEqual(2, infos.count)
|
||||
|
||||
let info1 = infos[0] as! OZFileInZipInfo
|
||||
|
||||
XCTAssertEqualWithAccuracy(NSDate().timeIntervalSinceReferenceDate, info1.date.timeIntervalSinceReferenceDate + 86400, accuracy:5.0)
|
||||
|
||||
NSLog("Test 1: - \(info1.name) \(info1.date) \(info1.size) (\(info1.level))")
|
||||
|
||||
let info2 = infos[1] as! OZFileInZipInfo
|
||||
|
||||
XCTAssertEqualWithAccuracy(NSDate().timeIntervalSinceReferenceDate, info2.date.timeIntervalSinceReferenceDate, accuracy:5.0)
|
||||
|
||||
NSLog("Test 1: - \(info2.name) \(info2.date) \(info2.size) (\(info2.level))")
|
||||
|
||||
NSLog("Test 1: opening first file...")
|
||||
|
||||
try unzipFile.goToFirstFileInZip()
|
||||
let read1 = try unzipFile.readCurrentFileInZip()
|
||||
|
||||
XCTAssertNotNil(read1)
|
||||
|
||||
NSLog("Test 1: reading from first file's stream...")
|
||||
|
||||
let data1 = NSMutableData(length:256)!
|
||||
|
||||
var error : NSError?
|
||||
let bytesRead1 = read1.readDataWithBuffer(data1, error:&error)
|
||||
if error != nil {
|
||||
throw error!
|
||||
}
|
||||
|
||||
XCTAssertEqual(3, bytesRead1)
|
||||
|
||||
let fileText1 = NSString(bytes:data1.bytes, length:Int(bytesRead1), encoding:NSUTF8StringEncoding)
|
||||
|
||||
XCTAssertEqual("abc", fileText1)
|
||||
|
||||
NSLog("Test 1: closing first file's stream...")
|
||||
|
||||
try read1.finishedReading()
|
||||
|
||||
NSLog("Test 1: opening second file...")
|
||||
|
||||
try unzipFile.locateFileInZip(file2name)
|
||||
let read2 = try unzipFile.readCurrentFileInZip()
|
||||
|
||||
XCTAssertNotNil(read2)
|
||||
|
||||
NSLog("Test 1: reading from second file's stream...")
|
||||
|
||||
let data2 = NSMutableData(length:256)!
|
||||
|
||||
let bytesRead2 = read2.readDataWithBuffer(data2, error:&error)
|
||||
if error != nil {
|
||||
throw error!
|
||||
}
|
||||
|
||||
XCTAssertEqual(3, bytesRead2)
|
||||
|
||||
let fileText2 = NSString(bytes:data2.bytes, length:Int(bytesRead2), encoding:NSUTF8StringEncoding)
|
||||
|
||||
XCTAssertEqual("XYZ", fileText2)
|
||||
|
||||
NSLog("Test 1: closing second file's stream...")
|
||||
|
||||
try read2.finishedReading()
|
||||
|
||||
NSLog("Test 1: closing zip file...")
|
||||
|
||||
try unzipFile.close()
|
||||
|
||||
NSLog("Test 1: test terminated succesfully")
|
||||
|
||||
} catch let error as NSError {
|
||||
NSLog("Test 1: error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
|
||||
XCTFail("Error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
|
||||
} catch let error {
|
||||
NSLog("Test 1: generic error caught: \(error)")
|
||||
|
||||
XCTFail("Generic error caught: \(error)")
|
||||
}
|
||||
}
|
||||
|
||||
func test02ZipAndUnzip5GB() {
|
||||
|
||||
// TODO Remove to enable this test, but be careful: takes 5 minutes and consumes 5 GB of disk space
|
||||
return
|
||||
|
||||
let documentsUrl = NSURL(fileURLWithPath:NSHomeDirectory(), isDirectory:true).URLByAppendingPathComponent("Documents")
|
||||
let fileUrl = documentsUrl.URLByAppendingPathComponent("huge_test.zip")
|
||||
let filePath = fileUrl.path!
|
||||
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
|
||||
defer {
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
}
|
||||
|
||||
do {
|
||||
NSLog("Test 2: opening zip file for writing...")
|
||||
|
||||
let zipFile = try OZZipFile(fileName:filePath, mode:OZZipFileMode.Create)
|
||||
|
||||
XCTAssertNotNil(zipFile)
|
||||
|
||||
NSLog("Test 2: adding file...")
|
||||
|
||||
let stream = try zipFile.writeFileInZipWithName("huge_file.txt", compressionLevel:OZZipCompressionLevel.Best)
|
||||
|
||||
XCTAssertNotNil(stream)
|
||||
|
||||
NSLog("Test 2: writing to file's stream...")
|
||||
|
||||
let data = NSMutableData(length:HUGE_TEST_BLOCK_LENGTH)!
|
||||
SecRandomCopyBytes(kSecRandomDefault, data.length, UnsafeMutablePointer<UInt8>(data.mutableBytes))
|
||||
|
||||
let checkData = data.subdataWithRange(NSMakeRange(0, 100))
|
||||
|
||||
let buffer = NSMutableData(length:HUGE_TEST_BLOCK_LENGTH)! // For use later
|
||||
|
||||
for (var i = 0; i < HUGE_TEST_NUMBER_OF_BLOCKS; i++) {
|
||||
try stream.writeData(data)
|
||||
|
||||
if (i % 100 == 0) {
|
||||
NSLog("Test 2: written \((data.length / 1024) * (i + 1)) KB...")
|
||||
}
|
||||
}
|
||||
|
||||
NSLog("Test 2: closing file's stream...")
|
||||
|
||||
try stream.finishedWriting()
|
||||
|
||||
NSLog("Test 2: closing zip file...")
|
||||
|
||||
try zipFile.close()
|
||||
|
||||
NSLog("Test 2: opening zip file for reading...")
|
||||
|
||||
let unzipFile = try OZZipFile(fileName:filePath, mode:OZZipFileMode.Unzip)
|
||||
|
||||
XCTAssertNotNil(unzipFile)
|
||||
|
||||
NSLog("Test 1: reading file infos...")
|
||||
|
||||
let infos = try unzipFile.listFileInZipInfos()
|
||||
|
||||
XCTAssertEqual(1, infos.count)
|
||||
|
||||
let info1 = infos[0] as! OZFileInZipInfo
|
||||
|
||||
XCTAssertEqual(info1.length, UInt64(HUGE_TEST_NUMBER_OF_BLOCKS) * UInt64(HUGE_TEST_BLOCK_LENGTH))
|
||||
|
||||
NSLog("Test 1: - \(info1.name) \(info1.date) \(info1.size) (\(info1.level))")
|
||||
|
||||
NSLog("Test 2: opening file...")
|
||||
|
||||
try unzipFile.goToFirstFileInZip()
|
||||
let read = try unzipFile.readCurrentFileInZip()
|
||||
|
||||
XCTAssertNotNil(read)
|
||||
|
||||
NSLog("Test 2: reading from file's stream...")
|
||||
|
||||
for (var i = 0; i < HUGE_TEST_NUMBER_OF_BLOCKS; i++) {
|
||||
var error : NSError?
|
||||
let bytesRead = read.readDataWithBuffer(buffer, error:&error)
|
||||
if error != nil {
|
||||
throw error!
|
||||
}
|
||||
|
||||
XCTAssertEqual(UInt(data.length), bytesRead)
|
||||
|
||||
let range = buffer.rangeOfData(checkData, options:NSDataSearchOptions(), range:NSMakeRange(0, buffer.length))
|
||||
|
||||
XCTAssertEqual(0, range.location)
|
||||
|
||||
if (i % 100 == 0) {
|
||||
NSLog("Test 2: read \((buffer.length / 1024) * (i + 1))) KB...")
|
||||
}
|
||||
}
|
||||
|
||||
NSLog("Test 2: closing file's stream...")
|
||||
|
||||
try read.finishedReading()
|
||||
|
||||
NSLog("Test 2: closing zip file...")
|
||||
|
||||
try unzipFile.close()
|
||||
|
||||
NSLog("Test 2: test terminated succesfully")
|
||||
|
||||
} catch let error as NSError {
|
||||
NSLog("Test 2: error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
|
||||
XCTFail("Error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
}
|
||||
}
|
||||
|
||||
func test03UnzipMacZipFile() -> () {
|
||||
let documentsUrl = NSURL(fileURLWithPath:NSHomeDirectory(), isDirectory:true).URLByAppendingPathComponent("Documents")
|
||||
let fileUrl = documentsUrl.URLByAppendingPathComponent("mac_test_file.zip")
|
||||
let filePath = fileUrl.path!
|
||||
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
|
||||
let macZipData = NSData(base64EncodedString:MAC_TEST_ZIP, options:NSDataBase64DecodingOptions())!
|
||||
macZipData.writeToFile(filePath, atomically:false)
|
||||
|
||||
defer {
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
}
|
||||
|
||||
do {
|
||||
NSLog("Test 3: opening zip file for reading...")
|
||||
|
||||
let unzipFile = try OZZipFile(fileName:filePath, mode:OZZipFileMode.Unzip)
|
||||
|
||||
XCTAssertNotNil(unzipFile)
|
||||
|
||||
NSLog("Test 3: opening file...")
|
||||
|
||||
try unzipFile.goToFirstFileInZip()
|
||||
let read = try unzipFile.readCurrentFileInZip()
|
||||
|
||||
XCTAssertNotNil(read)
|
||||
|
||||
NSLog("Test 3: reading from file's stream...")
|
||||
|
||||
let buffer = NSMutableData(length:1024)!
|
||||
|
||||
var error : NSError?
|
||||
let bytesRead = read.readDataWithBuffer(buffer, error:&error)
|
||||
if error != nil {
|
||||
throw error!
|
||||
}
|
||||
|
||||
let fileText = NSString(bytes:buffer.bytes, length:Int(bytesRead), encoding:NSUTF8StringEncoding)
|
||||
|
||||
XCTAssertEqual("Objective-Zip Mac test file\n", fileText)
|
||||
|
||||
NSLog("Test 3: closing file's stream...")
|
||||
|
||||
try read.finishedReading()
|
||||
|
||||
NSLog("Test 3: closing zip file...")
|
||||
|
||||
try unzipFile.close()
|
||||
|
||||
NSLog("Test 3: test terminated succesfully")
|
||||
|
||||
} catch let error as NSError {
|
||||
NSLog("Test 3: error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
|
||||
XCTFail("Error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
}
|
||||
}
|
||||
|
||||
func test04UnzipWinZipFile() {
|
||||
let documentsUrl = NSURL(fileURLWithPath:NSHomeDirectory(), isDirectory:true).URLByAppendingPathComponent("Documents")
|
||||
let fileUrl = documentsUrl.URLByAppendingPathComponent("win_test_file.zip")
|
||||
let filePath = fileUrl.path!
|
||||
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
|
||||
let winZipData = NSData(base64EncodedString:WIN_TEST_ZIP, options:NSDataBase64DecodingOptions())!
|
||||
winZipData.writeToFile(filePath, atomically:false)
|
||||
|
||||
defer {
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
}
|
||||
|
||||
do {
|
||||
NSLog("Test 4: opening zip file for reading...")
|
||||
|
||||
let unzipFile = try OZZipFile(fileName:filePath, mode:OZZipFileMode.Unzip)
|
||||
|
||||
XCTAssertNotNil(unzipFile)
|
||||
|
||||
NSLog("Test 4: opening file...")
|
||||
|
||||
try unzipFile.goToFirstFileInZip()
|
||||
let read = try unzipFile.readCurrentFileInZip()
|
||||
|
||||
XCTAssertNotNil(read)
|
||||
|
||||
NSLog("Test 4: reading from file's stream...")
|
||||
|
||||
let buffer = NSMutableData(length:1024)!
|
||||
|
||||
var error : NSError?
|
||||
let bytesRead = read.readDataWithBuffer(buffer, error:&error)
|
||||
if error != nil {
|
||||
throw error!
|
||||
}
|
||||
|
||||
let fileText = NSString(bytes:buffer.bytes, length:Int(bytesRead), encoding:NSUTF8StringEncoding)
|
||||
|
||||
XCTAssertEqual("Objective-Zip Windows test file\r\n", fileText)
|
||||
|
||||
NSLog("Test 4: closing file's stream...")
|
||||
|
||||
try read.finishedReading()
|
||||
|
||||
NSLog("Test 4: closing zip file...")
|
||||
|
||||
try unzipFile.close()
|
||||
|
||||
NSLog("Test 4: test terminated succesfully")
|
||||
|
||||
} catch let error as NSError {
|
||||
NSLog("Test 4: error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
|
||||
XCTFail("Error caught: \(error.code) - \(error.userInfo[NSLocalizedFailureReasonErrorKey])")
|
||||
}
|
||||
}
|
||||
|
||||
func test05ErrorWrapping() {
|
||||
let fileUrl = NSURL(fileURLWithPath:"/root.zip", isDirectory:false)
|
||||
let filePath = fileUrl.path!
|
||||
|
||||
defer {
|
||||
do {
|
||||
try NSFileManager.defaultManager().removeItemAtPath(filePath)
|
||||
} catch {}
|
||||
}
|
||||
|
||||
do {
|
||||
NSLog("Test 5: opening impossible zip file for writing...")
|
||||
|
||||
let zipFile = try OZZipFile(fileName:filePath, mode:OZZipFileMode.Create)
|
||||
|
||||
try zipFile.close()
|
||||
|
||||
NSLog("Test 5: test failed, no error reported")
|
||||
|
||||
XCTFail("No error reported")
|
||||
|
||||
} catch let error as NSError {
|
||||
XCTAssertEqual(OZ_ERROR_NO_SUCH_FILE, error.code)
|
||||
|
||||
NSLog("Test 5: test terminated succesfully")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -177,7 +177,7 @@
|
||||
NSMutableData *data2= [[NSMutableData alloc] initWithLength:256];
|
||||
NSUInteger bytesRead2= [read2 readDataWithBuffer:data2];
|
||||
|
||||
XCTAssertEqual(3, bytesRead1);
|
||||
XCTAssertEqual(3, bytesRead2);
|
||||
|
||||
NSString *fileText2= [[NSString alloc] initWithBytes:[data2 bytes] length:bytesRead2 encoding:NSUTF8StringEncoding];
|
||||
|
||||
@@ -448,7 +448,7 @@
|
||||
|
||||
} @catch (OZZipException *ze) {
|
||||
|
||||
XCTAssertEqual(ERROR_NO_SUCH_FILE, ze.error);
|
||||
XCTAssertEqual(OZ_ERROR_NO_SUCH_FILE, ze.error);
|
||||
|
||||
} @catch (NSException *e) {
|
||||
NSLog(@"Test 5: generic exception caught: %@ - %@", [[e class] description], [e description]);
|
||||
@@ -469,7 +469,7 @@
|
||||
|
||||
XCTAssertNil(zipFile);
|
||||
XCTAssertNotNil(error);
|
||||
XCTAssertEqual(ERROR_NO_SUCH_FILE, error.code);
|
||||
XCTAssertEqual(OZ_ERROR_NO_SUCH_FILE, error.code);
|
||||
|
||||
NSLog(@"Test 5: test terminated succesfully");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user