xref: /openbsd-src/gnu/usr.bin/perl/t/op/overload_integer.t (revision a28daedfc357b214be5c701aa8ba8adb29a7f1c2)
1#!./perl
2
3use strict;
4use warnings;
5
6print "1..2\n";
7
8package Foo;
9
10use overload;
11
12sub import
13{
14    overload::constant 'integer' => sub { return shift; };
15}
16
17package main;
18
19BEGIN { $INC{'Foo.pm'} = "/lib/Foo.pm" }
20
21use Foo;
22
23my $result = eval "5+6";
24
25my $error = $@;
26
27my $label = "No exception was thrown with an overload::constant 'integer' inside an eval.";
28# TEST
29if ($error eq "")
30{
31    print "ok 1 - $label\n"
32}
33else
34{
35    print "not ok 1 - $label\n";
36    print "# Error is $error\n";
37}
38
39$label = "Correct solution";
40
41if (!defined($result))
42{
43    $result = "";
44}
45# TEST
46if ($result eq 11)
47{
48    print "ok 2 - $label\n";
49}
50else
51{
52    print "not ok 2 - $label\n";
53    print "# Result is $result\n";
54}
55
56