summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/lexical.t69
-rw-r--r--t/lib/lexical.pl8
2 files changed, 77 insertions, 0 deletions
diff --git a/t/lexical.t b/t/lexical.t
new file mode 100644
index 0000000..036fe8a
--- /dev/null
+++ b/t/lexical.t
@@ -0,0 +1,69 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+{
+ ok(1 ~~ 1);
+ ok(!(1 ~~ 0));
+ {
+ ok(1 ~~ 1);
+ ok(!(1 ~~ 0));
+ use smartmatch sub { 0 };
+ ok(!(1 ~~ 1));
+ ok(!(1 ~~ 0));
+ {
+ ok(!(1 ~~ 1));
+ ok(!(1 ~~ 0));
+ use smartmatch sub { 1 };
+ ok(1 ~~ 1);
+ ok(1 ~~ 0);
+ use smartmatch sub { 0 };
+ ok(!(1 ~~ 1));
+ ok(!(1 ~~ 0));
+ use smartmatch sub { 1 };
+ ok(1 ~~ 1);
+ ok(1 ~~ 0);
+ }
+ ok(!(1 ~~ 1));
+ ok(!(1 ~~ 0));
+ }
+ ok(1 ~~ 1);
+ ok(!(1 ~~ 0));
+}
+
+{
+ ok(eval "1 ~~ 1");
+ ok(!eval "1 ~~ 0");
+ {
+ ok(eval "1 ~~ 1");
+ ok(!eval "1 ~~ 0");
+ use smartmatch sub { 0 };
+ ok(!eval "1 ~~ 1");
+ ok(!eval "1 ~~ 0");
+ {
+ ok(!eval "1 ~~ 1");
+ ok(!eval "1 ~~ 0");
+ use smartmatch sub { 1 };
+ ok(eval "1 ~~ 1");
+ ok(eval "1 ~~ 0");
+ use smartmatch sub { 0 };
+ ok(!eval "1 ~~ 1");
+ ok(!eval "1 ~~ 0");
+ use smartmatch sub { 1 };
+ ok(eval "1 ~~ 1");
+ ok(eval "1 ~~ 0");
+ }
+ ok(!eval "1 ~~ 1");
+ ok(!eval "1 ~~ 0");
+ }
+ ok(eval "1 ~~ 1");
+ ok(!eval "1 ~~ 0");
+}
+
+{
+ use smartmatch sub { 0 };
+ require 't/lib/lexical.pl';
+}
+
+done_testing;
diff --git a/t/lib/lexical.pl b/t/lib/lexical.pl
new file mode 100644
index 0000000..d004c3f
--- /dev/null
+++ b/t/lib/lexical.pl
@@ -0,0 +1,8 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+Test::More::ok(1 ~~ 1);
+Test::More::ok(!(1 ~~ 0));
+
+1;