From 62810c405a2a83ed08ee69a324a7ae307bae12e9 Mon Sep 17 00:00:00 2001 From: worm Date: Wed, 15 Nov 2023 10:15:55 -0800 Subject: [PATCH 1/2] add barebones test skeleton --- t/01-basic.rakutest | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 t/01-basic.rakutest diff --git a/t/01-basic.rakutest b/t/01-basic.rakutest new file mode 100644 index 0000000..ac6b24f --- /dev/null +++ b/t/01-basic.rakutest @@ -0,0 +1,8 @@ +use v6.d; +use Humming-Bird::Core; + +# Local libs +use lib 'lib'; +use Hyperlink-Redirect; + + From a17f790832f0cb940c82679ef0edde4e30233869 Mon Sep 17 00:00:00 2001 From: worm Date: Wed, 15 Nov 2023 10:41:48 -0800 Subject: [PATCH 2/2] added simple tests for -protocol --- lib/Hyperlink-Redirect/Helpers.rakumod | 2 +- t/01-basic.rakutest | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/Hyperlink-Redirect/Helpers.rakumod b/lib/Hyperlink-Redirect/Helpers.rakumod index a835b8f..f393233 100644 --- a/lib/Hyperlink-Redirect/Helpers.rakumod +++ b/lib/Hyperlink-Redirect/Helpers.rakumod @@ -3,7 +3,7 @@ use Libarchive::Filter :gzip; my $starts-with-protocol = rx:i/ ^https? '://'/; -sub fix-protocol($url) is export { +sub fix-protocol(Str $url) is export { return "http://" ~ $url unless $url ~~ $starts-with-protocol; return $url; diff --git a/t/01-basic.rakutest b/t/01-basic.rakutest index ac6b24f..8a98458 100644 --- a/t/01-basic.rakutest +++ b/t/01-basic.rakutest @@ -1,8 +1,17 @@ use v6.d; use Humming-Bird::Core; - +use Test; # Local libs use lib 'lib'; use Hyperlink-Redirect; +use Hyperlink-Redirect::Helpers; +plan 2; +ok fix-protocol("seriousbusiness.international") eq "http://seriousbusiness.international", \ +"fix-protocol fixes bare domains correctly"\ +or diag "\nfix-protocol should return the same string with 'http://' prefixed if protocol isn't specified"; + +ok fix-protocol("https://www.seriousbusiness.international") eq "https://www.seriousbusiness.international",\ +"fix-protocol does not mangle correctly formatted domains"\ +or diag "\nThe URL should remain unchanged when the protocol is specified"; \ No newline at end of file