summaryrefslogtreecommitdiffstats
path: root/t/random-word-nocache.t
diff options
context:
space:
mode:
Diffstat (limited to 't/random-word-nocache.t')
-rw-r--r--t/random-word-nocache.t34
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;