@@ -23,6 +23,8 @@ struct BadgeRef {
23
23
circle_ci_attributes : HashMap < String , String > ,
24
24
cirrus_ci : Badge ,
25
25
cirrus_ci_attributes : HashMap < String , String > ,
26
+ bitbucket_pipelines : Badge ,
27
+ bitbucket_pipelines_attributes : HashMap < String , String > ,
26
28
maintenance : Badge ,
27
29
maintenance_attributes : HashMap < String , String > ,
28
30
}
@@ -144,6 +146,15 @@ fn set_up() -> (BadgeTestCrate, BadgeRef) {
144
146
badge_attributes_cirrus_ci. insert ( String :: from ( "branch" ) , String :: from ( "beta" ) ) ;
145
147
badge_attributes_cirrus_ci. insert ( String :: from ( "repository" ) , String :: from ( "rust-lang/rust" ) ) ;
146
148
149
+ let bitbucket_pipelines = Badge :: BitbucketPipelines {
150
+ repository : String :: from ( "rust-lang/rust" ) ,
151
+ branch : String :: from ( "beta" ) ,
152
+ } ;
153
+ let mut badge_attributes_bitbucket_pipelines = HashMap :: new ( ) ;
154
+ badge_attributes_bitbucket_pipelines
155
+ . insert ( String :: from ( "repository" ) , String :: from ( "rust-lang/rust" ) ) ;
156
+ badge_attributes_bitbucket_pipelines. insert ( String :: from ( "branch" ) , String :: from ( "beta" ) ) ;
157
+
147
158
let maintenance = Badge :: Maintenance {
148
159
status : MaintenanceStatus :: LookingForMaintainer ,
149
160
} ;
@@ -175,6 +186,8 @@ fn set_up() -> (BadgeTestCrate, BadgeRef) {
175
186
circle_ci_attributes : badge_attributes_circle_ci,
176
187
cirrus_ci,
177
188
cirrus_ci_attributes : badge_attributes_cirrus_ci,
189
+ bitbucket_pipelines,
190
+ bitbucket_pipelines_attributes : badge_attributes_bitbucket_pipelines,
178
191
maintenance,
179
192
maintenance_attributes,
180
193
} ;
@@ -313,6 +326,20 @@ fn update_add_cirrus_ci() {
313
326
assert_eq ! ( krate. badges( ) , vec![ test_badges. cirrus_ci] ) ;
314
327
}
315
328
329
+ #[ test]
330
+ fn update_add_bitbucket_pipelines ( ) {
331
+ // Add a Bitbucket Pipelines badge
332
+ let ( krate, test_badges) = set_up ( ) ;
333
+
334
+ let mut badges = HashMap :: new ( ) ;
335
+ badges. insert (
336
+ String :: from ( "bitbucket-pipelines" ) ,
337
+ test_badges. bitbucket_pipelines_attributes ,
338
+ ) ;
339
+ krate. update ( & badges) ;
340
+ assert_eq ! ( krate. badges( ) , vec![ test_badges. bitbucket_pipelines] ) ;
341
+ }
342
+
316
343
#[ test]
317
344
fn update_add_maintenance ( ) {
318
345
// Add a maintenance badge
@@ -587,6 +614,25 @@ fn cirrus_ci_required_keys() {
587
614
assert_eq ! ( krate. badges( ) , vec![ ] ) ;
588
615
}
589
616
617
+ #[ test]
618
+ fn bitbucket_pipelines_required_keys ( ) {
619
+ // Add a Bitbucket Pipelines badge missing a required field
620
+ let ( krate, test_badges) = set_up ( ) ;
621
+
622
+ for required in & [ "repository" , "branch" ] {
623
+ let mut attributes = test_badges. bitbucket_pipelines_attributes . clone ( ) ;
624
+ attributes. remove ( * required) ;
625
+
626
+ let mut badges = HashMap :: new ( ) ;
627
+ badges. insert ( String :: from ( "bitbucket-pipelines" ) , attributes) ;
628
+
629
+ let invalid_badges = krate. update ( & badges) ;
630
+ assert_eq ! ( invalid_badges. len( ) , 1 ) ;
631
+ assert_eq ! ( invalid_badges. first( ) . unwrap( ) , "bitbucket-pipelines" ) ;
632
+ assert_eq ! ( krate. badges( ) , vec![ ] ) ;
633
+ }
634
+ }
635
+
590
636
#[ test]
591
637
fn maintenance_required_keys ( ) {
592
638
// Add a maintenance badge missing a required field
0 commit comments