41 lines
1.0 KiB
Swift
41 lines
1.0 KiB
Swift
//
|
|
// FileHandle_Tests.swift
|
|
// SwiftShell
|
|
//
|
|
// Created by Kåre Morstøl on 19/08/14.
|
|
// Copyright (c) 2014 NotTooBad Software. All rights reserved.
|
|
//
|
|
|
|
import SwiftShell
|
|
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 nil.")
|
|
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.")
|
|
}
|
|
}
|