@@ -58,6 +58,8 @@ fn test_to_lowercase() {
58
58
fn lower ( c : char ) -> char {
59
59
let mut it = c. to_lowercase ( ) ;
60
60
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.
61
63
assert ! ( it. next( ) . is_none( ) ) ;
62
64
c
63
65
}
@@ -77,25 +79,22 @@ fn test_to_lowercase() {
77
79
78
80
#[ test]
79
81
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 ( )
85
84
}
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( 'ς' ) , [ 'Σ' ] ) ;
99
98
}
100
99
101
100
#[ test]
0 commit comments