xref: /openbsd-src/gnu/usr.bin/perl/t/op/int.t (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1#!./perl
2
3BEGIN {
4    chdir 't' if -d 't';
5    @INC = '../lib';
6}
7
8print "1..7\n";
9
10# compile time evaluation
11
12if (int(1.234) == 1) {print "ok 1\n";} else {print "not ok 1\n";}
13
14if (int(-1.234) == -1) {print "ok 2\n";} else {print "not ok 2\n";}
15
16# run time evaluation
17
18$x = 1.234;
19if (int($x) == 1) {print "ok 3\n";} else {print "not ok 3\n";}
20if (int(-$x) == -1) {print "ok 4\n";} else {print "not ok 4\n";}
21
22$x = length("abc") % -10;
23print $x == -7 ? "ok 5\n" : "# expected -7, got $x\nnot ok 5\n";
24
25{
26    use integer;
27    $x = length("abc") % -10;
28    $y = (3/-10)*-10;
29    print $x+$y == 3 && abs($x) < 10 ? "ok 6\n" : "not ok 6\n";
30}
31
32# check bad strings still get converted
33
34@x = ( 6, 8, 10);
35print "not " if $x["1foo"] != 8;
36print "ok 7\n";
37