Files
swift-mirror/test/Interop/Cxx/class/method/methods.swift
zoecarver 839839f924 [cxx-interop] Rename enable-cxx-interop -> enable-experimental-cxx-interop.
Also removes the driver flag, this will now also always be guarded on `-Xfrontend`.
2022-04-07 19:15:25 -07:00

56 lines
1.6 KiB
Swift

// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test
//
// Crash when running on windows: rdar://88391102
// XFAIL: OS=windows-msvc
import StdlibUnittest
import Methods
var CxxMethodTestSuite = TestSuite("CxxMethods")
CxxMethodTestSuite.test("() -> Void") {
var instance = HasMethods()
instance.nonConstMethod()
instance.constMethod()
}
CxxMethodTestSuite.test("(Int) -> Int") {
var instance = HasMethods()
expectEqual(42, instance.nonConstPassThrough(42))
expectEqual(42, instance.constPassThrough(42))
}
CxxMethodTestSuite.test("(Int, Int) -> Int") {
var instance = HasMethods()
expectEqual(42, instance.nonConstSum(40, 2))
expectEqual(42, instance.constSum(40, 2))
}
CxxMethodTestSuite.test("(NonTrivialInWrapper, NonTrivialInWrapper) -> Int") {
var instance = HasMethods()
expectEqual(42, instance.nonConstSum(NonTrivialInWrapper(value: 40), NonTrivialInWrapper(value: 2)))
expectEqual(42, instance.constSum(NonTrivialInWrapper(value: 40), NonTrivialInWrapper(value: 2)))
}
CxxMethodTestSuite.test("(NonTrivialInWrapper, NonTrivialInWrapper) -> NonTrivialInWrapper") {
var instance = HasMethods()
expectEqual(42, instance.nonConstSumAsWrapper(NonTrivialInWrapper(value: 40), NonTrivialInWrapper(value: 2)).value)
expectEqual(42, instance.constSumAsWrapper(NonTrivialInWrapper(value: 40), NonTrivialInWrapper(value: 2)).value)
}
CxxMethodTestSuite.test("(Int) -> NonTrivialInWrapper") {
var instance = HasMethods()
expectEqual(42, instance.nonConstPassThroughAsWrapper(42).value)
expectEqual(42, instance.constPassThroughAsWrapper(42).value)
}
runAllTests()