@@ -484,16 +484,23 @@ zzz = { version = "> 0.0.0" }
484
484
pub struct Resolved {
485
485
pub manifest : Manifest ,
486
486
pub added : Vec < ( EcoString , Version ) > ,
487
- pub changed : Vec < ( EcoString , Version , Version ) > ,
487
+ pub changed : Vec < Changed > ,
488
488
pub removed : Vec < EcoString > ,
489
489
}
490
490
491
+ #[ derive( Debug , PartialEq ) ]
492
+ pub struct Changed {
493
+ pub name : EcoString ,
494
+ pub old : Version ,
495
+ pub new : Version ,
496
+ }
497
+
491
498
impl Resolved {
492
499
pub fn any_changes ( & self ) -> bool {
493
500
!self . added . is_empty ( ) || !self . changed . is_empty ( ) || !self . removed . is_empty ( )
494
501
}
495
502
496
- pub fn add_added ( manifest : Manifest ) -> Resolved {
503
+ pub fn all_added ( manifest : Manifest ) -> Resolved {
497
504
let added = manifest
498
505
. packages
499
506
. iter ( )
@@ -531,7 +538,11 @@ impl Resolved {
531
538
match old. remove ( & new. name ) {
532
539
Some ( old_version) if old_version == & new. version => ( ) ,
533
540
Some ( old_version) => {
534
- changed. push ( ( new. name . clone ( ) , old_version. clone ( ) , new. version . clone ( ) ) ) ;
541
+ changed. push ( Changed {
542
+ name : new. name . clone ( ) ,
543
+ old : old_version. clone ( ) ,
544
+ new : new. version . clone ( ) ,
545
+ } ) ;
535
546
}
536
547
None => {
537
548
added. push ( ( new. name . clone ( ) , new. version . clone ( ) ) ) ;
@@ -591,7 +602,7 @@ fn resolved_with_updated() {
591
602
592
603
let mut resolved = Resolved :: with_updates ( & old, new) ;
593
604
resolved. added . sort ( ) ;
594
- resolved. changed . sort ( ) ;
605
+ resolved. changed . sort_by ( |a , b| a . name . cmp ( & b . name ) ) ;
595
606
resolved. removed . sort ( ) ;
596
607
597
608
assert_eq ! (
@@ -605,16 +616,16 @@ fn resolved_with_updated() {
605
616
assert_eq ! (
606
617
resolved. changed,
607
618
vec![
608
- (
609
- "changed1" . into( ) ,
610
- Version :: new( 3 , 0 , 0 ) ,
611
- Version :: new( 5 , 0 , 0 )
612
- ) ,
613
- (
614
- "changed2" . into( ) ,
615
- Version :: new( 0 , 1 , 0 ) ,
616
- Version :: new( 3 , 0 , 0 )
617
- ) ,
619
+ Changed {
620
+ name : "changed1" . into( ) ,
621
+ old : Version :: new( 3 , 0 , 0 ) ,
622
+ new : Version :: new( 5 , 0 , 0 )
623
+ } ,
624
+ Changed {
625
+ name : "changed2" . into( ) ,
626
+ old : Version :: new( 0 , 1 , 0 ) ,
627
+ new : Version :: new( 3 , 0 , 0 )
628
+ } ,
618
629
]
619
630
) ;
620
631
0 commit comments