@@ -21,6 +21,8 @@ struct BadgeRef {
21
21
coveralls_attributes : HashMap < String , String > ,
22
22
circle_ci : Badge ,
23
23
circle_ci_attributes : HashMap < String , String > ,
24
+ cirrus_ci : Badge ,
25
+ cirrus_ci_attributes : HashMap < String , String > ,
24
26
maintenance : Badge ,
25
27
maintenance_attributes : HashMap < String , String > ,
26
28
}
@@ -134,6 +136,14 @@ fn set_up() -> (BadgeTestCrate, BadgeRef) {
134
136
badge_attributes_circle_ci. insert ( String :: from ( "branch" ) , String :: from ( "beta" ) ) ;
135
137
badge_attributes_circle_ci. insert ( String :: from ( "repository" ) , String :: from ( "rust-lang/rust" ) ) ;
136
138
139
+ let cirrus_ci = Badge :: CirrusCi {
140
+ repository : String :: from ( "rust-lang/rust" ) ,
141
+ branch : Some ( String :: from ( "beta" ) ) ,
142
+ } ;
143
+ let mut badge_attributes_cirrus_ci = HashMap :: new ( ) ;
144
+ badge_attributes_cirrus_ci. insert ( String :: from ( "branch" ) , String :: from ( "beta" ) ) ;
145
+ badge_attributes_cirrus_ci. insert ( String :: from ( "repository" ) , String :: from ( "rust-lang/rust" ) ) ;
146
+
137
147
let maintenance = Badge :: Maintenance {
138
148
status : MaintenanceStatus :: LookingForMaintainer ,
139
149
} ;
@@ -163,6 +173,8 @@ fn set_up() -> (BadgeTestCrate, BadgeRef) {
163
173
coveralls_attributes : badge_attributes_coveralls,
164
174
circle_ci,
165
175
circle_ci_attributes : badge_attributes_circle_ci,
176
+ cirrus_ci,
177
+ cirrus_ci_attributes : badge_attributes_cirrus_ci,
166
178
maintenance,
167
179
maintenance_attributes,
168
180
} ;
@@ -290,6 +302,17 @@ fn update_add_circle_ci() {
290
302
assert_eq ! ( krate. badges( ) , vec![ test_badges. circle_ci] ) ;
291
303
}
292
304
305
+ #[ test]
306
+ fn update_add_cirrus_ci ( ) {
307
+ // Add a Cirrus CI badge
308
+ let ( krate, test_badges) = set_up ( ) ;
309
+
310
+ let mut badges = HashMap :: new ( ) ;
311
+ badges. insert ( String :: from ( "cirrus-ci" ) , test_badges. cirrus_ci_attributes ) ;
312
+ krate. update ( & badges) ;
313
+ assert_eq ! ( krate. badges( ) , vec![ test_badges. cirrus_ci] ) ;
314
+ }
315
+
293
316
#[ test]
294
317
fn update_add_maintenance ( ) {
295
318
// Add a maintenance badge
@@ -547,6 +570,23 @@ fn circle_ci_required_keys() {
547
570
assert_eq ! ( krate. badges( ) , vec![ ] ) ;
548
571
}
549
572
573
+ #[ test]
574
+ fn cirrus_ci_required_keys ( ) {
575
+ // Add a Cirrus CI badge missing a required field
576
+ let ( krate, mut test_badges) = set_up ( ) ;
577
+
578
+ let mut badges = HashMap :: new ( ) ;
579
+
580
+ // Repository is a required key
581
+ test_badges. cirrus_ci_attributes . remove ( "repository" ) ;
582
+ badges. insert ( String :: from ( "cirrus-ci" ) , test_badges. cirrus_ci_attributes ) ;
583
+
584
+ let invalid_badges = krate. update ( & badges) ;
585
+ assert_eq ! ( invalid_badges. len( ) , 1 ) ;
586
+ assert_eq ! ( invalid_badges. first( ) . unwrap( ) , "cirrus-ci" ) ;
587
+ assert_eq ! ( krate. badges( ) , vec![ ] ) ;
588
+ }
589
+
550
590
#[ test]
551
591
fn maintenance_required_keys ( ) {
552
592
// Add a maintenance badge missing a required field
0 commit comments