summaryrefslogtreecommitdiff
path: root/t/mro/next_ineval_utf8.t
diff options
context:
space:
mode:
Diffstat (limited to 't/mro/next_ineval_utf8.t')
-rw-r--r--t/mro/next_ineval_utf8.t46
1 files changed, 46 insertions, 0 deletions
diff --git a/t/mro/next_ineval_utf8.t b/t/mro/next_ineval_utf8.t
new file mode 100644
index 0000000000..cd44f6c04a
--- /dev/null
+++ b/t/mro/next_ineval_utf8.t
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use utf8;
+use open qw( :utf8 :std );
+
+require q(./test.pl); plan(tests => 1);
+
+=pod
+
+This tests the use of an eval{} block to wrap a next::method call.
+
+=cut
+
+{
+ package అ;
+ use mro 'c3';
+
+ sub ຟǫ {
+ die 'అ::ຟǫ died';
+ return 'అ::ຟǫ succeeded';
+ }
+}
+
+{
+ package b;
+ use base 'అ';
+ use mro 'c3';
+
+ sub ຟǫ {
+ eval {
+ return 'b::ຟǫ => ' . (shift)->next::method();
+ };
+
+ if ($@) {
+ return $@;
+ }
+ }
+}
+
+like(b->ຟǫ,
+ qr/^అ::ຟǫ died/u,
+ 'method resolved inside eval{}');
+
+