@@ -323,18 +323,30 @@ mod tests {
323
323
use crate :: core:: { GitReference , SourceKind } ;
324
324
use url:: Url ;
325
325
326
+ #[ track_caller]
327
+ fn ok ( spec : & str , expected : PackageIdSpec , expected_rendered : & str ) {
328
+ let parsed = PackageIdSpec :: parse ( spec) . unwrap ( ) ;
329
+ assert_eq ! ( parsed, expected) ;
330
+ let rendered = parsed. to_string ( ) ;
331
+ assert_eq ! ( rendered, expected_rendered) ;
332
+ let reparsed = PackageIdSpec :: parse ( & rendered) . unwrap ( ) ;
333
+ assert_eq ! ( reparsed, expected) ;
334
+ }
335
+
336
+ macro_rules! err {
337
+ ( $spec: expr, $expected: pat) => {
338
+ let err = PackageIdSpec :: parse( $spec) . unwrap_err( ) ;
339
+ let kind = err. 0 ;
340
+ assert!(
341
+ matches!( kind, $expected) ,
342
+ "`{}` parse error mismatch, got {kind:?}" ,
343
+ $spec
344
+ ) ;
345
+ } ;
346
+ }
347
+
326
348
#[ test]
327
349
fn good_parsing ( ) {
328
- #[ track_caller]
329
- fn ok ( spec : & str , expected : PackageIdSpec , expected_rendered : & str ) {
330
- let parsed = PackageIdSpec :: parse ( spec) . unwrap ( ) ;
331
- assert_eq ! ( parsed, expected) ;
332
- let rendered = parsed. to_string ( ) ;
333
- assert_eq ! ( rendered, expected_rendered) ;
334
- let reparsed = PackageIdSpec :: parse ( & rendered) . unwrap ( ) ;
335
- assert_eq ! ( reparsed, expected) ;
336
- }
337
-
338
350
ok (
339
351
"https://crates.io/foo" ,
340
352
PackageIdSpec {
@@ -603,18 +615,6 @@ mod tests {
603
615
604
616
#[ test]
605
617
fn bad_parsing ( ) {
606
- macro_rules! err {
607
- ( $spec: expr, $expected: pat) => {
608
- let err = PackageIdSpec :: parse( $spec) . unwrap_err( ) ;
609
- let kind = err. 0 ;
610
- assert!(
611
- matches!( kind, $expected) ,
612
- "`{}` parse error mismatch, got {kind:?}" ,
613
- $spec
614
- ) ;
615
- } ;
616
- }
617
-
618
618
err ! ( "baz:" , ErrorKind :: PartialVersion ( _) ) ;
619
619
err ! ( "baz:*" , ErrorKind :: PartialVersion ( _) ) ;
620
620
err ! ( "baz@" , ErrorKind :: PartialVersion ( _) ) ;
0 commit comments