diff options
Diffstat (limited to 't/random-word-nocache.t')
-rw-r--r-- | t/random-word-nocache.t | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/t/random-word-nocache.t b/t/random-word-nocache.t new file mode 100644 index 0000000..0c7fb1d --- /dev/null +++ b/t/random-word-nocache.t @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; + +use Games::Word::Wordlist; + +my $word_file = ''; +$word_file = '/usr/dict/words' if -r '/usr/dict/words'; +$word_file = '/usr/share/dict/words' if -r '/usr/share/dict/words'; + +SKIP: { + skip "Can't find a system word list", 4 if $word_file eq ''; + + my $wl = Games::Word::Wordlist->new($word_file, cache => 0); + my $word = $wl->random_word; + ok(defined($word), "random_word actually returned a word"); + + open my $fh, '<', $word_file; + my $passed = 0; + for (<$fh>) { + chomp; + $passed = 1 if $word eq $_; + } + ok($passed, "testing that the word is actually in the word list"); + + $word = $wl->random_word(4); + is(length $word, 4, "testing random_word with a given length"); + + is($wl->random_word(999), undef, + "random_word returns undef if no words are found"); +} + +done_testing; |