diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/Cargo.toml b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/Cargo.toml new file mode 100644 index 000000000..24c50556b --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/Cargo.toml @@ -0,0 +1,5 @@ +[workspace] +members = ["primary", "dependency"] + +[workspace.dependencies] +foo = { version = "0.0.0", path = "./dependency"} \ No newline at end of file diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/dependency/Cargo.toml b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/dependency/Cargo.toml new file mode 100644 index 000000000..2d247d4d2 --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/dependency/Cargo.toml @@ -0,0 +1,3 @@ +[package] +name = "foo" +version = "0.0.0" diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/dependency/src/lib.rs b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/dependency/src/lib.rs new file mode 100644 index 000000000..e69de29bb diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/primary/Cargo.toml b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/primary/Cargo.toml new file mode 100644 index 000000000..b5923a106 --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/primary/Cargo.toml @@ -0,0 +1,4 @@ +cargo-features = ["public-dependency"] +[package] +name = "bar" +version = "0.0.0" \ No newline at end of file diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/primary/src/lib.rs b/tests/testsuite/cargo_add/detect_workspace_inherit_public/in/primary/src/lib.rs new file mode 100644 index 000000000..e69de29bb diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/mod.rs b/tests/testsuite/cargo_add/detect_workspace_inherit_public/mod.rs new file mode 100644 index 000000000..680d4c4e3 --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/mod.rs @@ -0,0 +1,26 @@ +use cargo_test_support::compare::assert_ui; +use cargo_test_support::prelude::*; +use cargo_test_support::Project; + +use cargo_test_support::curr_dir; + +#[cargo_test] +fn case() { + cargo_test_support::registry::init(); + + let project = Project::from_template(curr_dir!().join("in")); + let project_root = project.root(); + let cwd = &project_root; + + snapbox::cmd::Command::cargo_ui() + .arg("add") + .args(["foo", "-p", "bar", "--public"]) + .masquerade_as_nightly_cargo(&["public-dependency"]) + .current_dir(cwd) + .assert() + .success() + .stdout_matches_path(curr_dir!().join("stdout.log")) + .stderr_matches_path(curr_dir!().join("stderr.log")); + + assert_ui().subset_matches(curr_dir!().join("out"), &project_root); +} diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/Cargo.toml b/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/Cargo.toml new file mode 100644 index 000000000..24c50556b --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/Cargo.toml @@ -0,0 +1,5 @@ +[workspace] +members = ["primary", "dependency"] + +[workspace.dependencies] +foo = { version = "0.0.0", path = "./dependency"} \ No newline at end of file diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/dependency/Cargo.toml b/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/dependency/Cargo.toml new file mode 100644 index 000000000..2d247d4d2 --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/dependency/Cargo.toml @@ -0,0 +1,3 @@ +[package] +name = "foo" +version = "0.0.0" diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/primary/Cargo.toml b/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/primary/Cargo.toml new file mode 100644 index 000000000..665c6ae5e --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/out/primary/Cargo.toml @@ -0,0 +1,7 @@ +cargo-features = ["public-dependency"] +[package] +name = "bar" +version = "0.0.0" + +[dependencies] +foo = { workspace = true, public = true } diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/stderr.log b/tests/testsuite/cargo_add/detect_workspace_inherit_public/stderr.log new file mode 100644 index 000000000..efa1ae9fa --- /dev/null +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_public/stderr.log @@ -0,0 +1 @@ + Adding foo (workspace) to public dependencies. diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_public/stdout.log b/tests/testsuite/cargo_add/detect_workspace_inherit_public/stdout.log new file mode 100644 index 000000000..e69de29bb diff --git a/tests/testsuite/cargo_add/mod.rs b/tests/testsuite/cargo_add/mod.rs index 2da7e4c52..5a1136d33 100644 --- a/tests/testsuite/cargo_add/mod.rs +++ b/tests/testsuite/cargo_add/mod.rs @@ -12,6 +12,7 @@ mod deprecated_section; mod detect_workspace_inherit; mod detect_workspace_inherit_features; mod detect_workspace_inherit_optional; +mod detect_workspace_inherit_public; mod dev; mod dev_build_conflict; mod dev_prefer_existing_version;