summaryrefslogtreecommitdiff
path: root/lib/Memoize/t/flush.t
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Memoize/t/flush.t')
-rw-r--r--lib/Memoize/t/flush.t42
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");
+
+
+
+
+