From 935083d99a9854ccb6808035028fa5d853eb5a98 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Thu, 29 Jul 2021 19:07:25 +0800 Subject: fix(cli): deno doc panics on invalid url (#11536) --- cli/tests/doc/invalid_url.out | 4 ++++ cli/tests/integration/doc_tests.rs | 6 ++++++ cli/tools/doc.rs | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 cli/tests/doc/invalid_url.out diff --git a/cli/tests/doc/invalid_url.out b/cli/tests/doc/invalid_url.out new file mode 100644 index 000000000..8be787e90 --- /dev/null +++ b/cli/tests/doc/invalid_url.out @@ -0,0 +1,4 @@ +error: invalid URL: invalid domain character + +Caused by: + invalid domain character diff --git a/cli/tests/integration/doc_tests.rs b/cli/tests/integration/doc_tests.rs index d6ddb455e..05da38529 100644 --- a/cli/tests/integration/doc_tests.rs +++ b/cli/tests/integration/doc_tests.rs @@ -43,3 +43,9 @@ itest!(deno_doc_types_header_direct { output: "doc/types_header.out", http_server: true, }); + +itest!(deno_doc_invalid_url { + args: "doc https://raw.githubusercontent.com%2Fdyedgreen%2Fdeno-sqlite%2Frework_api%2Fmod.ts", + output: "doc/invalid_url.out", + exit_code: 1, +}); diff --git a/cli/tools/doc.rs b/cli/tools/doc.rs index 6e4d39954..ab9ea127e 100644 --- a/cli/tools/doc.rs +++ b/cli/tools/doc.rs @@ -98,7 +98,7 @@ pub async fn print_docs( get_types(flags.unstable).as_str(), ) } else { - let module_specifier = resolve_url_or_path(&source_file).unwrap(); + let module_specifier = resolve_url_or_path(&source_file)?; // If the root module has external types, the module graph won't redirect it, // so instead create a dummy file which exports everything from the actual file being documented. -- cgit v1.2.3