The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use warnings;
use strict;

use Test::More tests => 13;

BEGIN { $^H |= 0x20000; }
no warnings;

my($triangle, $num);
$num = 5;

$triangle = undef;
eval q{
	use XS::APItest ();
	$triangle = rpn($num $num 1 + * 2 /);
};
isnt $@, "";

$triangle = undef;
eval q{
	use XS::APItest qw(rpn);
	$triangle = rpn($num $num 1 + * 2 /);
};
is $@, "";
is $triangle, 15;

$triangle = undef;
eval q{
	use XS::APItest qw(rpn);
	$triangle = join(":", "x", rpn($num $num 1 + * 2 /), "y");
};
is $@, "";
is $triangle, "x:15:y";

$triangle = undef;
eval q{
	use XS::APItest qw(rpn);
	$triangle = 1 + rpn($num $num 1 + * 2 /) * 10;
};
is $@, "";
is $triangle, 151;

$triangle = undef;
eval q{
	use XS::APItest qw(rpn);
	$triangle = rpn($num $num 1 + * 2 /);
	$triangle++;
};
is $@, "";
is $triangle, 16;

$triangle = undef;
eval q{
	use XS::APItest qw(rpn);
	$triangle = rpn($num $num 1 + * 2 /)
	$triangle++;
};
isnt $@, "";

$triangle = undef;
eval q{
	use XS::APItest qw(calcrpn);
	calcrpn $triangle { $num $num 1 + * 2 / }
	$triangle++;
};
is $@, "";
is $triangle, 16;

$triangle = undef;
eval q{
	use XS::APItest qw(calcrpn);
	123 + calcrpn $triangle { $num $num 1 + * 2 / } ;
};
isnt $@, "";

1;