summaryrefslogtreecommitdiff
path: root/ext/XS-APItest/t/postinc.t
blob: 64196f0ab4d4a2dcff52c084496ef4427e863c78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
use warnings;
use strict;

use Test::More tests => 8;

BEGIN { $^H |= 0x20000; }

my $t;

$t = "";
eval q{
	use XS::APItest qw(postinc);
	$t .= "a";
	my $x = 3;
	$t .= "b(".postinc($x).")";
	$t .= "c(".$x.")";
	$t .= "d";
};
is $@, "";
is $t, "ab(3)c(4)d";

$t = "";
eval q{
	use XS::APItest qw(postinc);
	$t .= "a";
	my $x = 3;
	$t .= "b(".postinc($x+1).")";
	$t .= "c(".$x.")";
	$t .= "d";
};
isnt $@, "";
is $t, "";

$t = "";
eval q{
	use XS::APItest qw(postinc);
	$t .= "a";
	my %x = (z => 3);
	my $z = postinc($x{z});
	$t .= "b(".$z.")";
	$t .= "c(".$x{z}.")";
	$t .= "d";
};
is $@, "";
is $t, "ab(3)c(4)d";

$t = "";
eval q{
	use XS::APItest qw(postinc);
	$t .= "a";
	my %x;
	my $z = postinc($x{z});
	$t .= "b(".$z.")";
	$t .= "c(".$x{z}.")";
	$t .= "d";
};
is $@, "";
is $t, "ab(0)c(1)d";

1;