Skip to content

Commit 75b3b08

Browse files
committed
Introduce ParserTestCase
This will allow overriding the default set of experimental features. This diff is best viewed with whitespace disabled.
1 parent 03cfd34 commit 75b3b08

File tree

115 files changed

+339
-313
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+339
-313
lines changed

Tests/SwiftParserTest/AbsolutePositionTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import SwiftSyntax
1515
import SwiftParser
1616
import _SwiftSyntaxTestSupport
1717

18-
public class AbsolutePositionTests: XCTestCase {
18+
public class AbsolutePositionTests: ParserTestCase {
1919
public func testTokenAt() {
2020
let source =
2121
"""

Tests/SwiftParserTest/Assertions.swift

Lines changed: 177 additions & 175 deletions
Large diffs are not rendered by default.

Tests/SwiftParserTest/AttributeTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class AttributeTests: XCTestCase {
17+
final class AttributeTests: ParserTestCase {
1818
func testMissingArgumentToAttribute() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/AvailabilityTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class AvailabilityTests: XCTestCase {
17+
final class AvailabilityTests: ParserTestCase {
1818
func testAvailableMember() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/DeclarationTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import SwiftSyntaxBuilder
1616
import SwiftBasicFormat
1717
import XCTest
1818

19-
final class DeclarationTests: XCTestCase {
19+
final class DeclarationTests: ParserTestCase {
2020
func testImports() {
2121
assertParse("import Foundation")
2222

Tests/SwiftParserTest/DirectiveTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class DirectiveTests: XCTestCase {
17+
final class DirectiveTests: ParserTestCase {
1818
func testSwitchIfConfig() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/ExpressionTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class ExpressionTests: XCTestCase {
17+
final class ExpressionTests: ParserTestCase {
1818
func testTernary() {
1919
assertParse(
2020
"let a =1️⃣",
@@ -1474,7 +1474,7 @@ final class ExpressionTests: XCTestCase {
14741474
}
14751475
}
14761476

1477-
final class MemberExprTests: XCTestCase {
1477+
final class MemberExprTests: ParserTestCase {
14781478
func testMissing() {
14791479
let cases: [UInt: String] = [
14801480
#line: "",
@@ -1494,7 +1494,7 @@ final class MemberExprTests: XCTestCase {
14941494
}
14951495
}
14961496

1497-
final class StatementExpressionTests: XCTestCase {
1497+
final class StatementExpressionTests: ParserTestCase {
14981498
private func ifZeroElseOne() -> ExprSyntax {
14991499
.init(
15001500
IfExprSyntax(

Tests/SwiftParserTest/ExpressionTypeTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import SwiftSyntax
1414
import XCTest
1515

16-
final class ExpressionTypeTests: XCTestCase {
16+
final class ExpressionTypeTests: ParserTestCase {
1717
func testTypeExpression() {
1818
assertParse("_ = (any Sequence<Int>).self")
1919
}

Tests/SwiftParserTest/IncrementalParsingTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import SwiftSyntax
1515
import SwiftParser
1616
import _SwiftSyntaxTestSupport
1717

18-
public class IncrementalParsingTests: XCTestCase {
18+
public class IncrementalParsingTests: ParserTestCase {
1919

2020
public func testBrokenMemberFunction() {
2121
assertIncrementalParse(

Tests/SwiftParserTest/LexerTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fileprivate func assertRawBytesLexeme(
6060
XCTAssertEqual(lexeme.diagnostic, error, file: file, line: line)
6161
}
6262

63-
public class LexerTests: XCTestCase {
63+
public class LexerTests: ParserTestCase {
6464
func testIdentifiers() {
6565
assertLexemes(
6666
"Hello World",

Tests/SwiftParserTest/LinkageTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import Darwin
1515
import XCTest
1616

17-
final class LinkageTest: XCTestCase {
17+
final class LinkageTest: ParserTestCase {
1818
// Assert that SwiftSyntax and SwiftParser do not introduce more link-time
1919
// dependencies than are strictly necessary. We want to minimize our link-time
2020
// dependencies. If this set changes - in particular, if it grows - consult

Tests/SwiftParserTest/Parser+EntryTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import SwiftSyntax
1414
import SwiftParser
1515
import XCTest
1616

17-
public class EntryTests: XCTestCase {
17+
public class EntryTests: ParserTestCase {
1818
func testTopLevelStringParse() throws {
1919
let source = "func test() {}"
2020
let tree = Parser.parse(source: source)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
//===----------------------------------------------------------------------===//
2+
//
3+
// This source file is part of the Swift.org open source project
4+
//
5+
// Copyright (c) 2023 Apple Inc. and the Swift project authors
6+
// Licensed under Apache License v2.0 with Runtime Library Exception
7+
//
8+
// See https://swift.org/LICENSE.txt for license information
9+
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10+
//
11+
//===----------------------------------------------------------------------===//
12+
13+
import XCTest
14+
import SwiftSyntax
15+
16+
@_spi(ExperimentalLanguageFeatures) import SwiftParser
17+
18+
/// The base class for all parser test cases.
19+
public class ParserTestCase: XCTestCase {
20+
/// The default set of experimental features to test with.
21+
var experimentalFeatures: Parser.ExperimentalFeatures { [] }
22+
}

Tests/SwiftParserTest/ParserTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import SwiftSyntax
1717
import SwiftParser
1818
import SwiftParserDiagnostics
1919

20-
public class ParserTests: XCTestCase {
20+
public class ParserTests: ParserTestCase {
2121
/// Run a single parse test.
2222
func runParseTest(fileURL: URL, checkDiagnostics: Bool) throws {
2323
let fileContents = try Data(contentsOf: fileURL)

Tests/SwiftParserTest/PatternTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class PatternTests: XCTestCase {
17+
final class PatternTests: ParserTestCase {
1818
private var genericArgEnumPattern: Syntax {
1919
// let E<Int>.e(y)
2020
Syntax(

Tests/SwiftParserTest/RegexLiteralTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class RegexLiteralTests: XCTestCase {
17+
final class RegexLiteralTests: ParserTestCase {
1818
func testForwardSlash1() {
1919
assertParse(
2020
#"""

Tests/SwiftParserTest/SequentialToConcurrentEditTranslationTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func verifySequentialToConcurrentTranslation(
4646
)
4747
}
4848

49-
final class TranslateSequentialToConcurrentEditsTests: XCTestCase {
49+
final class TranslateSequentialToConcurrentEditsTests: ParserTestCase {
5050
func testEmpty() {
5151
verifySequentialToConcurrentTranslation([], [])
5252
}

Tests/SwiftParserTest/StatementTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class StatementTests: XCTestCase {
17+
final class StatementTests: ParserTestCase {
1818
func testIf() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/StringLiteralRepresentedLiteralValueTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import SwiftSyntaxBuilder
1919
///
2020
/// Most tests are expressed by a single function call that compares the
2121
/// run-time String value against the parsed node's `representedLiteralValue`.
22-
public class StringLiteralRepresentedLiteralValueTests: XCTestCase {
22+
public class StringLiteralRepresentedLiteralValueTests: ParserTestCase {
2323

2424
func testIntro() {
2525
test(

Tests/SwiftParserTest/SyntaxTransformVisitorTest.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import XCTest
1414
import SwiftParser
1515
@_spi(SyntaxTransformVisitor) import SwiftSyntax
1616

17-
final class SyntaxTransformVisitorTest: XCTestCase {
17+
final class SyntaxTransformVisitorTest: ParserTestCase {
1818
public func testFunctionCounter() {
1919
struct FuncCounter: SyntaxTransformVisitor {
2020
public func visitAny(_ node: Syntax) -> Int {

Tests/SwiftParserTest/TriviaParserTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import XCTest
1414
@_spi(RawSyntax) import SwiftSyntax
1515
@_spi(RawSyntax) @_spi(Testing) import SwiftParser
1616

17-
final class TriviaParserTests: XCTestCase {
17+
final class TriviaParserTests: ParserTestCase {
1818

1919
func testTriviaParsing() {
2020

Tests/SwiftParserTest/TypeCompositionTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import SwiftSyntax
1414
import SwiftParser
1515
import XCTest
1616

17-
final class TypeCompositionTests: XCTestCase {
17+
final class TypeCompositionTests: ParserTestCase {
1818
func testComponents() {
1919
let cases: [UInt: String] = [
2020
// Identifiers and member types

Tests/SwiftParserTest/TypeMemberTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import SwiftSyntax
1414
import SwiftParser
1515
import XCTest
1616

17-
final class TypeMemberTests: XCTestCase {
17+
final class TypeMemberTests: ParserTestCase {
1818
func testKeyword() {
1919
assertParse(
2020
"MyType.class",

Tests/SwiftParserTest/TypeMetatypeTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import SwiftSyntax
1414
import SwiftParser
1515
import XCTest
1616

17-
final class TypeMetatypeTests: XCTestCase {
17+
final class TypeMetatypeTests: ParserTestCase {
1818
func testBaseType() {
1919
let cases: [UInt: String] = [
2020
// Identifiers and member types

Tests/SwiftParserTest/TypeTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@_spi(RawSyntax) import SwiftParser
1515
import XCTest
1616

17-
final class TypeTests: XCTestCase {
17+
final class TypeTests: ParserTestCase {
1818
func testMissingColonInType() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/VariadicGenericsTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import SwiftSyntax
1414
import XCTest
1515

16-
final class VariadicGenericsTests: XCTestCase {
16+
final class VariadicGenericsTests: ParserTestCase {
1717
func testSimpleForwarding() {
1818
assertParse(
1919
"""
@@ -297,7 +297,7 @@ final class VariadicGenericsTests: XCTestCase {
297297
}
298298
}
299299

300-
final class TypeParameterPackTests: XCTestCase {
300+
final class TypeParameterPackTests: ParserTestCase {
301301
func testParameterPacks1() {
302302
assertParse(
303303
"""

Tests/SwiftParserTest/translated/ActorTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class ActorTests: XCTestCase {
17+
final class ActorTests: ParserTestCase {
1818
func testActor1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/AlwaysEmitConformanceMetadataAttrTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class AlwaysEmitConformanceMetadataAttrTests: XCTestCase {
17+
final class AlwaysEmitConformanceMetadataAttrTests: ParserTestCase {
1818
func testAlwaysEmitConformanceMetadataAttr() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/AsyncSyntaxTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class AsyncSyntaxTests: XCTestCase {
17+
final class AsyncSyntaxTests: ParserTestCase {
1818
func testAsyncSyntax1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/AsyncTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class AsyncTests: XCTestCase {
17+
final class AsyncTests: ParserTestCase {
1818
func testAsync1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/AvailabilityQueryTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class AvailabilityQueryTests: XCTestCase {
17+
final class AvailabilityQueryTests: ParserTestCase {
1818
func testAvailabilityQuery1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/AvailabilityQueryUnavailabilityTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class AvailabilityQueryUnavailabilityTests: XCTestCase {
17+
final class AvailabilityQueryUnavailabilityTests: ParserTestCase {
1818
func testAvailabilityQueryUnavailability1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/BorrowExprTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class BorrowExprTests: XCTestCase {
17+
final class BorrowExprTests: ParserTestCase {
1818
func testBorrowExpr1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/BraceRecoveryEofTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class BraceRecoveryEofTests: XCTestCase {
17+
final class BraceRecoveryEofTests: ParserTestCase {
1818
func testBraceRecoveryEof1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/BuiltinBridgeObjectTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class BuiltinBridgeObjectTests: XCTestCase {
17+
final class BuiltinBridgeObjectTests: ParserTestCase {
1818
func testBuiltinBridgeObject1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/BuiltinWordTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class BuiltinWordTests: XCTestCase {
17+
final class BuiltinWordTests: ParserTestCase {
1818
func testBuiltinWord1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/ConflictMarkersTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class ConflictMarkersTests: XCTestCase {
17+
final class ConflictMarkersTests: ParserTestCase {
1818
func testConflictMarkers1() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/ConsecutiveStatementsTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class ConsecutiveStatementsTests: XCTestCase {
17+
final class ConsecutiveStatementsTests: ParserTestCase {
1818
func testSimple1() {
1919
assertParse(
2020
"let x = 21️⃣ let y = 3",

Tests/SwiftParserTest/translated/CopyExprTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class CopyExprTests: XCTestCase {
17+
final class CopyExprTests: ParserTestCase {
1818
func testGlobal() {
1919
assertParse(
2020
"""

Tests/SwiftParserTest/translated/DebuggerTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import XCTest
1616

17-
final class DebuggerTests: XCTestCase {
17+
final class DebuggerTests: ParserTestCase {
1818
func testDebugger1() {
1919
assertParse(
2020
"""

0 commit comments

Comments
 (0)