Acme-AwesomeQuotes
view release on metacpan or search on metacpan
t/getawesome.t view on Meta::CPAN
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';
use lib qw(../lib);
use Test::More;
BEGIN {
plan tests => (22);
use_ok ('Acme::AwesomeQuotes') or diag("Cannot load module Acme::AwesomeQuotes!");
}
#Acme::AwesomeQuotes::getawesome;
# Tests to run:
can_ok ('Acme::AwesomeQuotes', qw(GetAwesome)) or diag("Cannot call function GetAwesome!");
is (Acme::AwesomeQuotes::GetAwesome('awesome quotes'), '`à wesome quoteÅ´', 'Handles basic strings correctly.');
is (Acme::AwesomeQuotes::GetAwesome('d'), '`Ä´', 'Handles single letters.');
is (Acme::AwesomeQuotes::GetAwesome(" ; , awesome quotes- . "), '`à wesome quoteÅ´', 'Strips leading/trailing whitespace and punctuation correctly.');
eval {
Acme::AwesomeQuotes::GetAwesome('`à wesome quoteÅ´');
1;
} && diag ('Did not reject already-awesome text!')
or like ($@, qr/^String '.+' is \*already\* awesome!/, 'Rejects already-awesome text.');
eval {
Acme::AwesomeQuotes::GetAwesome('7awesome quotes');
1;
} && diag ('Did not reject text beginning with a non-letter character!')
or like ($@, qr/^String '.+' begins with a non-letter character\./, 'Rejects text beginning with a non-letter character.');
eval {
Acme::AwesomeQuotes::GetAwesome('awesome quotes7');
1;
} && diag ('Did not reject text terminating in a non-letter character!')
or like ($@, qr/^String '.+' terminates with a non-letter character\./, 'Rejects text terminating in a non-letter character.');
eval {
Acme::AwesomeQuotes::GetAwesome('7');
1;
} && diag ('Did not reject a single non-letter character!')
or like ($@, qr/^String '.+' (?:terminates|begins) with a non-letter character\./, 'Rejects a single non-letter character.');
eval {
Acme::AwesomeQuotes::GetAwesome(' ; .- ');
1;
} && diag ('Did not reject all-whitespace/punctuation string!')
or like ($@, qr/^String is empty!/, 'Rejects an all-whitespace/punctuation string.');
is (Acme::AwesomeQuotes::GetAwesome('awesome7quotes'), '`à wesome7quoteÅ´', 'Handles infixed non-letter strings correctly.');
is (Acme::AwesomeQuotes::GetAwesome('à wesome quotes'), '`à wesome quoteÅ´', 'Handles extant grave prefix correctly.');
is (Acme::AwesomeQuotes::GetAwesome('awesome quoteÅ'), '`à wesome quoteÅ´', 'Handles extant acute suffix correctly.');
is (Acme::AwesomeQuotes::GetAwesome('awesome quotesÌ'), '`à wesome quoteš´', 'Handles extant grave suffix correctly.');
is (Acme::AwesomeQuotes::GetAwesome('áwesome quotes'), '`Çwesome quoteÅ´', 'Handles extant acute prefix correctly.');
is (Acme::AwesomeQuotes::GetAwesome('Ç'), '`Ç´', 'Handles extant caron correctly for single letters.');
is (Acme::AwesomeQuotes::GetAwesome('Èǯ'), '`Èǯ´', 'Handles extant caron correctly for character strings.');
is (Acme::AwesomeQuotes::GetAwesome('ǻ'), '`å̴', 'Handles other diacritics correctly for single letters.');
is (Acme::AwesomeQuotes::GetAwesome('ǽĸǻ'), '`æÌĸǻ´', 'Handles other diacritics correctly for character strings.');
is (Acme::AwesomeQuotes::GetAwesome('аα'), '`аÌά´', 'Handles non-latin character strings correctly.');
is (Acme::AwesomeQuotes::GetAwesome('άÑ'), '`αÌиÌ´', 'Handles non-latin character strings with extant diacritics correctly.');
is (Acme::AwesomeQuotes::GetAwesome('ããã°ã©ãã³ã°è¨èª'), '`ãÌãã°ã©ãã³ã°è¨èªÌ´', 'Handles non-alphabetic character strings correctly.');
( run in 0.681 second using v1.01-cache-2.11-cpan-d7f47b0818f )