Files
passforios-mirror/passKitTests/Parser/AdditionFieldTest.swift
Danny Mösch 1bdf9d684b Rely on SPM plugins to consume SwiftLint and SwiftFormat
Use their latest releases and fix some violations and issues.

# Conflicts:
#	.github/workflows/linting.yml
#	.github/workflows/testing.yml
2024-11-29 00:18:30 +01:00

52 lines
1.9 KiB
Swift

//
// AdditionFieldTest.swift
// passKitTests
//
// Created by Danny Moesch on 30.09.18.
// Copyright © 2018 Bob Sun. All rights reserved.
//
import XCTest
@testable import passKit
final class AdditionFieldTest: XCTestCase {
func testAdditionField() {
let field1 = AdditionField(title: "key", content: "value")
let field2 = AdditionField(title: "no content")
let field3 = AdditionField(content: "no title")
XCTAssertEqual(field1.asString, "key: value")
XCTAssertEqual(field2.asString, "no content: ")
XCTAssertEqual(field3.asString, "no title")
XCTAssert(field1.asTuple == ("key", "value"))
XCTAssert(field2.asTuple == ("no content", ""))
XCTAssert(field3.asTuple == ("", "no title"))
}
func testAdditionFieldEquals() {
XCTAssertEqual("key" => "value", "key" => "value")
XCTAssertNotEqual("key" => "value", "key" => "some other value")
}
func testInfixAdditionFieldInitialization() {
XCTAssertEqual("key" => "value", AdditionField(title: "key", content: "value"))
}
func testAdditionFieldOperators() {
let field1 = "key" => "value"
let field2 = "some other key" => "some other value"
let field3 = "" => "no title"
XCTAssertEqual("start" | field1, "start\nkey: value")
XCTAssertEqual("" | field1, "\nkey: value")
XCTAssertEqual(field1 | "end", "key: value\nend")
XCTAssertEqual(field1 | "", "key: value")
XCTAssertEqual("start" | field1 | field2, "start\nkey: value\nsome other key: some other value")
XCTAssertEqual(field1 | field2 | "end", "key: value\nsome other key: some other value\nend")
XCTAssertEqual(field1 | field2 | field3, "key: value\nsome other key: some other value\nno title")
XCTAssertEqual("check" => "for right" | "operator" => "precedence", "check: for right\noperator: precedence")
}
}