diff options
Diffstat (limited to 'lib/Memoize/t/flush.t')
-rw-r--r-- | lib/Memoize/t/flush.t | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/Memoize/t/flush.t b/lib/Memoize/t/flush.t new file mode 100644 index 0000000000..bf9262ec7c --- /dev/null +++ b/lib/Memoize/t/flush.t @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +use lib '..'; +use Memoize 'flush_cache', 'memoize'; +print "1..8\n"; +print "ok 1\n"; + + + +my $V = 100; +sub VAL { $V } + +memoize 'VAL'; +print "ok 2\n"; + +my $c1 = VAL(); +print (($c1 == 100) ? "ok 3\n" : "not ok 3\n"); + +$V = 200; +$c1 = VAL(); +print (($c1 == 100) ? "ok 4\n" : "not ok 4\n"); + +flush_cache('VAL'); +$c1 = VAL(); +print (($c1 == 200) ? "ok 5\n" : "not ok 5\n"); + +$V = 300; +$c1 = VAL(); +print (($c1 == 200) ? "ok 6\n" : "not ok 6\n"); + +flush_cache(\&VAL); +$c1 = VAL(); +print (($c1 == 300) ? "ok 7\n" : "not ok 7\n"); + +$V = 400; +$c1 = VAL(); +print (($c1 == 300) ? "ok 8\n" : "not ok 8\n"); + + + + + |