diff --git a/SwiftShellTests/Context_Tests.swift b/SwiftShellTests/Context_Tests.swift index 576dbb0..e192f07 100644 --- a/SwiftShellTests/Context_Tests.swift +++ b/SwiftShellTests/Context_Tests.swift @@ -20,5 +20,6 @@ class Context_Tests: XCTestCase { XCTAssertEqual( main.currentdirectory, "/private/tmp" ) XCTAssertEqual( main.$("/bin/pwd"), "/tmp" ) + XCTAssertEqual( main.currentdirectory, NSFileManager.defaultManager().currentDirectoryPath ) } } diff --git a/SwiftShellTests/FileHandle_Tests.swift b/SwiftShellTests/FileHandle_Tests.swift index dad49aa..7f0a805 100644 --- a/SwiftShellTests/FileHandle_Tests.swift +++ b/SwiftShellTests/FileHandle_Tests.swift @@ -11,5 +11,30 @@ import XCTest class FileHandle_Tests: XCTestCase { + func testWriteAndReadSome () { + let pipe = NSPipe() + let writer = pipe.fileHandleForWriting + let reader = pipe.fileHandleForReading + writer.write("line1") + XCTAssertEqual(reader.readSome(), "line1") + writer.write("line2") + XCTAssertEqual(reader.readSome(), "line2") + + writer.closeFile() + XCTAssertNil(reader.readSome()) + XCTAssertNil(reader.readSome(), "Performing readSome() repeatedly on closed filehandle should return empty string.") + XCTAssertEqual(reader.read(), "") + } + + func testWritelnAndRead () { + let pipe = NSPipe() + let writer = pipe.fileHandleForWriting + let reader = pipe.fileHandleForReading + + writer.writeln("line1") + writer.closeFile() + XCTAssertEqual(reader.read(), "line1\n") + XCTAssertEqual(reader.read(), "", "Performing read() repeatedly on closed filehandle should return empty string.") + } }