49 lines
1.3 KiB
Swift
Executable File
49 lines
1.3 KiB
Swift
Executable File
//
|
|
// 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
|
|
import Foundation
|
|
|
|
public class FileHandle_Tests: XCTestCase {
|
|
|
|
func testWriteAndReadSome() {
|
|
let pipe = Pipe()
|
|
let writer = pipe.fileHandleForWriting
|
|
let reader = pipe.fileHandleForReading
|
|
|
|
writer.write("line1")
|
|
XCTAssertEqual(reader.readSome(encoding: .utf8), "line1")
|
|
writer.write("line2")
|
|
XCTAssertEqual(reader.readSome(encoding: .utf8), "line2")
|
|
|
|
writer.closeFile()
|
|
XCTAssertNil(reader.readSome(encoding: .utf8))
|
|
XCTAssertNil(reader.readSome(encoding: .utf8), "Performing readSome() repeatedly on closed filehandle should return nil.")
|
|
XCTAssertEqual(reader.read(encoding: .utf8), "")
|
|
}
|
|
|
|
func testWriteAndRead() {
|
|
let pipe = Pipe()
|
|
let writer = pipe.fileHandleForWriting
|
|
let reader = pipe.fileHandleForReading
|
|
|
|
writer.write("line1")
|
|
writer.closeFile()
|
|
XCTAssertEqual(reader.read(encoding: .utf8), "line1")
|
|
XCTAssertEqual(reader.read(encoding: .utf8), "", "Performing read() repeatedly on closed filehandle should return empty string.")
|
|
}
|
|
}
|
|
|
|
extension FileHandle_Tests {
|
|
public static var allTests = [
|
|
("testWriteAndReadSome", testWriteAndReadSome),
|
|
("testWriteAndRead", testWriteAndRead),
|
|
]
|
|
}
|