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