# Check that a small bugfix in Inline::C::validate() (ticket #11748)
# is behaving as expected.
use warnings;
use strict;
print "1..5\n";
require Inline::C;
# Next 2 lines are for the benefit of 5.8.8.
my (%o1, %o2, %o3);
my($o1, $o2, $o3) = (\%o1, \%o2,\ %o3);
$o1->{FOOBAR}{STUFF} = 1;
$o2->{FOOBAR}{STUFF} = 1;
$o2->{ILSM}{MAKEFILE}{INC} = '-I/foo -I/bar';
$o3->{FOOBAR}{STUFF} = 1;
bless($o1, 'Inline::C');
bless($o2, 'Inline::C');
bless($o3, 'Inline::C');
Inline::C::validate($o1);
if($o1->{ILSM}{MAKEFILE}{INC}) {print "ok 1\n"}
else {print "not ok 1\n"}
Inline::C::validate($o2);
if($o2->{ILSM}{MAKEFILE}{INC} eq '-I/foo -I/bar') {print "ok 2\n"}
else {
warn "INC: ", $o2->{ILSM}{MAKEFILE}{INC}, "\n";
print "not ok 2\n";
}
Inline::C::validate($o2, 'INC', '-I/baz');
if($o2->{ILSM}{MAKEFILE}{INC} =~ / \-I\/baz/) {print "ok 3\n"}
else {
warn "INC: ", $o2->{ILSM}{MAKEFILE}{INC}, "\n";
print "not ok 3\n";
}
if($o2->{ILSM}{MAKEFILE}{INC} eq '-I/foo -I/bar -I/baz') {print "ok 4\n"}
else {
warn "INC: ", $o2->{ILSM}{MAKEFILE}{INC}, "\n";
print "not ok 4\n";
}
Inline::C::validate($o3, 'INC', '-I/baz');
if($o3->{ILSM}{MAKEFILE}{INC} =~ / \-I\/baz/ &&
$o3->{ILSM}{MAKEFILE}{INC} ne ' -I/baz' ) {print "ok 5\n"}
else {
warn "INC: ", $o3->{ILSM}{MAKEFILE}{INC}, "\n";
print "not ok 5\n";
}