|
|
@@ -41,7 +41,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
Also, bar
|
|
|
"""#
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderComment,
|
|
|
+ renderedBy: { $0.renderComment(_:) },
|
|
|
rendersAs: #"""
|
|
|
// Generated by foo
|
|
|
//
|
|
|
@@ -56,7 +56,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
Also, bar
|
|
|
"""#
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderComment,
|
|
|
+ renderedBy: { $0.renderComment(_:) },
|
|
|
rendersAs: #"""
|
|
|
/// Generated by foo
|
|
|
///
|
|
|
@@ -65,14 +65,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
)
|
|
|
try _test(
|
|
|
.mark("Lorem ipsum", sectionBreak: false),
|
|
|
- renderedBy: TextBasedRenderer.renderComment,
|
|
|
+ renderedBy: { $0.renderComment(_:) },
|
|
|
rendersAs: #"""
|
|
|
// MARK: Lorem ipsum
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.mark("Lorem ipsum", sectionBreak: true),
|
|
|
- renderedBy: TextBasedRenderer.renderComment,
|
|
|
+ renderedBy: { $0.renderComment(_:) },
|
|
|
rendersAs: #"""
|
|
|
// MARK: - Lorem ipsum
|
|
|
"""#
|
|
|
@@ -83,7 +83,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
Generated by foo\r\nAlso, bar
|
|
|
"""
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderComment,
|
|
|
+ renderedBy: { $0.renderComment(_:) },
|
|
|
rendersAs: #"""
|
|
|
// Generated by foo
|
|
|
// Also, bar
|
|
|
@@ -91,14 +91,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
)
|
|
|
try _test(
|
|
|
.preFormatted("/// Lorem ipsum\n"),
|
|
|
- renderedBy: TextBasedRenderer.renderComment,
|
|
|
+ renderedBy: { $0.renderComment(_:) },
|
|
|
rendersAs: """
|
|
|
/// Lorem ipsum
|
|
|
"""
|
|
|
)
|
|
|
try _test(
|
|
|
.preFormatted("/// Lorem ipsum\n\n/// Lorem ipsum\n"),
|
|
|
- renderedBy: TextBasedRenderer.renderComment,
|
|
|
+ renderedBy: { $0.renderComment(_:) },
|
|
|
rendersAs: """
|
|
|
/// Lorem ipsum
|
|
|
|
|
|
@@ -108,10 +108,10 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
}
|
|
|
|
|
|
func testImports() throws {
|
|
|
- try _test(nil, renderedBy: TextBasedRenderer.renderImports, rendersAs: "")
|
|
|
+ try _test(nil, renderedBy: { $0.renderImports(_:) }, rendersAs: "")
|
|
|
try _test(
|
|
|
[ImportDescription(moduleName: "Foo"), ImportDescription(moduleName: "Bar")],
|
|
|
- renderedBy: TextBasedRenderer.renderImports,
|
|
|
+ renderedBy: { $0.renderImports(_:) },
|
|
|
rendersAs: #"""
|
|
|
import Foo
|
|
|
import Bar
|
|
|
@@ -119,14 +119,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
)
|
|
|
try _test(
|
|
|
[ImportDescription(moduleName: "Foo", spi: "Secret")],
|
|
|
- renderedBy: TextBasedRenderer.renderImports,
|
|
|
+ renderedBy: { $0.renderImports(_:) },
|
|
|
rendersAs: #"""
|
|
|
@_spi(Secret) import Foo
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
[ImportDescription(moduleName: "Foo", preconcurrency: .onOS(["Bar", "Baz"]))],
|
|
|
- renderedBy: TextBasedRenderer.renderImports,
|
|
|
+ renderedBy: { $0.renderImports(_:) },
|
|
|
rendersAs: #"""
|
|
|
#if os(Bar) || os(Baz)
|
|
|
@preconcurrency import Foo
|
|
|
@@ -140,7 +140,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
ImportDescription(moduleName: "Foo", preconcurrency: .always),
|
|
|
ImportDescription(moduleName: "Bar", spi: "Secret", preconcurrency: .always),
|
|
|
],
|
|
|
- renderedBy: TextBasedRenderer.renderImports,
|
|
|
+ renderedBy: { $0.renderImports(_:) },
|
|
|
rendersAs: #"""
|
|
|
@preconcurrency import Foo
|
|
|
@preconcurrency @_spi(Secret) import Bar
|
|
|
@@ -186,7 +186,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
item: ImportDescription.Item(kind: .func, name: "PreconcurrencyBar")
|
|
|
),
|
|
|
],
|
|
|
- renderedBy: TextBasedRenderer.renderImports,
|
|
|
+ renderedBy: { $0.renderImports(_:) },
|
|
|
rendersAs: #"""
|
|
|
import typealias Foo.Bar
|
|
|
import struct Foo.Baz
|
|
|
@@ -205,28 +205,28 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testAccessModifiers() throws {
|
|
|
try _test(
|
|
|
.public,
|
|
|
- renderedBy: TextBasedRenderer.renderedAccessModifier,
|
|
|
+ renderedBy: { $0.renderedAccessModifier(_:) },
|
|
|
rendersAs: #"""
|
|
|
public
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.internal,
|
|
|
- renderedBy: TextBasedRenderer.renderedAccessModifier,
|
|
|
+ renderedBy: { $0.renderedAccessModifier(_:) },
|
|
|
rendersAs: #"""
|
|
|
internal
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.fileprivate,
|
|
|
- renderedBy: TextBasedRenderer.renderedAccessModifier,
|
|
|
+ renderedBy: { $0.renderedAccessModifier(_:) },
|
|
|
rendersAs: #"""
|
|
|
fileprivate
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.private,
|
|
|
- renderedBy: TextBasedRenderer.renderedAccessModifier,
|
|
|
+ renderedBy: { $0.renderedAccessModifier(_:) },
|
|
|
rendersAs: #"""
|
|
|
private
|
|
|
"""#
|
|
|
@@ -236,35 +236,35 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testLiterals() throws {
|
|
|
try _test(
|
|
|
.string("hi"),
|
|
|
- renderedBy: TextBasedRenderer.renderLiteral,
|
|
|
+ renderedBy: { $0.renderLiteral(_:) },
|
|
|
rendersAs: #"""
|
|
|
"hi"
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.string("this string: \"foo\""),
|
|
|
- renderedBy: TextBasedRenderer.renderLiteral,
|
|
|
+ renderedBy: { $0.renderLiteral(_:) },
|
|
|
rendersAs: #"""
|
|
|
#"this string: "foo""#
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.nil,
|
|
|
- renderedBy: TextBasedRenderer.renderLiteral,
|
|
|
+ renderedBy: { $0.renderLiteral(_:) },
|
|
|
rendersAs: #"""
|
|
|
nil
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.array([]),
|
|
|
- renderedBy: TextBasedRenderer.renderLiteral,
|
|
|
+ renderedBy: { $0.renderLiteral(_:) },
|
|
|
rendersAs: #"""
|
|
|
[]
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.array([.literal(.nil)]),
|
|
|
- renderedBy: TextBasedRenderer.renderLiteral,
|
|
|
+ renderedBy: { $0.renderLiteral(_:) },
|
|
|
rendersAs: #"""
|
|
|
[
|
|
|
nil
|
|
|
@@ -273,7 +273,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
)
|
|
|
try _test(
|
|
|
.array([.literal(.nil), .literal(.nil)]),
|
|
|
- renderedBy: TextBasedRenderer.renderLiteral,
|
|
|
+ renderedBy: { $0.renderLiteral(_:) },
|
|
|
rendersAs: #"""
|
|
|
[
|
|
|
nil,
|
|
|
@@ -286,21 +286,21 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testExpression() throws {
|
|
|
try _test(
|
|
|
.literal(.nil),
|
|
|
- renderedBy: TextBasedRenderer.renderExpression,
|
|
|
+ renderedBy: { $0.renderExpression(_:) },
|
|
|
rendersAs: #"""
|
|
|
nil
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.identifierPattern("foo"),
|
|
|
- renderedBy: TextBasedRenderer.renderExpression,
|
|
|
+ renderedBy: { $0.renderExpression(_:) },
|
|
|
rendersAs: #"""
|
|
|
foo
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.memberAccess(.init(left: .identifierPattern("foo"), right: "bar")),
|
|
|
- renderedBy: TextBasedRenderer.renderExpression,
|
|
|
+ renderedBy: { $0.renderExpression(_:) },
|
|
|
rendersAs: #"""
|
|
|
foo.bar
|
|
|
"""#
|
|
|
@@ -312,7 +312,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
arguments: [.init(label: nil, expression: .identifierPattern("foo"))]
|
|
|
)
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderExpression,
|
|
|
+ renderedBy: { $0.renderExpression(_:) },
|
|
|
rendersAs: #"""
|
|
|
callee(foo)
|
|
|
"""#
|
|
|
@@ -322,14 +322,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testDeclaration() throws {
|
|
|
try _test(
|
|
|
.variable(kind: .let, left: "foo"),
|
|
|
- renderedBy: TextBasedRenderer.renderDeclaration,
|
|
|
+ renderedBy: { $0.renderDeclaration(_:) },
|
|
|
rendersAs: #"""
|
|
|
let foo
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.extension(.init(onType: "String", declarations: [])),
|
|
|
- renderedBy: TextBasedRenderer.renderDeclaration,
|
|
|
+ renderedBy: { $0.renderDeclaration(_:) },
|
|
|
rendersAs: #"""
|
|
|
extension String {
|
|
|
}
|
|
|
@@ -337,35 +337,35 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
)
|
|
|
try _test(
|
|
|
.struct(.init(name: "Foo")),
|
|
|
- renderedBy: TextBasedRenderer.renderDeclaration,
|
|
|
+ renderedBy: { $0.renderDeclaration(_:) },
|
|
|
rendersAs: #"""
|
|
|
struct Foo {}
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.protocol(.init(name: "Foo")),
|
|
|
- renderedBy: TextBasedRenderer.renderDeclaration,
|
|
|
+ renderedBy: { $0.renderDeclaration(_:) },
|
|
|
rendersAs: #"""
|
|
|
protocol Foo {}
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.enum(.init(name: "Foo")),
|
|
|
- renderedBy: TextBasedRenderer.renderDeclaration,
|
|
|
+ renderedBy: { $0.renderDeclaration(_:) },
|
|
|
rendersAs: #"""
|
|
|
enum Foo {}
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.typealias(.init(name: "foo", existingType: .member(["Foo", "Bar"]))),
|
|
|
- renderedBy: TextBasedRenderer.renderDeclaration,
|
|
|
+ renderedBy: { $0.renderDeclaration(_:) },
|
|
|
rendersAs: #"""
|
|
|
typealias foo = Foo.Bar
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.function(FunctionDescription.init(kind: .function(name: "foo"), body: [])),
|
|
|
- renderedBy: TextBasedRenderer.renderDeclaration,
|
|
|
+ renderedBy: { $0.renderDeclaration(_:) },
|
|
|
rendersAs: #"""
|
|
|
func foo() {}
|
|
|
"""#
|
|
|
@@ -375,21 +375,21 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testFunctionKind() throws {
|
|
|
try _test(
|
|
|
.initializer,
|
|
|
- renderedBy: TextBasedRenderer.renderedFunctionKind,
|
|
|
+ renderedBy: { $0.renderedFunctionKind(_:) },
|
|
|
rendersAs: #"""
|
|
|
init
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.function(name: "funky"),
|
|
|
- renderedBy: TextBasedRenderer.renderedFunctionKind,
|
|
|
+ renderedBy: { $0.renderedFunctionKind(_:) },
|
|
|
rendersAs: #"""
|
|
|
func funky
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.function(name: "funky", isStatic: true),
|
|
|
- renderedBy: TextBasedRenderer.renderedFunctionKind,
|
|
|
+ renderedBy: { $0.renderedFunctionKind(_:) },
|
|
|
rendersAs: #"""
|
|
|
static func funky
|
|
|
"""#
|
|
|
@@ -399,14 +399,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testFunctionKeyword() throws {
|
|
|
try _test(
|
|
|
.throws,
|
|
|
- renderedBy: TextBasedRenderer.renderedFunctionKeyword,
|
|
|
+ renderedBy: { $0.renderedFunctionKeyword(_:) },
|
|
|
rendersAs: #"""
|
|
|
throws
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.async,
|
|
|
- renderedBy: TextBasedRenderer.renderedFunctionKeyword,
|
|
|
+ renderedBy: { $0.renderedFunctionKeyword(_:) },
|
|
|
rendersAs: #"""
|
|
|
async
|
|
|
"""#
|
|
|
@@ -416,35 +416,35 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testParameter() throws {
|
|
|
try _test(
|
|
|
.init(label: "l", name: "n", type: .member("T"), defaultValue: .literal(.nil)),
|
|
|
- renderedBy: TextBasedRenderer.renderParameter,
|
|
|
+ renderedBy: { $0.renderParameter(_:) },
|
|
|
rendersAs: #"""
|
|
|
l n: T = nil
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(label: nil, name: "n", type: .member("T"), defaultValue: .literal(.nil)),
|
|
|
- renderedBy: TextBasedRenderer.renderParameter,
|
|
|
+ renderedBy: { $0.renderParameter(_:) },
|
|
|
rendersAs: #"""
|
|
|
_ n: T = nil
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(label: "l", name: nil, type: .member("T"), defaultValue: .literal(.nil)),
|
|
|
- renderedBy: TextBasedRenderer.renderParameter,
|
|
|
+ renderedBy: { $0.renderParameter(_:) },
|
|
|
rendersAs: #"""
|
|
|
l: T = nil
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(label: nil, name: nil, type: .member("T"), defaultValue: .literal(.nil)),
|
|
|
- renderedBy: TextBasedRenderer.renderParameter,
|
|
|
+ renderedBy: { $0.renderParameter(_:) },
|
|
|
rendersAs: #"""
|
|
|
_: T = nil
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(label: nil, name: nil, type: .member("T"), defaultValue: nil),
|
|
|
- renderedBy: TextBasedRenderer.renderParameter,
|
|
|
+ renderedBy: { $0.renderParameter(_:) },
|
|
|
rendersAs: #"""
|
|
|
_: T
|
|
|
"""#
|
|
|
@@ -461,7 +461,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
whereClause: WhereClause(requirements: [.conformance("R", "Sendable")]),
|
|
|
body: []
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderFunction,
|
|
|
+ renderedBy: { $0.renderFunction(_:) },
|
|
|
rendersAs: #"""
|
|
|
public func f<R>() where R: Sendable {}
|
|
|
"""#
|
|
|
@@ -477,7 +477,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
]),
|
|
|
body: []
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderFunction,
|
|
|
+ renderedBy: { $0.renderFunction(_:) },
|
|
|
rendersAs: #"""
|
|
|
public func f<R, T>() where R: Sendable, T: Encodable {}
|
|
|
"""#
|
|
|
@@ -487,7 +487,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testFunction() throws {
|
|
|
try _test(
|
|
|
.init(accessModifier: .public, kind: .function(name: "f"), parameters: [], body: []),
|
|
|
- renderedBy: TextBasedRenderer.renderFunction,
|
|
|
+ renderedBy: { $0.renderFunction(_:) },
|
|
|
rendersAs: #"""
|
|
|
public func f() {}
|
|
|
"""#
|
|
|
@@ -499,7 +499,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
parameters: [.init(label: "a", name: "b", type: .member("C"), defaultValue: nil)],
|
|
|
body: []
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderFunction,
|
|
|
+ renderedBy: { $0.renderFunction(_:) },
|
|
|
rendersAs: #"""
|
|
|
public func f(a b: C) {}
|
|
|
"""#
|
|
|
@@ -514,7 +514,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
],
|
|
|
body: []
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderFunction,
|
|
|
+ renderedBy: { $0.renderFunction(_:) },
|
|
|
rendersAs: #"""
|
|
|
public func f(
|
|
|
a b: C,
|
|
|
@@ -529,7 +529,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
keywords: [.async, .throws],
|
|
|
returnType: .identifierType(TypeName.string)
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderFunction,
|
|
|
+ renderedBy: { $0.renderFunction(_:) },
|
|
|
rendersAs: #"""
|
|
|
func f() async throws -> Swift.String
|
|
|
"""#
|
|
|
@@ -539,7 +539,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testIdentifiers() throws {
|
|
|
try _test(
|
|
|
.pattern("foo"),
|
|
|
- renderedBy: TextBasedRenderer.renderIdentifier,
|
|
|
+ renderedBy: { $0.renderIdentifier(_:) },
|
|
|
rendersAs: #"""
|
|
|
foo
|
|
|
"""#
|
|
|
@@ -549,14 +549,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testMemberAccess() throws {
|
|
|
try _test(
|
|
|
.init(left: .identifierPattern("foo"), right: "bar"),
|
|
|
- renderedBy: TextBasedRenderer.renderMemberAccess,
|
|
|
+ renderedBy: { $0.renderMemberAccess(_:) },
|
|
|
rendersAs: #"""
|
|
|
foo.bar
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(left: nil, right: "bar"),
|
|
|
- renderedBy: TextBasedRenderer.renderMemberAccess,
|
|
|
+ renderedBy: { $0.renderMemberAccess(_:) },
|
|
|
rendersAs: #"""
|
|
|
.bar
|
|
|
"""#
|
|
|
@@ -566,14 +566,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testFunctionCallArgument() throws {
|
|
|
try _test(
|
|
|
.init(label: "foo", expression: .identifierPattern("bar")),
|
|
|
- renderedBy: TextBasedRenderer.renderFunctionCallArgument,
|
|
|
+ renderedBy: { $0.renderFunctionCallArgument(_:) },
|
|
|
rendersAs: #"""
|
|
|
foo: bar
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(label: nil, expression: .identifierPattern("bar")),
|
|
|
- renderedBy: TextBasedRenderer.renderFunctionCallArgument,
|
|
|
+ renderedBy: { $0.renderFunctionCallArgument(_:) },
|
|
|
rendersAs: #"""
|
|
|
bar
|
|
|
"""#
|
|
|
@@ -583,7 +583,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testFunctionCall() throws {
|
|
|
try _test(
|
|
|
.functionCall(.init(calledExpression: .identifierPattern("callee"))),
|
|
|
- renderedBy: TextBasedRenderer.renderExpression,
|
|
|
+ renderedBy: { $0.renderExpression(_:) },
|
|
|
rendersAs: #"""
|
|
|
callee()
|
|
|
"""#
|
|
|
@@ -595,7 +595,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
arguments: [.init(label: "foo", expression: .identifierPattern("bar"))]
|
|
|
)
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderExpression,
|
|
|
+ renderedBy: { $0.renderExpression(_:) },
|
|
|
rendersAs: #"""
|
|
|
callee(foo: bar)
|
|
|
"""#
|
|
|
@@ -610,7 +610,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
]
|
|
|
)
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderExpression,
|
|
|
+ renderedBy: { $0.renderExpression(_:) },
|
|
|
rendersAs: #"""
|
|
|
callee(
|
|
|
foo: bar,
|
|
|
@@ -627,7 +627,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
onType: "Info",
|
|
|
declarations: [.variable(kind: .let, left: "foo", type: .member("Int"))]
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderExtension,
|
|
|
+ renderedBy: { $0.renderExtension(_:) },
|
|
|
rendersAs: #"""
|
|
|
public extension Info {
|
|
|
let foo: Int
|
|
|
@@ -639,28 +639,28 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testDeprecation() throws {
|
|
|
try _test(
|
|
|
.init(),
|
|
|
- renderedBy: TextBasedRenderer.renderDeprecation,
|
|
|
+ renderedBy: { $0.renderDeprecation(_:) },
|
|
|
rendersAs: #"""
|
|
|
@available(*, deprecated)
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(message: "some message"),
|
|
|
- renderedBy: TextBasedRenderer.renderDeprecation,
|
|
|
+ renderedBy: { $0.renderDeprecation(_:) },
|
|
|
rendersAs: #"""
|
|
|
@available(*, deprecated, message: "some message")
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(renamed: "newSymbol(param:)"),
|
|
|
- renderedBy: TextBasedRenderer.renderDeprecation,
|
|
|
+ renderedBy: { $0.renderDeprecation(_:) },
|
|
|
rendersAs: #"""
|
|
|
@available(*, deprecated, renamed: "newSymbol(param:)")
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(message: "some message", renamed: "newSymbol(param:)"),
|
|
|
- renderedBy: TextBasedRenderer.renderDeprecation,
|
|
|
+ renderedBy: { $0.renderDeprecation(_:) },
|
|
|
rendersAs: #"""
|
|
|
@available(*, deprecated, message: "some message", renamed: "newSymbol(param:)")
|
|
|
"""#
|
|
|
@@ -675,7 +675,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
.init(os: .watchOS, version: "8.1.2"),
|
|
|
.init(os: .tvOS, version: "15.0.2"),
|
|
|
]),
|
|
|
- renderedBy: TextBasedRenderer.renderAvailability,
|
|
|
+ renderedBy: { $0.renderAvailability(_:) },
|
|
|
rendersAs: #"""
|
|
|
@available(macOS 12.0, iOS 13.1.2, watchOS 8.1.2, tvOS 15.0.2, *)
|
|
|
"""#
|
|
|
@@ -685,14 +685,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testBindingKind() throws {
|
|
|
try _test(
|
|
|
.var,
|
|
|
- renderedBy: TextBasedRenderer.renderedBindingKind,
|
|
|
+ renderedBy: { $0.renderedBindingKind(_:) },
|
|
|
rendersAs: #"""
|
|
|
var
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.let,
|
|
|
- renderedBy: TextBasedRenderer.renderedBindingKind,
|
|
|
+ renderedBy: { $0.renderedBindingKind(_:) },
|
|
|
rendersAs: #"""
|
|
|
let
|
|
|
"""#
|
|
|
@@ -709,7 +709,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
type: .init(TypeName.string),
|
|
|
right: .literal(.string("bar"))
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderVariable,
|
|
|
+ renderedBy: { $0.renderVariable(_:) },
|
|
|
rendersAs: #"""
|
|
|
public static let foo: Swift.String = "bar"
|
|
|
"""#
|
|
|
@@ -723,7 +723,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
type: nil,
|
|
|
right: nil
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderVariable,
|
|
|
+ renderedBy: { $0.renderVariable(_:) },
|
|
|
rendersAs: #"""
|
|
|
internal var foo
|
|
|
"""#
|
|
|
@@ -735,7 +735,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
type: .init(TypeName.int),
|
|
|
getter: [CodeBlock.expression(.literal(.int(42)))]
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderVariable,
|
|
|
+ renderedBy: { $0.renderVariable(_:) },
|
|
|
rendersAs: #"""
|
|
|
var foo: Swift.Int {
|
|
|
42
|
|
|
@@ -750,7 +750,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
getter: [CodeBlock.expression(.literal(.int(42)))],
|
|
|
getterEffects: [.throws]
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderVariable,
|
|
|
+ renderedBy: { $0.renderVariable(_:) },
|
|
|
rendersAs: #"""
|
|
|
var foo: Swift.Int {
|
|
|
get throws {
|
|
|
@@ -764,7 +764,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testStruct() throws {
|
|
|
try _test(
|
|
|
.init(name: "Structy"),
|
|
|
- renderedBy: TextBasedRenderer.renderStruct,
|
|
|
+ renderedBy: { $0.renderStruct(_:) },
|
|
|
rendersAs: #"""
|
|
|
struct Structy {}
|
|
|
"""#
|
|
|
@@ -774,7 +774,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testProtocol() throws {
|
|
|
try _test(
|
|
|
.init(name: "Protocoly"),
|
|
|
- renderedBy: TextBasedRenderer.renderProtocol,
|
|
|
+ renderedBy: { $0.renderProtocol(_:) },
|
|
|
rendersAs: #"""
|
|
|
protocol Protocoly {}
|
|
|
"""#
|
|
|
@@ -784,7 +784,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testEnum() throws {
|
|
|
try _test(
|
|
|
.init(name: "Enumy"),
|
|
|
- renderedBy: TextBasedRenderer.renderEnum,
|
|
|
+ renderedBy: { $0.renderEnum(_:) },
|
|
|
rendersAs: #"""
|
|
|
enum Enumy {}
|
|
|
"""#
|
|
|
@@ -794,14 +794,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testCodeBlockItem() throws {
|
|
|
try _test(
|
|
|
.declaration(.variable(kind: .let, left: "foo")),
|
|
|
- renderedBy: TextBasedRenderer.renderCodeBlockItem,
|
|
|
+ renderedBy: { $0.renderCodeBlockItem(_:) },
|
|
|
rendersAs: #"""
|
|
|
let foo
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.expression(.literal(.nil)),
|
|
|
- renderedBy: TextBasedRenderer.renderCodeBlockItem,
|
|
|
+ renderedBy: { $0.renderCodeBlockItem(_:) },
|
|
|
rendersAs: #"""
|
|
|
nil
|
|
|
"""#
|
|
|
@@ -814,7 +814,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
comment: .inline("- MARK: Section"),
|
|
|
item: .declaration(.variable(kind: .let, left: "foo"))
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderCodeBlock,
|
|
|
+ renderedBy: { $0.renderCodeBlock(_:) },
|
|
|
rendersAs: #"""
|
|
|
// - MARK: Section
|
|
|
let foo
|
|
|
@@ -822,7 +822,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
)
|
|
|
try _test(
|
|
|
.init(comment: nil, item: .declaration(.variable(kind: .let, left: "foo"))),
|
|
|
- renderedBy: TextBasedRenderer.renderCodeBlock,
|
|
|
+ renderedBy: { $0.renderCodeBlock(_:) },
|
|
|
rendersAs: #"""
|
|
|
let foo
|
|
|
"""#
|
|
|
@@ -832,14 +832,14 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
func testTypealias() throws {
|
|
|
try _test(
|
|
|
.init(name: "inty", existingType: .member("Int")),
|
|
|
- renderedBy: TextBasedRenderer.renderTypealias,
|
|
|
+ renderedBy: { $0.renderTypealias(_:) },
|
|
|
rendersAs: #"""
|
|
|
typealias inty = Int
|
|
|
"""#
|
|
|
)
|
|
|
try _test(
|
|
|
.init(accessModifier: .private, name: "inty", existingType: .member("Int")),
|
|
|
- renderedBy: TextBasedRenderer.renderTypealias,
|
|
|
+ renderedBy: { $0.renderTypealias(_:) },
|
|
|
rendersAs: #"""
|
|
|
private typealias inty = Int
|
|
|
"""#
|
|
|
@@ -853,7 +853,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
imports: [.init(moduleName: "Foo")],
|
|
|
codeBlocks: [.init(comment: nil, item: .declaration(.struct(.init(name: "Bar"))))]
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderFile,
|
|
|
+ renderedBy: { $0.renderFile(_:) },
|
|
|
rendersAs: #"""
|
|
|
// hi
|
|
|
|
|
|
@@ -876,7 +876,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
)
|
|
|
]
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderFile,
|
|
|
+ renderedBy: { $0.renderFile(_:) },
|
|
|
rendersAs: #"""
|
|
|
// hi
|
|
|
|
|
|
@@ -891,7 +891,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
|
|
|
try _test(
|
|
|
.array([.literal(.nil), .literal(.nil)]),
|
|
|
- renderedBy: TextBasedRenderer.renderLiteral,
|
|
|
+ renderedBy: { $0.renderLiteral(_:) },
|
|
|
rendersAs: #"""
|
|
|
[
|
|
|
nil,
|
|
|
@@ -909,7 +909,7 @@ final class Test_TextBasedRenderer: XCTestCase {
|
|
|
getter: [CodeBlock.expression(.literal(.int(42)))],
|
|
|
getterEffects: [.throws]
|
|
|
),
|
|
|
- renderedBy: TextBasedRenderer.renderVariable,
|
|
|
+ renderedBy: { $0.renderVariable(_:) },
|
|
|
rendersAs: #"""
|
|
|
var foo: Swift.Int {
|
|
|
get throws {
|
|
|
@@ -928,7 +928,7 @@ extension Test_TextBasedRenderer {
|
|
|
_ input: Input,
|
|
|
renderedBy renderClosure: (TextBasedRenderer) -> ((Input) -> String),
|
|
|
rendersAs output: String,
|
|
|
- file: StaticString = #file,
|
|
|
+ file: StaticString = #filePath,
|
|
|
line: UInt = #line,
|
|
|
indentation: Int = 4
|
|
|
) throws {
|
|
|
@@ -940,7 +940,7 @@ extension Test_TextBasedRenderer {
|
|
|
_ input: Input,
|
|
|
renderedBy renderClosure: (TextBasedRenderer) -> ((Input) -> Void),
|
|
|
rendersAs output: String,
|
|
|
- file: StaticString = #file,
|
|
|
+ file: StaticString = #filePath,
|
|
|
line: UInt = #line,
|
|
|
indentation: Int = 4
|
|
|
) throws {
|