Add Script and Script Extension tests (#59194)

This commit is contained in:
Alejandro Alonso
2022-06-01 09:55:09 -07:00
committed by GitHub
parent d48c5fbbb1
commit c59f47389f
5 changed files with 4099 additions and 1 deletions

View File

@@ -216,4 +216,52 @@ if #available(SwiftStdlib 5.7, *) {
}
}
//===----------------------------------------------------------------------===//
// Script/Script Extensions
//===----------------------------------------------------------------------===//
if #available(SwiftStdlib 5.7, *) {
UnicodeScalarPropertiesTest.test("Scalar Scripts") {
for i in 0x0 ... 0x10FFFF {
guard let scalar = Unicode.Scalar(i) else {
continue
}
let script = unsafeBitCast(
scalar.properties._script,
to: Unicode.Script.self
)
if let parsedScript = scripts[scalar] {
expectEqual(script, parsedScript)
} else {
expectEqual(script, .unknown)
}
}
}
UnicodeScalarPropertiesTest.test("Scalar Script Extensions") {
for i in 0x0 ... 0x10FFFF {
guard let scalar = Unicode.Scalar(i) else {
continue
}
let extensions = scalar.properties._scriptExtensions.map {
unsafeBitCast($0, to: Unicode.Script.self)
}
let script = unsafeBitCast(
scalar.properties._script,
to: Unicode.Script.self
)
if let parsedExtensions = scriptExtensions[scalar] {
expectEqual(extensions, parsedExtensions)
} else {
expectEqual(extensions, [script])
}
}
}
}
runAllTests()