summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-04-29 00:24:26 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-04-29 12:49:59 +0900
commit330b376133e00ae418bcf01e641e127df01fbc28 (patch)
treedb843d9f0afd5d6334b422fcc5a48aee38ae14ce /test
parent69cad44facc4dedfe181c6a669b63fb9da2aa673 (diff)
parse.y: fix here-doc identifier with newline
* parse.y (heredoc_identifier): quoted here-document identifier must end within the same line. the only corner case that here-document identifier can contain a newline is that the closing qoute is placed at the beginning of the next line, and has been warned since 2.4. ```ruby <<"EOS " # warning: here document identifier ends with a newline EOS ```
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_syntax.rb7
1 files changed, 3 insertions, 4 deletions
diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb
index 257fe07b3c..66adeb1c09 100644
--- a/test/ruby/test_syntax.rb
+++ b/test/ruby/test_syntax.rb
@@ -852,10 +852,9 @@ eom
assert_syntax_error("puts <<""EOS\n""ng\n""EOS\r""NO\n", /can't find string "EOS" anywhere before EOF/)
end
- def test_heredoc_newline
- assert_warn(/ends with a newline/) do
- eval("<<\"EOS\n\"\nEOS\n")
- end
+ def test_unterminated_heredoc
+ assert_syntax_error("<<\"EOS\n\nEOS\n", /unterminated/)
+ assert_syntax_error("<<\"EOS\n\"\nEOS\n", /unterminated/)
end
def test__END___cr