Files
swift-mirror/test/embedded/stdlib-strings-unicode.swift
Daniel Rodríguez Troitiño ba68faaed5 [test] Mark tests that use experimental/upcoming features as such
Find all the usages of `--enable-experimental-feature` or
`--enable-upcoming-feature` in the tests and replace some of the
`REQUIRES: asserts` to use `REQUIRES: swift-feature-Foo` instead, which
should correctly apply to depending on the asserts/noasserts mode of the
toolchain for each feature.

Remove some comments that talked about enabling asserts since they don't
apply anymore (but I might had miss some).

All this was done with an automated script, so some formatting weirdness
might happen, but I hope I fixed most of those.

There might be some tests that were `REQUIRES: asserts` that might run
in `noasserts` toolchains now. This will normally be because their
feature went from experimental to upcoming/base and the tests were not
updated.
2024-11-02 11:46:46 -07:00

41 lines
1.4 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/%target-cpu-apple-macos/libswiftUnicodeDataTables.a) | %FileCheck %s
// RUN: %target-run-simple-swift(-Osize -Xlinker -dead_strip -enable-experimental-feature Embedded -parse-as-library -runtime-compatibility-version none -wmo -Xlinker %swift_obj_root/lib/swift/embedded/%target-cpu-apple-macos/libswiftUnicodeDataTables.a) | %FileCheck %s
// REQUIRES: swift_in_compiler
// REQUIRES: executable_test
// REQUIRES: optimized_stdlib
// REQUIRES: OS=macosx
// 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
}
}