mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
120 lines
2.8 KiB
Swift
120 lines
2.8 KiB
Swift
//--- blessed.swift
|
|
// Test that all accessible inherited methods can be called.
|
|
//
|
|
// RUN: split-file %s %t
|
|
// RUN: %target-build-swift -module-name main %t/blessed.swift -I %S/Inputs -o %t/out -Xfrontend -cxx-interoperability-mode=default
|
|
// RUN: %target-codesign %t/out
|
|
// RUN: %target-run %t/out
|
|
//
|
|
// REQUIRES: executable_test
|
|
|
|
import StdlibUnittest
|
|
import NonPublicInheritance
|
|
|
|
var Tests = TestSuite("NonPublicInheritance")
|
|
Tests.test("Base") { Base().ext() }
|
|
Tests.test("PublBase") { PublBase().ext() }
|
|
Tests.test("ProtBase") { ProtBase().ext() }
|
|
Tests.test("PrivBase") { PrivBase().ext() }
|
|
Tests.test("PublPublBase") { PublPublBase().ext() }
|
|
Tests.test("ProtPublBase") { ProtPublBase().ext() }
|
|
Tests.test("PrivPublBase") { PrivPublBase().ext() }
|
|
Tests.test("PublProtBase") { PublProtBase().ext() }
|
|
Tests.test("ProtProtBase") { ProtProtBase().ext() }
|
|
Tests.test("PrivProtBase") { PrivProtBase().ext() }
|
|
Tests.test("PublPrivBase") { PublPrivBase().ext() }
|
|
Tests.test("ProtPrivBase") { ProtPrivBase().ext() }
|
|
Tests.test("PrivPrivBase") { PrivPrivBase().ext() }
|
|
|
|
extension Base {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
expectEqual(priv(), PRIV_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension PublBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension PublPublBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension ProtPublBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension PrivPublBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension ProtBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
|
|
extension PublProtBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension ProtProtBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension PrivProtBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension PrivBase {
|
|
func ext() {
|
|
expectEqual(publ(), PUBL_RETURN_VAL)
|
|
expectEqual(prot(), PROT_RETURN_VAL)
|
|
}
|
|
}
|
|
|
|
extension PublPrivBase {
|
|
func ext() {
|
|
// Nothing to test (nothing is accessible)
|
|
}
|
|
}
|
|
|
|
extension ProtPrivBase {
|
|
func ext() {
|
|
// Nothing to test (nothing is accessible)
|
|
}
|
|
}
|
|
|
|
extension PrivPrivBase {
|
|
func ext() {
|
|
// Nothing to test (nothing is accessible)
|
|
}
|
|
}
|
|
|
|
runAllTests()
|