@@ -105,40 +105,36 @@ fn regex_backslash_rules() {
105
105
"matching inner parens do not need escaping" ,
106
106
) ,
107
107
(
108
- r# "@^{/with count\{1\}}"# ,
108
+ r"@^{/with count\{1\}}" ,
109
109
r#"with count{1}"# ,
110
110
"escaped parens are entirely ignored" ,
111
111
) ,
112
- ( r# "@^{/1\}}"# , r#"1}"# , "unmatched closing parens need to be escaped" ) ,
113
- ( r# "@^{/2\{}"# , r#"2{"# , "unmatched opening parens need to be escaped" ) ,
112
+ ( r"@^{/1\}}" , r#"1}"# , "unmatched closing parens need to be escaped" ) ,
113
+ ( r"@^{/2\{}" , r#"2{"# , "unmatched opening parens need to be escaped" ) ,
114
114
(
115
- r# "@^{/3{\{}}"# ,
115
+ r"@^{/3{\{}}" ,
116
116
r#"3{{}"# ,
117
117
"unmatched nested opening parens need to be escaped" ,
118
118
) ,
119
119
(
120
- r# "@^{/4{\}}}"# ,
120
+ r"@^{/4{\}}}" ,
121
121
r#"4{}}"# ,
122
122
"unmatched nested closing parens need to be escaped" ,
123
123
) ,
124
+ ( r"@^{/a\b\c}" , r"a\b\c" , "single backslashes do not need to be escaped" ) ,
124
125
(
125
- r#"@^{/a\b\c}"# ,
126
- r#"a\b\c"# ,
127
- "single backslashes do not need to be escaped" ,
128
- ) ,
129
- (
130
- r#"@^{/a\b\c\\}"# ,
131
- r#"a\b\c\"# ,
126
+ r"@^{/a\b\c\\}" ,
127
+ r"a\b\c\" ,
132
128
"single backslashes do not need to be escaped, trailing" ,
133
129
) ,
134
130
(
135
- r# "@^{/a\\b\\c\\}"# ,
136
- r# "a\b\c\"# ,
131
+ r"@^{/a\\b\\c\\}" ,
132
+ r"a\b\c\" ,
137
133
"backslashes can be escaped nonetheless, trailing" ,
138
134
) ,
139
135
(
140
- r# "@^{/5\\{}}"# ,
141
- r# "5\{}"# ,
136
+ r"@^{/5\\{}}" ,
137
+ r"5\{}" ,
142
138
"backslashes in front of parens must be escaped or they would unbalance the brace pair" ,
143
139
) ,
144
140
] {
@@ -196,11 +192,11 @@ fn invalid_object_type() {
196
192
197
193
#[ test]
198
194
fn incomplete_escaped_braces_in_regex_are_invalid ( ) {
199
- let err = try_parse ( r# "@^{/a\{1}}"# ) . unwrap_err ( ) ;
195
+ let err = try_parse ( r"@^{/a\{1}}" ) . unwrap_err ( ) ;
200
196
assert ! ( matches!( err, spec:: parse:: Error :: UnconsumedInput { input} if input == "}" ) ) ;
201
197
202
- let err = try_parse ( r# "@^{/a{1\}}"# ) . unwrap_err ( ) ;
203
- assert ! ( matches!( err, spec:: parse:: Error :: UnclosedBracePair { input} if input == r# "{/a{1\}}"# ) ) ;
198
+ let err = try_parse ( r"@^{/a{1\}}" ) . unwrap_err ( ) ;
199
+ assert ! ( matches!( err, spec:: parse:: Error :: UnclosedBracePair { input} if input == r"{/a{1\}}" ) ) ;
204
200
}
205
201
206
202
#[ test]
@@ -211,11 +207,11 @@ fn regex_with_empty_exclamation_mark_prefix_is_invalid() {
211
207
212
208
#[ test]
213
209
fn bad_escapes_can_cause_brace_mismatch ( ) {
214
- let err = try_parse ( r# "@^{\}"# ) . unwrap_err ( ) ;
215
- assert ! ( matches!( err, spec:: parse:: Error :: UnclosedBracePair { input} if input == r# "{\}"# ) ) ;
210
+ let err = try_parse ( r"@^{\}" ) . unwrap_err ( ) ;
211
+ assert ! ( matches!( err, spec:: parse:: Error :: UnclosedBracePair { input} if input == r"{\}" ) ) ;
216
212
217
- let err = try_parse ( r# "@^{{\}}"# ) . unwrap_err ( ) ;
218
- assert ! ( matches!( err, spec:: parse:: Error :: UnclosedBracePair { input} if input == r# "{{\}}"# ) ) ;
213
+ let err = try_parse ( r"@^{{\}}" ) . unwrap_err ( ) ;
214
+ assert ! ( matches!( err, spec:: parse:: Error :: UnclosedBracePair { input} if input == r"{{\}}" ) ) ;
219
215
}
220
216
221
217
#[ test]
0 commit comments