From 8cbe0a489d1f0b9ecfb4702feb37687887428973 Mon Sep 17 00:00:00 2001 From: fahadnayyar Date: Fri, 12 Sep 2025 13:41:49 -0700 Subject: [PATCH] [cxx-interop] [NFC] Adding tests for conversion from NSString to Swift string to std::string --- .../stdlib/string/string-to-nsstring.mm | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/Interop/SwiftToCxx/stdlib/string/string-to-nsstring.mm b/test/Interop/SwiftToCxx/stdlib/string/string-to-nsstring.mm index 6448e65c2231b..ebea414cf2ad3 100644 --- a/test/Interop/SwiftToCxx/stdlib/string/string-to-nsstring.mm +++ b/test/Interop/SwiftToCxx/stdlib/string/string-to-nsstring.mm @@ -76,5 +76,27 @@ int main() { assert(std::string(swiftStr) == "👨‍💻👩‍💻åäö"); } + { + NSString* arabic_ns = @"طاب يومك"; + auto swift_arabic = String::init(arabic_ns); + auto std_arabic = (std::string)swift_arabic; + assert(std_arabic == "طاب يومك"); + + NSString* mixed_ns = @"Hello مرحبا World"; + auto swift_mixed = String::init(mixed_ns); + auto std_mixed = (std::string)swift_mixed; + assert(std_mixed == "Hello مرحبا World"); + + NSString* hebrew_ns = @"שלום עולם"; + auto swift_hebrew = String::init(hebrew_ns); + auto std_hebrew = (std::string)swift_hebrew; + assert(std_hebrew == "שלום עולם"); + + NSString* chinese_ns = @"你好世界"; + auto swift_chinese = String::init(chinese_ns); + auto std_chinese = (std::string)swift_chinese; + assert(std_chinese == "你好世界"); + } + return 0; }