Files
swift-mirror/test/embedded/stdlib-strings-unicode.swift
Doug Gregor ae1e3d0865 Build a static library that implements the Embedded Swift platform layer on POSIX
The new library, swiftEmbeddedPlatformPOSIX, implements all of the
_swift_XYZ functions needed to support Embedded Swift as shims on top
of a POSIX system that provides posix_memalign, free, putchar, and so
on. This offers an easier way to bridge between the prior ad hoc
requirements of Embedded Swift and the newer platform abstraction
layer.

Part of rdar://164057124
2026-03-03 09:05:30 -08:00

41 lines
1.5 KiB
Swift

// RUN: %target-run-simple-swift( -enable-experimental-feature Embedded -parse-as-library -runtime-compatibility-version none -wmo -Xlinker %swift_obj_root/lib/swift/embedded/%module-target-triple/libswiftUnicodeDataTables.a %target-embedded-posix-shim) | %FileCheck %s
// RUN: %target-run-simple-swift(-Osize %target-swift-dead-strip-opt -enable-experimental-feature Embedded -parse-as-library -runtime-compatibility-version none -wmo -Xlinker %swift_obj_root/lib/swift/embedded/%module-target-triple/libswiftUnicodeDataTables.a %target-embedded-posix-shim) | %FileCheck %s
// REQUIRES: swift_in_compiler
// REQUIRES: executable_test
// REQUIRES: optimized_stdlib
// REQUIRES: OS=macosx || OS=wasip1
// REQUIRES: swift_feature_Embedded
@main
struct Main {
static func main() {
let str = "Hello😊"
print(str) // CHECK: Hello😊
print(str.dropLast()) // CHECK: Hello
print(str.dropLast().count) // CHECK: 5
var dict: [String:String] = [:]
let c = "Cafe\u{301}"
let d = "Cafe\u{301}"
let e = "Café"
let f = "Caf\u{65}\u{301}"
let g = "Caf\u{e9}"
dict[c] = str
dict[d] = str
dict[e] = str
dict[f] = str
dict[g] = str
print(dict.count) // CHECK: 1
print(dict[f]!) // CHECK: Hello😊
var emoji = ""
// VAMPIRE, ZERO-WIDTH JOINER, FEMALE SIGN, VARIATION SELECTOR-16
emoji += "\u{1f9db}"
emoji += "\u{200d}"
emoji += "\u{2640}"
emoji += "\u{fe0f}"
print(emoji.count) // CHECK: 1
}
}