aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2019-05-21 07:58:12 -0300
committerEuAndreh <eu@euandre.org>2019-05-21 08:09:47 -0300
commitcc224b7da6db158a72c3479e131a6ad999797313 (patch)
tree1b70559a58fe442df932bd136071681528f67f06
parentAdd Hakyll _cache/ folder to .gitignore (diff)
downloadeuandre.org-cc224b7da6db158a72c3479e131a6ad999797313.tar.gz
euandre.org-cc224b7da6db158a72c3479e131a6ad999797313.tar.xz
Add actual tests to website CLI
Diffstat (limited to '')
-rw-r--r--TODOs.org3
-rwxr-xr-xpastebin/website-pastebin17
-rwxr-xr-xslides/website-slides10
-rwxr-xr-xwebsite7
4 files changed, 27 insertions, 10 deletions
diff --git a/TODOs.org b/TODOs.org
index ac97b60..4467404 100644
--- a/TODOs.org
+++ b/TODOs.org
@@ -12,7 +12,8 @@ https://jaspervdj.be/hakyll/tutorials/using-teasers-in-hakyll.html
Nested help
** DONE Print usage when no subcommand is provided
CLOSED: [2019-01-01 Tue 19:35]
-** TODO Add tests when actually running subcommands
+** DONE Add tests when actually running subcommands
+CLOSED: [2019-05-21 Tue 08:09]
* CI
** DONE Improvements
CLOSED: [2019-05-20 Mon 21:02]
diff --git a/pastebin/website-pastebin b/pastebin/website-pastebin
index 6061c74..1171dcf 100755
--- a/pastebin/website-pastebin
+++ b/pastebin/website-pastebin
@@ -42,9 +42,11 @@ use Term::ANSIColor;
my $help = 0;
my $title = '';
+my $test = 0;
GetOptions(
'help|h|?' => \$help,
- 'title|t=s' => \$title
+ 'title|t=s' => \$title,
+ 'test|?' => \$test
) or pod2usage(-verbose => 1, -exitval => 2);
pod2usage(
-verbose => 2,
@@ -54,7 +56,7 @@ pod2usage(
-verbose => 1,
-exitval => 2,
-message => colored("Missing required --title argument.", "red")
-) if !$title;
+) if !$title && !$test;
# Taken from:
# https://stackoverflow.com/a/4009519
@@ -69,6 +71,17 @@ sub slugify {
return $input;
}
+if ($test) {
+ eval "use Test::More tests => 4"; die $@ if $@;
+ is(slugify("My Custom Title String"), "my-custom-title-string");
+ is(slugify("String with áccents and sym?bol-s."), "string-with-accents-and-symbol-s");
+ is(slugify("unicode-↓æđ-chars"), "unicode-aaa-chars");
+ is(slugify(" spaces and line
+break"), "spaces-and-line-break");
+ done_testing();
+ exit;
+}
+
our $dirname = dirname(__FILE__);
our $in = "$dirname/skeleton.org";
our $out;
diff --git a/slides/website-slides b/slides/website-slides
index a1f1466..77f1f63 100755
--- a/slides/website-slides
+++ b/slides/website-slides
@@ -43,16 +43,22 @@ use Term::ANSIColor;
my $help = 0;
my $name = '';
+my $test = 0;
GetOptions(
'help|h|?' => \$help,
- 'name|n=s' => \$name
+ 'name|n=s' => \$name,
+ 'test|?' => \$test
) or pod2usage(-verbose => 1, -exitval => 2);
pod2usage(-verbose => 2, -exitval => 0) if $help;
pod2usage(
-verbose => 1,
-exitval => 2,
-message => colored("Missing required --name argument.", "red")
-) if !$name;
+) if !$name && !$test;
+
+if ($test) {
+ exit;
+}
my $dirname = dirname(__FILE__);
chdir $dirname ;
diff --git a/website b/website
index 42c357e..561cccf 100755
--- a/website
+++ b/website
@@ -47,10 +47,6 @@ sub getopts {
);
}
-sub test {
- print colored("FIXME", "red"), "\n";
-}
-
sub escaped_cmd {
my ($cmd, @args) = @_;
my $dirname = dirname(__FILE__);
@@ -81,7 +77,8 @@ sub dispatch {
my @sub_args = grep { $_ ne $action } @args;
escaped_cmd("slides/website-slides", @sub_args);
} elsif ($action eq 'test') {
- test();
+ escaped_cmd("pastebin/website-pastebin", "--test");
+ escaped_cmd("slides/website-slides", "--test");
} else {
pod2usage(
-verbose => 1,