From 6160214651df66d24fb7e5a02e56feae76fb2f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Yves=20Landur=C3=A9?= Date: Thu, 7 Dec 2023 14:03:14 +0100 Subject: [PATCH] test: :white_check_mark: add tests for download function --- test/download.bats | 54 +++++++++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/test/download.bats b/test/download.bats index 36fdc7d..d0e22ff 100644 --- a/test/download.bats +++ b/test/download.bats @@ -48,19 +48,55 @@ teardown() { assert_output "Error: download requires URL." } -@test "fail quietly for missing URL" { +@test "fail silently for missing URL" { run download --quiet assert_failure assert_output "" } +@test "fail for empty URL" { + run download "" + assert_failure + assert_output "Error: download requires URL." +} + +@test "fail for empty URL (--url)" { + run download --url="" + assert_failure + assert_output "Error: download requires URL." +} + +@test "fail silently for empty URL (-q)" { + run download -q "" + assert_failure + assert_output "" +} + +@test "fail silently for empty URL (--quiet)" { + run download --quiet "" + assert_failure + assert_output "" +} + +@test "fail for unknown option" { + run download --unknown-option "${WORKING_URL}" + assert_failure + assert_output "Error: option '--unknown-option' is not recognized." +} + +@test "fail silently for unknown option" { + run download --quiet --unknown-option "${WORKING_URL}" + assert_failure + assert_output "" +} + @test "fail for both --url and \$1 argument" { run download --url="${ERROR_404_URL}" "${ERROR_404_URL}" assert_failure assert_output "Error: either provide URL via --url or \$1, not both." } -@test "fail quietly for both --url and \$1 argument" { +@test "fail silently for both --url and \$1 argument" { run download --quiet --url="${ERROR_404_URL}" "${ERROR_404_URL}" assert_failure assert_output "" @@ -72,7 +108,7 @@ teardown() { assert_output "Error: download accept at most one argument, or --url option." } -@test "fail quietly for too many arguments (with --url)" { +@test "fail silently for too many arguments (with --url)" { run download --quiet --url="${ERROR_404_URL}" "${ERROR_404_URL}" "dummy" assert_failure assert_output "" @@ -96,18 +132,6 @@ teardown() { assert_output "Error: download failed." } -@test "fail silently for missing URL (-q)" { - run download -q "${ERROR_404_URL}" - assert_failure - assert_output "" -} - -@test "fail silently for missing URL (--quiet)" { - run download --quiet "${ERROR_404_URL}" - assert_failure - assert_output "" -} - @test "fail silently for 404 URL (-q)" { run download -q --url="${ERROR_404_URL}" assert_failure