summaryrefslogtreecommitdiff
path: root/ext/XS-APItest/t/stmtasexpr.t
blob: 44aae8a2718b74f3ab88feaa356c70ffb9280634 (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
use warnings;
use strict;

use Test::More tests => 8;

BEGIN { $^H |= 0x20000; }

my $t;

$t = "";
eval q{
	use XS::APItest qw(stmtasexpr);
	$t .= "a";
	$t .= "b" . stmtasexpr "c"; . "d";
	$t .= "e";
};
is $@, "";
is $t, "abcde";

$t = "";
eval q{
	use XS::APItest qw(stmtasexpr);
	$t .= "a";
	$t .= "b" . stmtasexpr if($t eq "a") { "c"; } else { "d"; } . "e";
	$t .= "f";
};
is $@, "";
is $t, "abcef";

$t = "";
eval q{
	use XS::APItest qw(stmtasexpr);
	$t .= "a";
	$t .= "b" . stmtasexpr if($t eq "z") { "c"; } else { "d"; } . "e";
	$t .= "f";
};
is $@, "";
is $t, "abdef";

$t = "";
eval q{
	use XS::APItest qw(stmtasexpr);
	no warnings "void";
	$t .= "a";
	$t .= "b" . stmtasexpr { "z"; "c"; } . "d";
	$t .= "e";
};
is $@, "";
is $t, "abcde";

1;