@@ -2088,8 +2088,58 @@ mod test {
20882088 tags = ["manual"],
20892089 )
20902090 "# } ;
2091- assert ! ( build_file_content
2092- . replace( ' ' , "" )
2093- . contains( & expected. replace( ' ' , "" ) ) ) ;
2091+ assert ! (
2092+ build_file_content
2093+ . replace( ' ' , "" )
2094+ . contains( & expected. replace( ' ' , "" ) ) ,
2095+ "{}\n does not match {}" ,
2096+ build_file_content,
2097+ expected
2098+ ) ;
2099+ }
2100+
2101+ #[ test]
2102+ fn intra_workspace_deps ( ) {
2103+ let intra_workspace_dependencies_workspace_toml = Label :: Absolute {
2104+ repository : starlark:: Repository :: Canonical ( "test_repo" . to_owned ( ) ) ,
2105+ package : "test_package" . to_owned ( ) ,
2106+ target : "Cargo.lock" . to_owned ( ) ,
2107+ } ;
2108+
2109+ let render_config = RenderConfig {
2110+ intra_workspace_dependencies_workspace_toml : Some (
2111+ intra_workspace_dependencies_workspace_toml,
2112+ ) ,
2113+ ..std:: sync:: Arc :: < RenderConfig > :: into_inner ( mock_render_config ( None ) ) . unwrap ( )
2114+ } ;
2115+
2116+ let config = Config {
2117+ rendering : render_config. clone ( ) ,
2118+ ..Default :: default ( )
2119+ } ;
2120+
2121+ let annotations = Annotations :: new (
2122+ test:: metadata:: workspace_path ( ) ,
2123+ test:: lockfile:: workspace_path ( ) ,
2124+ config,
2125+ Utf8Path :: new ( "/tmp/bazelworkspace" ) ,
2126+ )
2127+ . unwrap ( ) ;
2128+ let context = Context :: new ( annotations, false ) . unwrap ( ) ;
2129+
2130+ let renderer = Renderer :: new ( Arc :: new ( render_config) , mock_supported_platform_triples ( ) ) ;
2131+ let output = renderer. render ( & context, None ) . unwrap ( ) ;
2132+
2133+ let expected = indoc ! { r#"
2134+ alias(
2135+ name = "child_a-0.1.0",
2136+ actual = "@@test_repo//child_a:child_a",
2137+ tags = ["manual"],
2138+ )
2139+ "# } ;
2140+ assert ! ( output
2141+ . get( & PathBuf :: from( "BUILD.bazel" ) )
2142+ . unwrap( )
2143+ . contains( expected) ) ;
20942144 }
20952145}
0 commit comments