From e6a9588b4375f7ff3f445d13e4cd4b3c334d451c Mon Sep 17 00:00:00 2001 From: David Sherret Date: Thu, 24 Nov 2022 19:37:02 -0500 Subject: [PATCH] fix(task): output encoding issues on windows (#16794) Closes #16792 --- Cargo.lock | 4 ++-- cli/Cargo.toml | 2 +- cli/tests/integration/task_tests.rs | 8 ++++++++ cli/tests/testdata/task/deno.json | 3 ++- cli/tests/testdata/task/task_no_args.out | 2 ++ cli/tests/testdata/task/task_non_existent.out | 2 ++ 6 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5b9a49f5e3..277f222a9b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1226,9 +1226,9 @@ dependencies = [ [[package]] name = "deno_task_shell" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8ad1e1002ecf8bafcb9b968bf19856ba4fe0e6c0c73b3404565bb29b15aae2c" +checksum = "a071a6407ade5107091a2481a502e7e6a9a96c5a631c71748058c5a28928fcd3" dependencies = [ "anyhow", "futures", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index b5b538594c..3c15f823f9 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -48,7 +48,7 @@ deno_emit = "0.11.0" deno_graph = "0.38.0" deno_lint = { version = "0.35.0", features = ["docs"] } deno_runtime.workspace = true -deno_task_shell = "0.7.2" +deno_task_shell = "0.7.3" napi_sym.workspace = true atty.workspace = true diff --git a/cli/tests/integration/task_tests.rs b/cli/tests/integration/task_tests.rs index 8b8998b263..bc6ddee3b1 100644 --- a/cli/tests/integration/task_tests.rs +++ b/cli/tests/integration/task_tests.rs @@ -50,6 +50,14 @@ itest!(task_non_existent { exit_code: 1, }); +#[test] +fn task_emoji() { + // this bug only appears when using a pty/tty + let args = "task --config task/deno.json echo_emoji"; + use test_util::PtyData::*; + test_util::test_pty2(args, vec![Output("Task echo_emoji echo šŸ”„\r\nšŸ”„")]); +} + itest!(task_boolean_logic { args: "task -q --config task/deno.json boolean_logic", output: "task/task_boolean_logic.out", diff --git a/cli/tests/testdata/task/deno.json b/cli/tests/testdata/task/deno.json index 043f49b619..c57426d250 100644 --- a/cli/tests/testdata/task/deno.json +++ b/cli/tests/testdata/task/deno.json @@ -7,6 +7,7 @@ "piped": "echo 12345 | (deno eval 'const b = new Uint8Array(1);Deno.stdin.readSync(b);console.log(b)' && deno eval 'const b = new Uint8Array(1);Deno.stdin.readSync(b);console.log(b)')", "exit_code_5": "echo $(echo 10 ; exit 2) && exit 5", "echo_cwd": "echo $(pwd)", - "echo_init_cwd": "echo $INIT_CWD" + "echo_init_cwd": "echo $INIT_CWD", + "echo_emoji": "echo šŸ”„" } } diff --git a/cli/tests/testdata/task/task_no_args.out b/cli/tests/testdata/task/task_no_args.out index 2001f269d0..e41b3edd5b 100644 --- a/cli/tests/testdata/task/task_no_args.out +++ b/cli/tests/testdata/task/task_no_args.out @@ -7,6 +7,8 @@ Available tasks: echo 1 - echo_cwd echo $(pwd) +- echo_emoji + echo šŸ”„ - echo_init_cwd echo $INIT_CWD - exit_code_5 diff --git a/cli/tests/testdata/task/task_non_existent.out b/cli/tests/testdata/task/task_non_existent.out index 035a43fd82..0e70f24d9b 100644 --- a/cli/tests/testdata/task/task_non_existent.out +++ b/cli/tests/testdata/task/task_non_existent.out @@ -8,6 +8,8 @@ Available tasks: echo 1 - echo_cwd echo $(pwd) +- echo_emoji + echo šŸ”„ - echo_init_cwd echo $INIT_CWD - exit_code_5