blob: e97fbaf7e5857fab99d4db12bd114fef3f50b5c4 [file] [log] [blame]
// RUN: %target-run-simple-swift
// REQUIRES: executable_test
// REQUIRES: OS=macosx
// REQUIRES: objc_interop
import Foundation
import StdlibUnittest
import SwiftSyntax
import SwiftLang
var ParseFile = TestSuite("ParseFile")
struct Foo {
public let x: Int
private(set) var y: [Bool]
}
#if os(macOS)
class Test: NSObject {
@objc var bar: Int = 0
func test() {
print(#selector(function))
print(#keyPath(bar))
}
@objc func function() {
}
}
#endif
ParseFile.test("ParseSingleFile") {
let currentFile = URL(fileURLWithPath: #file)
expectDoesNotThrow({
let fileContents = try String(contentsOf: currentFile)
let syntaxTreeData = try SwiftLang.parse(source: fileContents).data(using: .utf8)!
let parsed = try SyntaxTreeDeserializer().deserialize(syntaxTreeData)
expectEqual("\(parsed)", fileContents)
})
}
ParseFile.test("ParseBuffer") {
expectDoesNotThrow({
let content = "func foo() {}"
let syntaxTreeData = try SwiftLang.parse(source: content).data(using: .utf8)!
let parsed = try SyntaxTreeDeserializer().deserialize(syntaxTreeData)
expectEqual("\(parsed)", content)
})
}
runAllTests()