@@ -7,8 +7,8 @@ use cargo::util::Config;
7
7
use crate :: support:: project;
8
8
use crate :: support:: registry:: Package ;
9
9
use crate :: support:: resolver:: {
10
- assert_contains, assert_same, dep, dep_kind, dep_loc, dep_req, loc_names , names , pkg , pkg_dep ,
11
- pkg_id, pkg_loc, registry, registry_strategy, remove_dep, resolve, resolve_and_validated,
10
+ assert_contains, assert_same, dep, dep_kind, dep_loc, dep_req, dep_req_kind , loc_names , names ,
11
+ pkg , pkg_dep , pkg_id, pkg_loc, registry, registry_strategy, remove_dep, resolve, resolve_and_validated,
12
12
resolve_with_config, PrettyPrintRegistry , ToDep , ToPkgId ,
13
13
} ;
14
14
@@ -235,6 +235,27 @@ proptest! {
235
235
}
236
236
}
237
237
238
+ #[ test]
239
+ fn public_dependency ( ) {
240
+ let reg = registry ( vec ! [
241
+ pkg!( ( "A" , "0.1.0" ) ) ,
242
+ pkg!( ( "A" , "0.2.0" ) ) ,
243
+ pkg!( "B" => [ dep_req_kind( "A" , "0.1" , Kind :: Normal , true ) ] ) ,
244
+ pkg!( "C" => [ dep_req( "A" , "*" ) , dep_req( "B" , "*" ) ] ) ,
245
+ ] ) ;
246
+
247
+ let res = resolve_and_validated ( & pkg_id ( "root" ) , vec ! [ dep( "C" ) ] , & reg) . unwrap ( ) ;
248
+ assert_same (
249
+ & res,
250
+ & names ( & [
251
+ ( "root" , "1.0.0" ) ,
252
+ ( "C" , "1.0.0" ) ,
253
+ ( "B" , "1.0.0" ) ,
254
+ ( "A" , "0.1.0" ) ,
255
+ ] ) ,
256
+ ) ;
257
+ }
258
+
238
259
#[ test]
239
260
#[ should_panic( expected = "assertion failed: !name.is_empty()" ) ]
240
261
fn test_dependency_with_empty_name ( ) {
0 commit comments