Skip to content

Commit c6a8d5e

Browse files
committed
Fix coretest::char::test_to_uppercase for complex mapping
1 parent c57a412 commit c6a8d5e

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

src/libcoretest/char.rs

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ fn test_to_lowercase() {
5858
fn lower(c: char) -> char {
5959
let mut it = c.to_lowercase();
6060
let c = it.next().unwrap();
61+
// As of Unicode version 7.0.0, `SpecialCasing.txt` has no lower-case mapping
62+
// to multiple code points.
6163
assert!(it.next().is_none());
6264
c
6365
}
@@ -77,25 +79,22 @@ fn test_to_lowercase() {
7779

7880
#[test]
7981
fn test_to_uppercase() {
80-
fn upper(c: char) -> char {
81-
let mut it = c.to_uppercase();
82-
let c = it.next().unwrap();
83-
assert!(it.next().is_none());
84-
c
82+
fn upper(c: char) -> Vec<char> {
83+
c.to_uppercase().collect()
8584
}
86-
assert_eq!(upper('a'), 'A');
87-
assert_eq!(upper('ö'), 'Ö');
88-
assert_eq!(upper('ß'), 'ß'); // not ẞ: Latin capital letter sharp s
89-
assert_eq!(upper('ü'), 'Ü');
90-
assert_eq!(upper('💩'), '💩');
91-
92-
assert_eq!(upper('σ'), 'Σ');
93-
assert_eq!(upper('τ'), 'Τ');
94-
assert_eq!(upper('ι'), 'Ι');
95-
assert_eq!(upper('γ'), 'Γ');
96-
assert_eq!(upper('μ'), 'Μ');
97-
assert_eq!(upper('α'), 'Α');
98-
assert_eq!(upper('ς'), 'Σ');
85+
assert_eq!(upper('a'), ['A']);
86+
assert_eq!(upper('ö'), ['Ö']);
87+
assert_eq!(upper('ß'), ['S', 'S']); // not ẞ: Latin capital letter sharp s
88+
assert_eq!(upper('ü'), ['Ü']);
89+
assert_eq!(upper('💩'), ['💩']);
90+
91+
assert_eq!(upper('σ'), ['Σ']);
92+
assert_eq!(upper('τ'), ['Τ']);
93+
assert_eq!(upper('ι'), ['Ι']);
94+
assert_eq!(upper('γ'), ['Γ']);
95+
assert_eq!(upper('μ'), ['Μ']);
96+
assert_eq!(upper('α'), ['Α']);
97+
assert_eq!(upper('ς'), ['Σ']);
9998
}
10099

101100
#[test]

0 commit comments

Comments
 (0)