1use warnings;
2use strict;
3
4use Test::More tests => 13;
5
6BEGIN { $^H |= 0x20000; }
7no warnings;
8
9my($triangle, $num);
10$num = 5;
11
12$triangle = undef;
13eval q{
14	use XS::APItest ();
15	$triangle = rpn($num $num 1 + * 2 /);
16};
17isnt $@, "";
18
19$triangle = undef;
20eval q{
21	use XS::APItest qw(rpn);
22	$triangle = rpn($num $num 1 + * 2 /);
23};
24is $@, "";
25is $triangle, 15;
26
27$triangle = undef;
28eval q{
29	use XS::APItest qw(rpn);
30	$triangle = join(":", "x", rpn($num $num 1 + * 2 /), "y");
31};
32is $@, "";
33is $triangle, "x:15:y";
34
35$triangle = undef;
36eval q{
37	use XS::APItest qw(rpn);
38	$triangle = 1 + rpn($num $num 1 + * 2 /) * 10;
39};
40is $@, "";
41is $triangle, 151;
42
43$triangle = undef;
44eval q{
45	use XS::APItest qw(rpn);
46	$triangle = rpn($num $num 1 + * 2 /);
47	$triangle++;
48};
49is $@, "";
50is $triangle, 16;
51
52$triangle = undef;
53eval q{
54	use XS::APItest qw(rpn);
55	$triangle = rpn($num $num 1 + * 2 /)
56	$triangle++;
57};
58isnt $@, "";
59
60$triangle = undef;
61eval q{
62	use XS::APItest qw(calcrpn);
63	calcrpn $triangle { $num $num 1 + * 2 / }
64	$triangle++;
65};
66is $@, "";
67is $triangle, 16;
68
69$triangle = undef;
70eval q{
71	use XS::APItest qw(calcrpn);
72	123 + calcrpn $triangle { $num $num 1 + * 2 / } ;
73};
74isnt $@, "";
75
761;
77