diff options
Diffstat (limited to 'cli/tests/integration/lint_tests.rs')
-rw-r--r-- | cli/tests/integration/lint_tests.rs | 95 |
1 files changed, 95 insertions, 0 deletions
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"); +} |