summaryrefslogtreecommitdiff
path: root/cli/tests/integration
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/integration')
-rw-r--r--cli/tests/integration/fmt_tests.rs92
-rw-r--r--cli/tests/integration/lint_tests.rs95
-rw-r--r--cli/tests/integration/test_tests.rs58
3 files changed, 245 insertions, 0 deletions
diff --git a/cli/tests/integration/fmt_tests.rs b/cli/tests/integration/fmt_tests.rs
index e47311cf0..e674f4a52 100644
--- a/cli/tests/integration/fmt_tests.rs
+++ b/cli/tests/integration/fmt_tests.rs
@@ -2,7 +2,9 @@
use test_util as util;
use test_util::TempDir;
+use util::assert_contains;
use util::TestContext;
+use util::TestContextBuilder;
#[test]
fn fmt_test() {
@@ -257,3 +259,93 @@ itest!(fmt_with_malformed_config2 {
output: "fmt/fmt_with_malformed_config2.out",
exit_code: 1,
});
+
+#[test]
+fn fmt_with_glob_config() {
+ let context = TestContextBuilder::new().cwd("fmt").build();
+
+ let cmd_output = context
+ .new_command()
+ .args("fmt --check --config deno.glob.json")
+ .run();
+
+ cmd_output.assert_exit_code(1);
+
+ let output = cmd_output.combined_output();
+ if cfg!(windows) {
+ assert_contains!(output, r#"glob\nested\fizz\fizz.ts"#);
+ assert_contains!(output, r#"glob\pages\[id].ts"#);
+ assert_contains!(output, r#"glob\nested\fizz\bar.ts"#);
+ assert_contains!(output, r#"glob\nested\foo\foo.ts"#);
+ assert_contains!(output, r#"glob\data\test1.js"#);
+ assert_contains!(output, r#"glob\nested\foo\bar.ts"#);
+ assert_contains!(output, r#"glob\nested\foo\fizz.ts"#);
+ assert_contains!(output, r#"glob\nested\fizz\foo.ts"#);
+ assert_contains!(output, r#"glob\data\test1.ts"#);
+ } else {
+ assert_contains!(output, "glob/nested/fizz/fizz.ts");
+ assert_contains!(output, "glob/pages/[id].ts");
+ assert_contains!(output, "glob/nested/fizz/bar.ts");
+ assert_contains!(output, "glob/nested/foo/foo.ts");
+ assert_contains!(output, "glob/data/test1.js");
+ assert_contains!(output, "glob/nested/foo/bar.ts");
+ assert_contains!(output, "glob/nested/foo/fizz.ts");
+ assert_contains!(output, "glob/nested/fizz/foo.ts");
+ assert_contains!(output, "glob/data/test1.ts");
+ }
+
+ assert_contains!(output, "Found 9 not formatted files in 9 files");
+}
+
+#[test]
+fn fmt_with_glob_config_and_flags() {
+ let context = TestContextBuilder::new().cwd("fmt").build();
+
+ let cmd_output = context
+ .new_command()
+ .args("fmt --check --config deno.glob.json --ignore=glob/nested/**/bar.ts")
+ .run();
+
+ cmd_output.assert_exit_code(1);
+
+ let output = cmd_output.combined_output();
+ if cfg!(windows) {
+ assert_contains!(output, r#"glob\nested\fizz\fizz.ts"#);
+ assert_contains!(output, r#"glob\pages\[id].ts"#);
+ assert_contains!(output, r#"glob\nested\fizz\bazz.ts"#);
+ assert_contains!(output, r#"glob\nested\foo\foo.ts"#);
+ assert_contains!(output, r#"glob\data\test1.js"#);
+ assert_contains!(output, r#"glob\nested\foo\bazz.ts"#);
+ assert_contains!(output, r#"glob\nested\foo\fizz.ts"#);
+ assert_contains!(output, r#"glob\nested\fizz\foo.ts"#);
+ assert_contains!(output, r#"glob\data\test1.ts"#);
+ } else {
+ assert_contains!(output, "glob/nested/fizz/fizz.ts");
+ assert_contains!(output, "glob/pages/[id].ts");
+ assert_contains!(output, "glob/nested/fizz/bazz.ts");
+ assert_contains!(output, "glob/nested/foo/foo.ts");
+ assert_contains!(output, "glob/data/test1.js");
+ assert_contains!(output, "glob/nested/foo/bazz.ts");
+ assert_contains!(output, "glob/nested/foo/fizz.ts");
+ assert_contains!(output, "glob/nested/fizz/foo.ts");
+ assert_contains!(output, "glob/data/test1.ts");
+ }
+ assert_contains!(output, "Found 9 not formatted files in 9 files");
+ let cmd_output = context
+ .new_command()
+ .args("fmt --check --config deno.glob.json glob/data/test1.?s")
+ .run();
+
+ cmd_output.assert_exit_code(1);
+
+ let output = cmd_output.combined_output();
+ if cfg!(windows) {
+ assert_contains!(output, r#"glob\data\test1.js"#);
+ assert_contains!(output, r#"glob\data\test1.ts"#);
+ } else {
+ assert_contains!(output, "glob/data/test1.js");
+ assert_contains!(output, "glob/data/test1.ts");
+ }
+
+ assert_contains!(output, "Found 2 not formatted files in 2 files");
+}
diff --git a/cli/tests/integration/lint_tests.rs b/cli/tests/integration/lint_tests.rs
index 8bf35ed8f..6fef3c000 100644
--- a/cli/tests/integration/lint_tests.rs
+++ b/cli/tests/integration/lint_tests.rs
@@ -1,5 +1,8 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+use test_util::assert_contains;
+use test_util::TestContextBuilder;
+
itest!(ignore_unexplicit_files {
args: "lint --unstable --ignore=./",
output_str: Some("error: No target files found.\n"),
@@ -114,3 +117,95 @@ itest!(lint_with_malformed_config2 {
output: "lint/with_malformed_config2.out",
exit_code: 1,
});
+
+#[test]
+fn lint_with_glob_config() {
+ let context = TestContextBuilder::new().cwd("lint").build();
+
+ let cmd_output = context
+ .new_command()
+ .args("lint --config deno.glob.json")
+ .run();
+
+ cmd_output.assert_exit_code(1);
+
+ let output = cmd_output.combined_output();
+ if cfg!(windows) {
+ assert_contains!(output, r#"glob\nested\fizz\fizz.ts:1:10"#);
+ assert_contains!(output, r#"glob\pages\[id].ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\fizz\bar.ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\foo\foo.ts:1:10"#);
+ assert_contains!(output, r#"glob\data\test1.js:1:10"#);
+ assert_contains!(output, r#"glob\nested\foo\bar.ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\foo\fizz.ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\fizz\foo.ts:1:10"#);
+ assert_contains!(output, r#"glob\data\test1.ts:1:10"#);
+ } else {
+ assert_contains!(output, "glob/nested/fizz/fizz.ts:1:10");
+ assert_contains!(output, "glob/pages/[id].ts:1:10");
+ assert_contains!(output, "glob/nested/fizz/bar.ts:1:10");
+ assert_contains!(output, "glob/nested/foo/foo.ts:1:10");
+ assert_contains!(output, "glob/data/test1.js:1:10");
+ assert_contains!(output, "glob/nested/foo/bar.ts:1:10");
+ assert_contains!(output, "glob/nested/foo/fizz.ts:1:10");
+ assert_contains!(output, "glob/nested/fizz/foo.ts:1:10");
+ assert_contains!(output, "glob/data/test1.ts:1:10");
+ }
+ assert_contains!(output, "Found 9 problems");
+ assert_contains!(output, "Checked 9 files");
+}
+
+#[test]
+fn lint_with_glob_config_and_flags() {
+ let context = TestContextBuilder::new().cwd("lint").build();
+
+ let cmd_output = context
+ .new_command()
+ .args("lint --config deno.glob.json --ignore=glob/nested/**/bar.ts")
+ .run();
+
+ cmd_output.assert_exit_code(1);
+
+ let output = cmd_output.combined_output();
+ if cfg!(windows) {
+ assert_contains!(output, r#"glob\nested\fizz\fizz.ts:1:10"#);
+ assert_contains!(output, r#"glob\pages\[id].ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\fizz\bazz.ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\foo\foo.ts:1:10"#);
+ assert_contains!(output, r#"glob\data\test1.js:1:10"#);
+ assert_contains!(output, r#"glob\nested\foo\bazz.ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\foo\fizz.ts:1:10"#);
+ assert_contains!(output, r#"glob\nested\fizz\foo.ts:1:10"#);
+ assert_contains!(output, r#"glob\data\test1.ts:1:10"#);
+ } else {
+ assert_contains!(output, "glob/nested/fizz/fizz.ts:1:10");
+ assert_contains!(output, "glob/pages/[id].ts:1:10");
+ assert_contains!(output, "glob/nested/fizz/bazz.ts:1:10");
+ assert_contains!(output, "glob/nested/foo/foo.ts:1:10");
+ assert_contains!(output, "glob/data/test1.js:1:10");
+ assert_contains!(output, "glob/nested/foo/bazz.ts:1:10");
+ assert_contains!(output, "glob/nested/foo/fizz.ts:1:10");
+ assert_contains!(output, "glob/nested/fizz/foo.ts:1:10");
+ assert_contains!(output, "glob/data/test1.ts:1:10");
+ }
+ assert_contains!(output, "Found 9 problems");
+ assert_contains!(output, "Checked 9 files");
+
+ let cmd_output = context
+ .new_command()
+ .args("lint --config deno.glob.json glob/data/test1.?s")
+ .run();
+
+ cmd_output.assert_exit_code(1);
+
+ let output = cmd_output.combined_output();
+ if cfg!(windows) {
+ assert_contains!(output, r#"glob\data\test1.js:1:10"#);
+ assert_contains!(output, r#"glob\data\test1.ts:1:10"#);
+ } else {
+ assert_contains!(output, "glob/data/test1.js:1:10");
+ assert_contains!(output, "glob/data/test1.ts:1:10");
+ }
+ assert_contains!(output, "Found 2 problems");
+ assert_contains!(output, "Checked 2 files");
+}
diff --git a/cli/tests/integration/test_tests.rs b/cli/tests/integration/test_tests.rs
index 04966f4ee..4dd29528f 100644
--- a/cli/tests/integration/test_tests.rs
+++ b/cli/tests/integration/test_tests.rs
@@ -6,6 +6,7 @@ use util::assert_contains;
use util::env_vars_for_npm_tests;
use util::wildcard_match;
use util::TestContext;
+use util::TestContextBuilder;
#[test]
fn no_color() {
@@ -508,3 +509,60 @@ itest!(test_no_lock {
cwd: Some("lockfile/basic"),
output: "lockfile/basic/test.nolock.out",
});
+
+#[test]
+fn test_with_glob_config() {
+ let context = TestContextBuilder::new().cwd("test").build();
+
+ let cmd_output = context
+ .new_command()
+ .args("test --config deno.glob.json")
+ .run();
+
+ cmd_output.assert_exit_code(0);
+
+ let output = cmd_output.combined_output();
+ assert_contains!(output, "glob/nested/fizz/fizz.ts");
+ assert_contains!(output, "glob/pages/[id].ts");
+ assert_contains!(output, "glob/nested/fizz/bar.ts");
+ assert_contains!(output, "glob/nested/foo/foo.ts");
+ assert_contains!(output, "glob/data/test1.js");
+ assert_contains!(output, "glob/nested/foo/bar.ts");
+ assert_contains!(output, "glob/nested/foo/fizz.ts");
+ assert_contains!(output, "glob/nested/fizz/foo.ts");
+ assert_contains!(output, "glob/data/test1.ts");
+}
+
+#[test]
+fn test_with_glob_config_and_flags() {
+ let context = TestContextBuilder::new().cwd("test").build();
+
+ let cmd_output = context
+ .new_command()
+ .args("test --config deno.glob.json --ignore=glob/nested/**/bar.ts")
+ .run();
+
+ cmd_output.assert_exit_code(0);
+
+ let output = cmd_output.combined_output();
+ assert_contains!(output, "glob/nested/fizz/fizz.ts");
+ assert_contains!(output, "glob/pages/[id].ts");
+ assert_contains!(output, "glob/nested/fizz/bazz.ts");
+ assert_contains!(output, "glob/nested/foo/foo.ts");
+ assert_contains!(output, "glob/data/test1.js");
+ assert_contains!(output, "glob/nested/foo/bazz.ts");
+ assert_contains!(output, "glob/nested/foo/fizz.ts");
+ assert_contains!(output, "glob/nested/fizz/foo.ts");
+ assert_contains!(output, "glob/data/test1.ts");
+
+ let cmd_output = context
+ .new_command()
+ .args("test --config deno.glob.json glob/data/test1.?s")
+ .run();
+
+ cmd_output.assert_exit_code(0);
+
+ let output = cmd_output.combined_output();
+ assert_contains!(output, "glob/data/test1.js");
+ assert_contains!(output, "glob/data/test1.ts");
+}