@@ -171,71 +171,71 @@ mod tests {
171
171
#[ test]
172
172
fn unescape_works ( ) {
173
173
// Unchanged because no unescaping happens
174
- assert_eq ! ( ue( b"" ) , "" . to_string ( ) ) ;
175
- assert_eq ! ( ue( b"a" ) , "a" . to_string ( ) ) ;
176
- assert_eq ! ( ue( b"ab" ) , "ab" . to_string ( ) ) ;
177
- assert_eq ! ( ue( b"abc" ) , "abc" . to_string ( ) ) ;
178
- assert_eq ! ( ue( b"a/c" ) , "a/c" . to_string ( ) ) ;
179
- assert_eq ! ( ue( b"\x20 " ) , " " . to_string ( ) ) ; // first non-control character
180
- assert_eq ! ( ue( b"\xF0 \x9F \x91 \x8F " ) , "👏" . to_string ( ) ) ; // U+1F44F
174
+ assert_eq ! ( ue( b"" ) , "" ) ;
175
+ assert_eq ! ( ue( b"a" ) , "a" ) ;
176
+ assert_eq ! ( ue( b"ab" ) , "ab" ) ;
177
+ assert_eq ! ( ue( b"abc" ) , "abc" ) ;
178
+ assert_eq ! ( ue( b"a/c" ) , "a/c" ) ;
179
+ assert_eq ! ( ue( b"\x20 " ) , " " ) ; // first non-control character
180
+ assert_eq ! ( ue( b"\xF0 \x9F \x91 \x8F " ) , "👏" ) ; // U+1F44F
181
181
182
182
// even number of backslashes
183
- assert_eq ! ( ue( br#"\\"# ) , "\\ " . to_string ( ) ) ;
184
- assert_eq ! ( ue( br#"\\\\"# ) , "\\ \\ " . to_string ( ) ) ;
185
- assert_eq ! ( ue( br#"\\\\\\"# ) , "\\ \\ \\ " . to_string ( ) ) ;
186
- assert_eq ! ( ue( br#"\\\\\\\\"# ) , "\\ \\ \\ \\ " . to_string ( ) ) ;
183
+ assert_eq ! ( ue( br#"\\"# ) , "\\ " ) ;
184
+ assert_eq ! ( ue( br#"\\\\"# ) , "\\ \\ " ) ;
185
+ assert_eq ! ( ue( br#"\\\\\\"# ) , "\\ \\ \\ " ) ;
186
+ assert_eq ! ( ue( br#"\\\\\\\\"# ) , "\\ \\ \\ \\ " ) ;
187
187
188
188
// The 8 short escape sequences \", \\, \/, \b, \f, \n, \r, \t (alone, start, end, middle)
189
- assert_eq ! ( ue( br#"\""# ) , "\" " . to_string ( ) ) ;
190
- assert_eq ! ( ue( br#"\\"# ) , "\\ " . to_string ( ) ) ;
191
- assert_eq ! ( ue( br#"\/"# ) , "/" . to_string ( ) ) ;
192
- assert_eq ! ( ue( br#"\b"# ) , "\x08 " . to_string ( ) ) ;
193
- assert_eq ! ( ue( br#"\f"# ) , "\x0C " . to_string ( ) ) ;
194
- assert_eq ! ( ue( br#"\n"# ) , "\n " . to_string ( ) ) ;
195
- assert_eq ! ( ue( br#"\r"# ) , "\r " . to_string ( ) ) ;
196
- assert_eq ! ( ue( br#"\t"# ) , "\t " . to_string ( ) ) ;
197
- assert_eq ! ( ue( br#"\"abc"# ) , "\" abc" . to_string ( ) ) ;
198
- assert_eq ! ( ue( br#"\\abc"# ) , "\\ abc" . to_string ( ) ) ;
199
- assert_eq ! ( ue( br#"\/abc"# ) , "/abc" . to_string ( ) ) ;
200
- assert_eq ! ( ue( br#"\babc"# ) , "\x08 abc" . to_string ( ) ) ;
201
- assert_eq ! ( ue( br#"\fabc"# ) , "\x0C abc" . to_string ( ) ) ;
202
- assert_eq ! ( ue( br#"\nabc"# ) , "\n abc" . to_string ( ) ) ;
203
- assert_eq ! ( ue( br#"\rabc"# ) , "\r abc" . to_string ( ) ) ;
204
- assert_eq ! ( ue( br#"\tabc"# ) , "\t abc" . to_string ( ) ) ;
205
- assert_eq ! ( ue( br#"abc\""# ) , "abc\" " . to_string ( ) ) ;
206
- assert_eq ! ( ue( br#"abc\\"# ) , "abc\\ " . to_string ( ) ) ;
207
- assert_eq ! ( ue( br#"abc\/"# ) , "abc/" . to_string ( ) ) ;
208
- assert_eq ! ( ue( br#"abc\b"# ) , "abc\x08 " . to_string ( ) ) ;
209
- assert_eq ! ( ue( br#"abc\f"# ) , "abc\x0C " . to_string ( ) ) ;
210
- assert_eq ! ( ue( br#"abc\n"# ) , "abc\n " . to_string ( ) ) ;
211
- assert_eq ! ( ue( br#"abc\r"# ) , "abc\r " . to_string ( ) ) ;
212
- assert_eq ! ( ue( br#"abc\t"# ) , "abc\t " . to_string ( ) ) ;
213
- assert_eq ! ( ue( br#"xy\"abc"# ) , "xy\" abc" . to_string ( ) ) ;
214
- assert_eq ! ( ue( br#"xy\\abc"# ) , "xy\\ abc" . to_string ( ) ) ;
215
- assert_eq ! ( ue( br#"xy\/abc"# ) , "xy/abc" . to_string ( ) ) ;
216
- assert_eq ! ( ue( br#"xy\babc"# ) , "xy\x08 abc" . to_string ( ) ) ;
217
- assert_eq ! ( ue( br#"xy\fabc"# ) , "xy\x0C abc" . to_string ( ) ) ;
218
- assert_eq ! ( ue( br#"xy\nabc"# ) , "xy\n abc" . to_string ( ) ) ;
219
- assert_eq ! ( ue( br#"xy\rabc"# ) , "xy\r abc" . to_string ( ) ) ;
220
- assert_eq ! ( ue( br#"xy\tabc"# ) , "xy\t abc" . to_string ( ) ) ;
189
+ assert_eq ! ( ue( br#"\""# ) , "\" " ) ;
190
+ assert_eq ! ( ue( br#"\\"# ) , "\\ " ) ;
191
+ assert_eq ! ( ue( br#"\/"# ) , "/" ) ;
192
+ assert_eq ! ( ue( br#"\b"# ) , "\x08 " ) ;
193
+ assert_eq ! ( ue( br#"\f"# ) , "\x0C " ) ;
194
+ assert_eq ! ( ue( br#"\n"# ) , "\n " ) ;
195
+ assert_eq ! ( ue( br#"\r"# ) , "\r " ) ;
196
+ assert_eq ! ( ue( br#"\t"# ) , "\t " ) ;
197
+ assert_eq ! ( ue( br#"\"abc"# ) , "\" abc" ) ;
198
+ assert_eq ! ( ue( br#"\\abc"# ) , "\\ abc" ) ;
199
+ assert_eq ! ( ue( br#"\/abc"# ) , "/abc" ) ;
200
+ assert_eq ! ( ue( br#"\babc"# ) , "\x08 abc" ) ;
201
+ assert_eq ! ( ue( br#"\fabc"# ) , "\x0C abc" ) ;
202
+ assert_eq ! ( ue( br#"\nabc"# ) , "\n abc" ) ;
203
+ assert_eq ! ( ue( br#"\rabc"# ) , "\r abc" ) ;
204
+ assert_eq ! ( ue( br#"\tabc"# ) , "\t abc" ) ;
205
+ assert_eq ! ( ue( br#"abc\""# ) , "abc\" " ) ;
206
+ assert_eq ! ( ue( br#"abc\\"# ) , "abc\\ " ) ;
207
+ assert_eq ! ( ue( br#"abc\/"# ) , "abc/" ) ;
208
+ assert_eq ! ( ue( br#"abc\b"# ) , "abc\x08 " ) ;
209
+ assert_eq ! ( ue( br#"abc\f"# ) , "abc\x0C " ) ;
210
+ assert_eq ! ( ue( br#"abc\n"# ) , "abc\n " ) ;
211
+ assert_eq ! ( ue( br#"abc\r"# ) , "abc\r " ) ;
212
+ assert_eq ! ( ue( br#"abc\t"# ) , "abc\t " ) ;
213
+ assert_eq ! ( ue( br#"xy\"abc"# ) , "xy\" abc" ) ;
214
+ assert_eq ! ( ue( br#"xy\\abc"# ) , "xy\\ abc" ) ;
215
+ assert_eq ! ( ue( br#"xy\/abc"# ) , "xy/abc" ) ;
216
+ assert_eq ! ( ue( br#"xy\babc"# ) , "xy\x08 abc" ) ;
217
+ assert_eq ! ( ue( br#"xy\fabc"# ) , "xy\x0C abc" ) ;
218
+ assert_eq ! ( ue( br#"xy\nabc"# ) , "xy\n abc" ) ;
219
+ assert_eq ! ( ue( br#"xy\rabc"# ) , "xy\r abc" ) ;
220
+ assert_eq ! ( ue( br#"xy\tabc"# ) , "xy\t abc" ) ;
221
221
222
222
// Short escape sequences mixed
223
- assert_eq ! ( ue( br#" \" \" \" "# ) , " \" \" \" " . to_string ( ) ) ;
224
- assert_eq ! ( ue( br#" \t \n \r "# ) , " \t \n \r " . to_string ( ) ) ;
225
- assert_eq ! ( ue( br#" \"\"\" "# ) , " \" \" \" " . to_string ( ) ) ;
226
- assert_eq ! ( ue( br#" \t\n\r "# ) , " \t \n \r " . to_string ( ) ) ;
223
+ assert_eq ! ( ue( br#" \" \" \" "# ) , " \" \" \" " ) ;
224
+ assert_eq ! ( ue( br#" \t \n \r "# ) , " \t \n \r " ) ;
225
+ assert_eq ! ( ue( br#" \"\"\" "# ) , " \" \" \" " ) ;
226
+ assert_eq ! ( ue( br#" \t\n\r "# ) , " \t \n \r " ) ;
227
227
228
228
// Unicode
229
- assert_eq ! ( ue( br#" \u0001 "# ) , " \u{0001} " . to_string ( ) ) ;
230
- assert_eq ! ( ue( br#" \u0010 "# ) , " \u{0010} " . to_string ( ) ) ;
231
- assert_eq ! ( ue( br#" \u0100 "# ) , " \u{0100} " . to_string ( ) ) ;
232
- assert_eq ! ( ue( br#" \u1000 "# ) , " \u{1000} " . to_string ( ) ) ;
233
- assert_eq ! ( ue( br#" \uABCD "# ) , " \u{abcd} " . to_string ( ) ) ;
234
- assert_eq ! ( ue( br#" \uabcd "# ) , " \u{abcd} " . to_string ( ) ) ;
235
- assert_eq ! ( ue( br#" \uAbCd "# ) , " \u{abcd} " . to_string ( ) ) ;
236
- assert_eq ! ( ue( br#" \uABCDefg "# ) , " \u{abcd} efg " . to_string ( ) ) ;
237
- assert_eq ! ( ue( br#" \uabcdefg "# ) , " \u{abcd} efg " . to_string ( ) ) ;
238
- assert_eq ! ( ue( br#" \uAbCdefg "# ) , " \u{abcd} efg " . to_string ( ) ) ;
229
+ assert_eq ! ( ue( br#" \u0001 "# ) , " \u{0001} " ) ;
230
+ assert_eq ! ( ue( br#" \u0010 "# ) , " \u{0010} " ) ;
231
+ assert_eq ! ( ue( br#" \u0100 "# ) , " \u{0100} " ) ;
232
+ assert_eq ! ( ue( br#" \u1000 "# ) , " \u{1000} " ) ;
233
+ assert_eq ! ( ue( br#" \uABCD "# ) , " \u{abcd} " ) ;
234
+ assert_eq ! ( ue( br#" \uabcd "# ) , " \u{abcd} " ) ;
235
+ assert_eq ! ( ue( br#" \uAbCd "# ) , " \u{abcd} " ) ;
236
+ assert_eq ! ( ue( br#" \uABCDefg "# ) , " \u{abcd} efg " ) ;
237
+ assert_eq ! ( ue( br#" \uabcdefg "# ) , " \u{abcd} efg " ) ;
238
+ assert_eq ! ( ue( br#" \uAbCdefg "# ) , " \u{abcd} efg " ) ;
239
239
}
240
240
241
241
#[ test]
@@ -304,11 +304,11 @@ mod tests {
304
304
305
305
#[ test]
306
306
fn unescape_works_for_surrogate_pairs ( ) {
307
- assert_eq ! ( ue( br#" \uD83D\uDC4F "# ) , " \u{1F44F} " . to_string ( ) ) ;
308
- assert_eq ! ( ue( br#" \uD83D\uDC4F\uD83D\uDC4F "# ) , " 👏👏 " . to_string ( ) ) ;
307
+ assert_eq ! ( ue( br#" \uD83D\uDC4F "# ) , " \u{1F44F} " ) ;
308
+ assert_eq ! ( ue( br#" \uD83D\uDC4F\uD83D\uDC4F "# ) , " 👏👏 " ) ;
309
309
310
- assert_eq ! ( ue( br#" \uD83E\uDD7A "# ) , " \u{1F97A} " . to_string ( ) ) ;
311
- assert_eq ! ( ue( br#" \uD83E\uDD7A\uD83D\uDC4F "# ) , " 🥺👏 " . to_string ( ) ) ;
310
+ assert_eq ! ( ue( br#" \uD83E\uDD7A "# ) , " \u{1F97A} " ) ;
311
+ assert_eq ! ( ue( br#" \uD83E\uDD7A\uD83D\uDC4F "# ) , " 🥺👏 " ) ;
312
312
}
313
313
314
314
#[ test]
0 commit comments