Rename package to swift-mustache (#27)
* Rename package to swift-mustache * Update CI
This commit is contained in:
93
Tests/MustacheTests/ErrorTests.swift
Normal file
93
Tests/MustacheTests/ErrorTests.swift
Normal file
@@ -0,0 +1,93 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This source file is part of the Hummingbird server framework project
|
||||
//
|
||||
// Copyright (c) 2021-2021 the Hummingbird authors
|
||||
// Licensed under Apache License v2.0
|
||||
//
|
||||
// See LICENSE.txt for license information
|
||||
// See hummingbird/CONTRIBUTORS.txt for the list of Hummingbird authors
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
import Mustache
|
||||
import XCTest
|
||||
|
||||
final class ErrorTests: XCTestCase {
|
||||
func testSectionCloseNameIncorrect() {
|
||||
XCTAssertThrowsError(try MustacheTemplate(string: """
|
||||
{{#test}}
|
||||
{{.}}
|
||||
{{/test2}}
|
||||
""")) { error in
|
||||
switch error {
|
||||
case let error as MustacheTemplate.ParserError:
|
||||
XCTAssertEqual(error.error as? MustacheTemplate.Error, .sectionCloseNameIncorrect)
|
||||
XCTAssertEqual(error.context.line, "{{/test2}}")
|
||||
XCTAssertEqual(error.context.lineNumber, 3)
|
||||
XCTAssertEqual(error.context.columnNumber, 4)
|
||||
|
||||
default:
|
||||
XCTFail("\(error)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testUnfinishedName() {
|
||||
XCTAssertThrowsError(try MustacheTemplate(string: """
|
||||
{{#test}}
|
||||
{{name}
|
||||
{{/test2}}
|
||||
""")) { error in
|
||||
switch error {
|
||||
case let error as MustacheTemplate.ParserError:
|
||||
XCTAssertEqual(error.error as? MustacheTemplate.Error, .unfinishedName)
|
||||
XCTAssertEqual(error.context.line, "{{name}")
|
||||
XCTAssertEqual(error.context.lineNumber, 2)
|
||||
XCTAssertEqual(error.context.columnNumber, 7)
|
||||
|
||||
default:
|
||||
XCTFail("\(error)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testExpectedSectionEnd() {
|
||||
XCTAssertThrowsError(try MustacheTemplate(string: """
|
||||
{{#test}}
|
||||
{{.}}
|
||||
""")) { error in
|
||||
switch error {
|
||||
case let error as MustacheTemplate.ParserError:
|
||||
XCTAssertEqual(error.error as? MustacheTemplate.Error, .expectedSectionEnd)
|
||||
XCTAssertEqual(error.context.line, "{{.}}")
|
||||
XCTAssertEqual(error.context.lineNumber, 2)
|
||||
XCTAssertEqual(error.context.columnNumber, 6)
|
||||
|
||||
default:
|
||||
XCTFail("\(error)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func testInvalidSetDelimiter() {
|
||||
XCTAssertThrowsError(try MustacheTemplate(string: """
|
||||
{{=<% %>=}}
|
||||
<%.%>
|
||||
<%={{}}=%>
|
||||
""")) { error in
|
||||
switch error {
|
||||
case let error as MustacheTemplate.ParserError:
|
||||
XCTAssertEqual(error.error as? MustacheTemplate.Error, .invalidSetDelimiter)
|
||||
XCTAssertEqual(error.context.line, "<%={{}}=%>")
|
||||
XCTAssertEqual(error.context.lineNumber, 3)
|
||||
XCTAssertEqual(error.context.columnNumber, 4)
|
||||
|
||||
default:
|
||||
XCTFail("\(error)")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user