1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2023 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
// This test file has been translated from swift/test/Parse/semicolon.swift
import XCTest
final class SemicolonTests: ParserTestCase {
func testSemicolon1() {
assertParse(
#"""
let a = 42;
var b = "b";
"""#
)
}
func testSemicolon2() {
assertParse(
"""
struct A {
var a1: Int;
let a2: Int ;
var a3: Int;let a4: Int
var a5: Int; let a6: Int;
};
"""
)
}
func testSemicolon3() {
assertParse(
"""
enum B {
case B1;
case B2(value: Int);
case B3
case B4; case B5 ; case B6;
};
"""
)
}
func testSemicolon4() {
assertParse(
"""
class C {
var x: Int;
let y = 3.14159;
init(x: Int) { self.x = x; }
};
"""
)
}
func testSemicolon5() {
assertParse(
"""
typealias C1 = C;
"""
)
}
func testSemicolon6() {
assertParse(
"""
protocol D {
var foo: () -> Int { get };
}
"""
)
}
func testSemicolon7() {
assertParse(
"""
struct D1: D {
let foo = { return 42; };
}
func e() -> Bool {
return false;
}
"""
)
}
func testSemicolon8() {
assertParse(
"""
import Swift;
"""
)
}
func testSemicolon9() {
assertParse(
"""
for i in 1..<1000 {
if i % 2 == 1 {
break;
};
}
"""
)
}
func testSemicolon10() {
assertParse(
"""
let six = (1..<3).reduce(0, +);
"""
)
}
func testSemicolon11() {
assertParse(
"""
func lessThanTwo(input: UInt) -> Bool {
switch input {
case 0: return true;
case 1, 2: return true;
default:
return false;
}
}
"""
)
}
func testSemicolon12() {
assertParse(
"""
enum StarWars {
enum Quality { case 😀; case 🙂; case 😐; case 😏; case 😞 };
case Ep4; case Ep5; case Ep6
case Ep1, Ep2; case Ep3;
};
"""
)
}
}
|