issue172.t 844 B

1234567891011121314151617181920212223242526272829
  1. #! /usr/bin/env perl
  2. # http://code.google.com/p/perl-compiler/issues/detail?id=172
  3. # miss to mark empty overloaded package
  4. # See also t/issue219.t
  5. use strict;
  6. BEGIN {
  7. unshift @INC, 't';
  8. require TestBC;
  9. }
  10. use Test::More tests => 2;
  11. my $script = <<'EOF';
  12. package Foo;
  13. use overload q("") => sub { "Foo" };
  14. package main;
  15. my $foo = bless {}, "Foo";
  16. print "ok\n" if "$foo" eq "Foo";
  17. print "$foo\n";
  18. EOF
  19. # fixed with 1.42_67, and for 5.18 with 1.52_18
  20. use B::C ();
  21. my $todo = ($B::C::VERSION ge '1.42_67' and $] < 5.018) ? "" : "TODO ";
  22. $todo = ($] >= 5.018 and $B::C::VERSION lt '1.52_18') ? "TODO 5.18-5.22" : "";
  23. ctest(1, "ok\nFoo",'C','ccode172i',$script,
  24. $todo.'#172 miss to mark empty overloaded package');
  25. ctest(2, "ok\nFoo",'C,-uFoo','ccode172i',$script,
  26. ($] >= 5.018 ? $todo : "").'#172 -uFoo includes overloaded package');