@@ -1070,26 +1070,6 @@ pub fn subslice_offset(outer: &str, inner: &str) -> uint {
1070
1070
}
1071
1071
}
1072
1072
1073
- /// Escape each char in `s` with char::escape_default.
1074
- pub fn escape_default( s : & str ) -> ~str {
1075
- let mut out: ~str = ~"";
1076
- out. reserve_at_least ( s. len ( ) ) ;
1077
- for s. iter( ) . advance |c| {
1078
- out. push_str( char:: escape_default( c) ) ;
1079
- }
1080
- out
1081
- }
1082
-
1083
- /// Escape each char in `s` with char::escape_unicode.
1084
- pub fn escape_unicode( s : & str ) -> ~str {
1085
- let mut out: ~str = ~"";
1086
- out. reserve_at_least ( s. len ( ) ) ;
1087
- for s. iter( ) . advance |c| {
1088
- out. push_str( char:: escape_unicode( c) ) ;
1089
- }
1090
- out
1091
- }
1092
-
1093
1073
/// Unsafe operations
1094
1074
pub mod raw {
1095
1075
use cast;
@@ -1588,11 +1568,24 @@ impl<'self> StrSlice<'self> for &'self str {
1588
1568
}
1589
1569
1590
1570
/// Escape each char in `s` with char::escape_default.
1591
- #[inline]
1592
- fn escape_default(&self) -> ~str { escape_default(*self) }
1571
+ fn escape_default(&self) -> ~str {
1572
+ let mut out: ~str = ~" ";
1573
+ out.reserve_at_least(self.len());
1574
+ for self.iter().advance |c| {
1575
+ out.push_str(char::escape_default(c));
1576
+ }
1577
+ out
1578
+ }
1579
+
1593
1580
/// Escape each char in `s` with char::escape_unicode.
1594
- #[inline]
1595
- fn escape_unicode(&self) -> ~str { escape_unicode(*self) }
1581
+ fn escape_unicode(&self) -> ~str {
1582
+ let mut out: ~str = ~" ";
1583
+ out.reserve_at_least(self.len());
1584
+ for self.iter().advance |c| {
1585
+ out.push_str(char::escape_unicode(c));
1586
+ }
1587
+ out
1588
+ }
1596
1589
1597
1590
/// Returns a string with leading and trailing whitespace removed
1598
1591
#[inline]
@@ -3176,30 +3169,27 @@ mod tests {
3176
3169
3177
3170
#[test]
3178
3171
fn test_escape_unicode() {
3179
- assert_eq!(escape_unicode(" abc"), ~"\\ x61\\ x62\\ x63" ) ;
3180
- assert_eq!( escape_unicode( "a c" ) , ~"\\ x61\\ x20\\ x63");
3181
- assert_eq!(escape_unicode("\r \n \t " ) , ~"\\ x0d\\ x0a\\ x09");
3182
- assert_eq!(escape_unicode(" ' \" \\ ") , ~"\\ x27\\ x22\\ x5c");
3183
- assert!(escape_unicode("\x00 \x01 \xfe \xff " ) ==
3184
- ~"\\ x00\\ x01\\ xfe\\ xff");
3185
- assert_eq!(escape_unicode("\u0100 \uffff " ) , ~"\\ u0100\\ uffff");
3186
- assert!(escape_unicode("\U 00010000\U 0010ffff" ) ==
3187
- ~"\\ U00010000 \\ U0010ffff ");
3188
- assert_eq!(escape_unicode(" ab\ufb00 ") , ~"\\ x61\\ x62\\ ufb00");
3189
- assert_eq!(escape_unicode("\U 0001d4ea\r " ) , ~"\\ U0001d4ea \\ x0d");
3172
+ assert_eq!(" abc".escape_unicode(), ~"\\ x61\\ x62\\ x63" ) ;
3173
+ assert_eq!( "a c" . escape_unicode( ) , ~"\\ x61\\ x20\\ x63");
3174
+ assert_eq!("\r \n \t " . escape_unicode( ) , ~"\\ x0d\\ x0a\\ x09");
3175
+ assert_eq!(" ' \" \\ ". escape_unicode( ) , ~"\\ x27\\ x22\\ x5c");
3176
+ assert_eq!("\x00 \x01 \xfe \xff " . escape_unicode( ) , ~"\\ x00\\ x01\\ xfe\\ xff");
3177
+ assert_eq!("\u0100 \uffff " . escape_unicode( ) , ~"\\ u0100\\ uffff");
3178
+ assert_eq!("\U 00010000\U 0010ffff" . escape_unicode( ) , ~"\\ U00010000 \\ U0010ffff ");
3179
+ assert_eq!(" ab\ufb00 ". escape_unicode( ) , ~"\\ x61\\ x62\\ ufb00");
3180
+ assert_eq!("\U 0001d4ea\r " . escape_unicode( ) , ~"\\ U0001d4ea \\ x0d");
3190
3181
}
3191
3182
3192
3183
#[test]
3193
3184
fn test_escape_default() {
3194
- assert_eq!(escape_default(" abc"), ~" abc");
3195
- assert_eq!(escape_default(" a c"), ~" a c");
3196
- assert_eq!(escape_default("\r \n \t " ) , ~"\\ r\\ n\\ t");
3197
- assert_eq!(escape_default(" ' \" \\ ") , ~"\\ ' \\ \" \\ \\ ") ;
3198
- assert_eq!( escape_default( "\u0100 \uffff " ) , ~"\\ u0100\\ uffff");
3199
- assert!(escape_default("\U 00010000\U 0010ffff" ) ==
3200
- ~"\\ U00010000 \\ U0010ffff ");
3201
- assert_eq!(escape_default(" ab\ufb00 ") , ~"ab\\ ufb00");
3202
- assert_eq!(escape_default("\U 0001d4ea\r " ) , ~"\\ U0001d4ea \\ r");
3185
+ assert_eq!(" abc".escape_default(), ~" abc");
3186
+ assert_eq!(" a c".escape_default(), ~" a c");
3187
+ assert_eq!("\r \n \t " . escape_default( ) , ~"\\ r\\ n\\ t");
3188
+ assert_eq!(" ' \" \\ ". escape_default( ) , ~"\\ ' \\ \" \\ \\ ") ;
3189
+ assert_eq!( "\u0100 \uffff " . escape_default( ) , ~"\\ u0100\\ uffff");
3190
+ assert_eq!("\U 00010000\U 0010ffff" . escape_default( ) , ~"\\ U00010000 \\ U0010ffff ");
3191
+ assert_eq!(" ab\ufb00 ". escape_default( ) , ~"ab\\ ufb00");
3192
+ assert_eq!("\U 0001d4ea\r " . escape_default( ) , ~"\\ U0001d4ea \\ r");
3203
3193
}
3204
3194
3205
3195
#[test]
0 commit comments