Files
SwiftShell/Tests/StreamTests/FileHandle_Tests.swift
Kare Morstol a1ad3fb25c Reformat code using swiftformat 0.40.14
Because it is the last version that does indentation and alignment correctly (tabs for indentation, spaces for alignment).
2020-07-11 15:33:57 +02:00

41 lines
1.1 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 Foundation
import SwiftShell
import XCTest
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.")
}
}