3 # This file is for concatenation tests that require test.pl.
5 # concat.t cannot use test.pl as it needs to avoid using concatenation in
17 skip_if_miniperl("no dynamic loading on miniperl, no Encode", 1);
18 fresh_perl_is <<'end', "ok\n", {},
19 no warnings 'deprecated';
21 map { "a" . $a } ((1)x5000);
24 "concat does not lose its stack pointer after utf8 upgrade [perl #78674]";
27 # This test is in the file because overload.pm uses concatenation.
28 { package o; use overload '""' => sub { $_[0][0] } }
29 $x = bless[chr 256],o::;
34 is $x, "\xff\x{101}\x{101}", '.= is not confused by changing utf8ness';
36 # Ops should not share the same TARG between recursion levels. This may
37 # affect other ops, too, but concat seems more susceptible to this than
38 # others, since it can call itself recursively. (Where else would I put
40 fresh_perl_is <<'end', "tmp\ntmp\n", {},
49 package Path::Class::Dir;
50 use overload q[""] => sub { ::canonpath("tmp") };
53 print canonpath("tmp"), "\n";
54 print canonpath(bless {},"Path::Class::Dir"), "\n";
56 "recursive concat does not share TARGs";