12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- //
- // UnicodeTests.swift
- //
- // Tests for assorted rendering capabilities
- //
- import Foundation
- import XCTest
- @testable import SwiftTerm
- final class SwiftTermUnicode: XCTestCase {
-
- func testCombiningCharacters ()
- {
- let h = HeadlessTerminal (queue: SwiftTermTests.queue) { exitCode in }
-
- let t = h.terminal!
- // Feed combining characters:
- // "Λ" and COMBINING RING ABOVE to produce the single character Λ̊
- // "v" and COMBINING DOT ABOVE
- // "r" and COMBINING DIAERESIS
- // "a" and COMBINING RIGHT HARPOON ABOVE
- //
- t.feed (text: "\u{39b}\u{30a}\r\nv\u{307}\r\nr\u{308}\r\na\u{20d1}\r\nb\u{20d1}")
-
- XCTAssertEqual(t.getCharacter (col:0, row: 0), "Λ̊")
- XCTAssertEqual(t.getCharacter (col:0, row: 1), "v̇")
- XCTAssertEqual(t.getCharacter (col:0, row: 2), "r̈")
- XCTAssertEqual(t.getCharacter (col:0, row: 3), "a⃑")
- XCTAssertEqual(t.getCharacter (col:0, row: 4), "b⃑")
-
- }
-
- func testEmoji ()
- {
- let h = HeadlessTerminal (queue: SwiftTermTests.queue) { exitCode in }
- let t = h.terminal!
- // This sends emoji, and emoji with skin colors:
- t.feed (text: "👦🏻\r\n👦🏿\r\n")
- XCTAssertEqual(t.getCharacter (col:0, row: 0), "👦")
- XCTAssertEqual(t.getCharacter (col:1, row: 0), "🏻")
- XCTAssertEqual(t.getCharacter (col:0, row: 1), "👦")
- XCTAssertEqual(t.getCharacter (col:1, row: 1), "🏿")
- }
-
- static var allTests = [
- ("testCombiningCharacters", testCombiningCharacters),
- ]
- }
|