X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fop%2Frepeat.t;h=e728413e9b848dae7af753bbc82b5ec3acdbe0f5;hb=e081bb54e0eecfb962e7f0cfd84fcbdb2683d54d;hp=82fcf75bd2fcd5ab3e09fc4bb9f79821db1782ce;hpb=976c8a39d49b217cde66f5408b0c0e7431507598;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/op/repeat.t b/t/op/repeat.t index 82fcf75..e728413 100755 --- a/t/op/repeat.t +++ b/t/op/repeat.t @@ -6,13 +6,19 @@ BEGIN { } require './test.pl'; -plan(tests => 25); +plan(tests => 41); # compile time is('-' x 5, '-----', 'compile time x'); +is('-' x 3.1, '---', 'compile time 3.1'); +is('-' x 3.9, '---', 'compile time 3.9'); is('-' x 1, '-', ' x 1'); is('-' x 0, '', ' x 0'); +is('-' x -1, '', ' x -1'); +is('-' x undef, '', ' x undef'); +is('-' x "foo", '', ' x "foo"'); +is('-' x "3rd", '---', ' x "3rd"'); is('ab' x 3, 'ababab', ' more than one char'); @@ -20,11 +26,21 @@ is('ab' x 3, 'ababab', ' more than one char'); $a = '-'; is($a x 5, '-----', 'run time x'); +is($a x 3.1, '---', ' x 3.1'); +is($a x 3.9, '---', ' x 3.9'); is($a x 1, '-', ' x 1'); is($a x 0, '', ' x 0'); +is($a x -3, '', ' x -3'); +is($a x undef, '', ' x undef'); +is($a x "foo", '', ' x "foo"'); +is($a x "3rd", '---', ' x "3rd"'); $a = 'ab'; is($a x 3, 'ababab', ' more than one char'); +$a = 'ab'; +is($a x 0, '', ' more than one char'); +$a = 'ab'; +is($a x -12, '', ' more than one char'); $a = 'xyz'; $a x= 2; @@ -45,6 +61,9 @@ is(join(':', (9) x 4), '9:9:9:9', '(X) x Y'); is(join(':', (9,9) x 4), '9:9:9:9:9:9:9:9', '(X,X) x Y'); is(join('', (split(//,"123")) x 2), '123123', 'split and x'); +is(join('', @x x -12), '', '@x x -12'); +is(join('', (@x) x -14), '', '(@x) x -14'); + # This test is actually testing for Digital C compiler optimizer bug, # present in Dec C versions 5.* and 6.0 (used in Digital UNIX and VMS), @@ -132,4 +151,3 @@ is(77, scalar ((1,7)x2), 'stack truncation'); } is($y, 'abcdabcd'); } -