summaryrefslogtreecommitdiff
path: root/tests/integration
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/publish_tests.rs31
1 files changed, 27 insertions, 4 deletions
diff --git a/tests/integration/publish_tests.rs b/tests/integration/publish_tests.rs
index 53bb6a376..28046d047 100644
--- a/tests/integration/publish_tests.rs
+++ b/tests/integration/publish_tests.rs
@@ -409,7 +409,7 @@ fn ignores_directories() {
}
#[test]
-fn not_include_gitignored_file_even_if_matched_in_include() {
+fn not_include_gitignored_file_unless_exact_match_in_include() {
let context = publish_context_builder().build();
let temp_dir = context.temp_dir().path();
temp_dir.join("deno.json").write_json(&json!({
@@ -417,22 +417,45 @@ fn not_include_gitignored_file_even_if_matched_in_include() {
"version": "1.0.0",
"exports": "./main.ts",
"publish": {
- // won't match ignored because it needs to be
+ // won't match ignored.ts because it needs to be
// unexcluded via a negated glob in exclude
- "include": [ "deno.json", "*.ts" ]
+ "include": [
+ "deno.json",
+ "*.ts",
+ "exact_include.ts",
+ "sub"
+ ]
}
}));
- temp_dir.join(".gitignore").write("ignored.ts");
+ temp_dir
+ .join(".gitignore")
+ .write("ignored.ts\nexact_include.ts\nsub/\nsub/ignored\n/sub_ignored\n");
temp_dir.join("main.ts").write("");
temp_dir.join("ignored.ts").write("");
+ temp_dir.join("exact_include.ts").write("");
+ let sub_dir = temp_dir.join("sub");
+ sub_dir.create_dir_all();
+ sub_dir.join("sub_included.ts").write("");
+ sub_dir.join("ignored.ts").write(""); // this one is gitignored
+ sub_dir.join("ignored").create_dir_all();
+ sub_dir.join("ignored").join("ignored_also.ts").write("");
+ let sub_ignored_dir = temp_dir.join("sub_ignored");
+ sub_ignored_dir.create_dir_all();
+ sub_ignored_dir.join("sub_ignored.ts").write("");
let output = context.new_command().arg("publish").arg("--dry-run").run();
output.assert_exit_code(0);
let output = output.combined_output();
assert_contains!(output, "main.ts");
+ // will match this exact match
+ assert_contains!(output, "exact_include.ts");
+ // will include this because the sub directory is included
+ assert_contains!(output, "sub_included.ts");
// it's gitignored
assert_not_contains!(output, "ignored.ts");
+ assert_not_contains!(output, "ignored_also.ts");
+ assert_not_contains!(output, "sub_ignored.ts");
}
#[test]