diff options
Diffstat (limited to 'cli/tests/integration')
-rw-r--r-- | cli/tests/integration/fmt_tests.rs | 92 | ||||
-rw-r--r-- | cli/tests/integration/lint_tests.rs | 95 | ||||
-rw-r--r-- | cli/tests/integration/test_tests.rs | 58 |
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"); +} |