issue238.t 886 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #! /usr/bin/env perl
  2. # http://code.google.com/p/perl-compiler/issues/detail?id=238 239
  3. # format STDOUT: t/CORE/comp/form_scope.t + t/CORE/io/defout.t
  4. use strict;
  5. BEGIN {
  6. unshift @INC, 't';
  7. require "test.pl";
  8. }
  9. use Test::More tests => 4;
  10. # fails 5.10 only
  11. my $todo = ($] =~ /^5\.010/) ? "TODO " : "";
  12. ctestok(1,'C,-O3','ccode238i',<<'EOF',$todo.'#238 format f::STDOUT');
  13. sub f ($);
  14. sub f ($) {
  15. my $test = $_[0];
  16. write;
  17. format STDOUT =
  18. ok @<<<<<<<
  19. $test
  20. .
  21. }
  22. f('');
  23. EOF
  24. ctestok(2,'C,-O3','ccode239i',<<'EOF',$todo.'#239,#285 format main::STDOUT');
  25. my $x="1";
  26. format STDOUT =
  27. ok @<<<<<<<
  28. $x
  29. .
  30. write;print "\n";
  31. EOF
  32. ctestok(3,'C,-O3','ccode277i',<<'EOF',$todo.'#277,#284 format -O3 ~~');
  33. format OUT =
  34. bar ~~
  35. .
  36. open(OUT, ">/dev/null"); write(OUT); close OUT;
  37. print "ok\n";
  38. EOF
  39. ctestok(4,'C,-O3','ccode283i',<<'EOF',$todo.'#283 implicit format STDOUT');
  40. format =
  41. ok
  42. .
  43. write
  44. EOF