mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
46 lines
2.3 KiB
Swift
46 lines
2.3 KiB
Swift
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
|
|
//
|
|
// REQUIRES: executable_test
|
|
|
|
import StdlibUnittest
|
|
import Templates
|
|
|
|
var NamespacesTestSuite = TestSuite("Templates in namespaces")
|
|
|
|
NamespacesTestSuite.test("Basic classes") {
|
|
let basicFunctionTemplateCString = TemplatesNS1.basicFunctionTemplate(0)
|
|
expectEqual(String(cString: basicFunctionTemplateCString!),
|
|
"TemplatesNS1::basicFunctionTemplate")
|
|
|
|
var basicClassTemplateInst = TemplatesNS1.BasicClassTemplateChar()
|
|
let basicClassTemplateCString = basicClassTemplateInst.basicMember()
|
|
expectEqual(String(cString: basicClassTemplateCString!),
|
|
"TemplatesNS1::BasicClassTemplate::basicMember")
|
|
|
|
let takesClassTemplateFromSiblingCString = TemplatesNS1.TemplatesNS2.takesClassTemplateFromSibling(
|
|
TemplatesNS1.TemplatesNS2.BasicClassTemplateChar())
|
|
expectEqual(String(cString: takesClassTemplateFromSiblingCString!), "TemplatesNS1::TemplatesNS2::takesClassTemplateFromSibling")
|
|
}
|
|
|
|
NamespacesTestSuite.test("Forward declared") {
|
|
let forwardDeclaredFunctionTemplateCString = TemplatesNS1.TemplatesNS2.forwardDeclaredFunctionTemplate(0)
|
|
expectEqual(String(cString: forwardDeclaredFunctionTemplateCString!),
|
|
"TemplatesNS1::TemplatesNS2::forwardDeclaredFunctionTemplate")
|
|
|
|
var forwardDeclaredClassTemplateInst = TemplatesNS1.ForwardDeclaredClassTemplateChar()
|
|
let forwardDeclaredClassTemplateCString = forwardDeclaredClassTemplateInst.basicMember()
|
|
expectEqual(String(cString: forwardDeclaredClassTemplateCString!),
|
|
"TemplatesNS1::TemplatesNS2::ForwardDeclaredClassTemplate::basicMember")
|
|
|
|
let forwardDeclaredFunctionTemplateOutOfLineCString = TemplatesNS1.TemplatesNS2.forwardDeclaredFunctionTemplateOutOfLine(0)
|
|
expectEqual(String(cString: forwardDeclaredFunctionTemplateOutOfLineCString!),
|
|
"TemplatesNS1::TemplatesNS2::forwardDeclaredFunctionTemplateOutOfLine")
|
|
|
|
var forwardDeclaredClassTemplateOutOfLineInst = ForwardDeclaredClassTemplateOutOfLineChar()
|
|
let forwardDeclaredClassTemplateOutOfLineCString = forwardDeclaredClassTemplateOutOfLineInst.basicMember()
|
|
expectEqual(String(cString: forwardDeclaredClassTemplateOutOfLineCString!),
|
|
"TemplatesNS1::TemplatesNS2::ForwardDeclaredClassTemplateOutOfLine::basicMember")
|
|
}
|
|
|
|
runAllTests()
|