diff --git a/tests/testsuite/cargo_remove/mod.rs b/tests/testsuite/cargo_remove/mod.rs index 4403e2425..7b9190642 100644 --- a/tests/testsuite/cargo_remove/mod.rs +++ b/tests/testsuite/cargo_remove/mod.rs @@ -20,6 +20,7 @@ mod multiple_dev; mod no_arg; mod offline; mod optional_dep_feature; +mod optional_dep_feature_formatting; mod optional_feature; mod package; mod remove_basic; diff --git a/tests/testsuite/cargo_remove/optional_dep_feature_formatting/in b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/in new file mode 120000 index 000000000..7fd0ba5eb --- /dev/null +++ b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/in @@ -0,0 +1 @@ +../remove-basic.in/ \ No newline at end of file diff --git a/tests/testsuite/cargo_remove/optional_dep_feature_formatting/mod.rs b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/mod.rs new file mode 100644 index 000000000..ce8fcf712 --- /dev/null +++ b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/mod.rs @@ -0,0 +1,35 @@ +use cargo_test_support::compare::assert_ui; +use cargo_test_support::curr_dir; +use cargo_test_support::CargoCommand; +use cargo_test_support::Project; + +#[cargo_test] +fn case() { + cargo_test_support::registry::init(); + cargo_test_support::registry::Package::new("clippy", "0.4.0+my-package").publish(); + cargo_test_support::registry::Package::new("docopt", "0.6.2+my-package").publish(); + cargo_test_support::registry::Package::new("regex", "0.1.1+my-package").publish(); + cargo_test_support::registry::Package::new("rustc-serialize", "0.4.0+my-package").publish(); + cargo_test_support::registry::Package::new("toml", "0.1.1+my-package").publish(); + cargo_test_support::registry::Package::new("semver", "0.1.1") + .feature("std", &[]) + .publish(); + cargo_test_support::registry::Package::new("serde", "1.0.90") + .feature("std", &[]) + .publish(); + + let project = Project::from_template(curr_dir!().join("in")); + let project_root = project.root(); + let cwd = &project_root; + + snapbox::cmd::Command::cargo_ui() + .arg("remove") + .args(["--dev", "serde"]) + .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_remove/optional_dep_feature_formatting/out/Cargo.toml b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/out/Cargo.toml new file mode 100644 index 000000000..63112d334 --- /dev/null +++ b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/out/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "cargo-remove-test-fixture" +version = "0.1.0" + +[[bin]] +name = "main" +path = "src/main.rs" + +[build-dependencies] +semver = "0.1.0" + +[dependencies] +docopt = "0.6" +rustc-serialize = "0.4" +semver = "0.1" +toml = "0.1" +clippy = "0.4" + +[dev-dependencies] +regex = "0.1.1" + +[features] +std = ["semver/std"] diff --git a/tests/testsuite/cargo_remove/optional_dep_feature_formatting/stderr.log b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/stderr.log new file mode 100644 index 000000000..d3656ec54 --- /dev/null +++ b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/stderr.log @@ -0,0 +1 @@ + Removing serde from dev-dependencies diff --git a/tests/testsuite/cargo_remove/optional_dep_feature_formatting/stdout.log b/tests/testsuite/cargo_remove/optional_dep_feature_formatting/stdout.log new file mode 100644 index 000000000..e69de29bb