@@ -453,5 +453,41 @@ mod tests {
453
453
assert ! ( PackageIdSpec :: parse( "foo@1.2.3" ) . unwrap( ) . matches( foo) ) ;
454
454
assert ! ( !PackageIdSpec :: parse( "foo@1.2.2" ) . unwrap( ) . matches( foo) ) ;
455
455
assert ! ( PackageIdSpec :: parse( "foo@1.2" ) . unwrap( ) . matches( foo) ) ;
456
+
457
+ let meta = PackageId :: new ( "meta" , "1.2.3+hello" , sid) . unwrap ( ) ;
458
+ assert ! ( PackageIdSpec :: parse( "meta" ) . unwrap( ) . matches( meta) ) ;
459
+ assert ! ( PackageIdSpec :: parse( "meta@1" ) . unwrap( ) . matches( meta) ) ;
460
+ assert ! ( PackageIdSpec :: parse( "meta@1.2" ) . unwrap( ) . matches( meta) ) ;
461
+ assert ! ( PackageIdSpec :: parse( "meta@1.2.3" ) . unwrap( ) . matches( meta) ) ;
462
+ assert ! ( !PackageIdSpec :: parse( "meta@1.2.3-alpha.0" )
463
+ . unwrap( )
464
+ . matches( meta) ) ;
465
+ assert ! ( PackageIdSpec :: parse( "meta@1.2.3+hello" )
466
+ . unwrap( )
467
+ . matches( meta) ) ;
468
+ assert ! ( PackageIdSpec :: parse( "meta@1.2.3+bye" )
469
+ . unwrap( )
470
+ . matches( meta) ) ;
471
+
472
+ let pre = PackageId :: new ( "pre" , "1.2.3-alpha.0" , sid) . unwrap ( ) ;
473
+ assert ! ( PackageIdSpec :: parse( "pre" ) . unwrap( ) . matches( pre) ) ;
474
+ assert ! ( !PackageIdSpec :: parse( "pre@1" ) . unwrap( ) . matches( pre) ) ;
475
+ assert ! ( !PackageIdSpec :: parse( "pre@1.2" ) . unwrap( ) . matches( pre) ) ;
476
+ assert ! ( !PackageIdSpec :: parse( "pre@1.2.3" ) . unwrap( ) . matches( pre) ) ;
477
+ assert ! ( PackageIdSpec :: parse( "pre@1.2.3-alpha.0" )
478
+ . unwrap( )
479
+ . matches( pre) ) ;
480
+ assert ! ( !PackageIdSpec :: parse( "pre@1.2.3-alpha.1" )
481
+ . unwrap( )
482
+ . matches( pre) ) ;
483
+ assert ! ( !PackageIdSpec :: parse( "pre@1.2.3-beta.0" )
484
+ . unwrap( )
485
+ . matches( pre) ) ;
486
+ assert ! ( !PackageIdSpec :: parse( "pre@1.2.3+hello" )
487
+ . unwrap( )
488
+ . matches( pre) ) ;
489
+ assert ! ( PackageIdSpec :: parse( "pre@1.2.3-alpha.0+hello" )
490
+ . unwrap( )
491
+ . matches( pre) ) ;
456
492
}
457
493
}
0 commit comments