class TestCase::Literal::Heredoc {
  
  static method heredoc : int () {
    
    {
      my $string = <<'EOS';
Hello
World
EOS
      unless ($string eq "Hello\nWorld\n") {
        return 0;
      }
      
      unless (__LINE__ == 14) {
        return 0;
      }
    }
    
    {
      my $string = <<'EOS';

EOS
      unless ($string eq "\n") {
        return 0;
      }
    }
    
    {
      my $string = <<'EOS';
EOS
      unless ($string eq "") {
        return 0;
      }
    }
    
    {
      my $string = <<'END_OF_STRING1';
Hello
World
END_OF_STRING1
      unless ($string eq "Hello\nWorld\n") {
        return 0;
      }
    }
    
    {
      my $string = <<'EOS';
$foo
\t
\
EOS
      unless ($string eq "\$foo\n\\t\n\\\n") {
        return 0;
      }
    }
    
    return 1;
  }
}