package TestCase::Concat {
sub concat_empty_string : int () {
{
my $text = "abc" . "";
unless ($text eq "abc") {
return 0;
}
}
{
my $text = "" . "abc";
unless ($text eq "abc") {
return 0;
}
}
{
my $text = "" . "";
unless ($text eq "") {
return 0;
}
}
{
my $text = "";
$text .= "";
unless ($text eq "") {
return 0;
}
}
{
my $text = "";
$text . "";
}
return 1;
}
sub concat_string : int () {
my $string = "abc" . "def";
if ($string eq "abcdef") {
return 1;
}
return 0;
}
sub concat_left_is_number : int () {
my $string = 13 . "abc";
if ($string eq "13abc") {
return 1;
}
return 0;
}
sub concat_right_is_number : int () {
my $string = "abc" . 0.25;
if ($string eq "abc0.25") {
return 1;
}
return 0;
}
sub concat_left_is_undef : int () {
eval {
my $string : string = undef;
$string . "abc";
};
if ($@) {
$@ = undef;
return 1;
}
return 0;
}
sub concat_right_is_undef : int () {
eval {
my $string : string = undef;
"abc" . $string;
};
if ($@) {
$@ = undef;
return 1;
}
return 0;
}
}