Mercurial > vim
diff src/testdir/test_let.vim @ 17450:509542f1fffb v8.1.1723
patch 8.1.1723: heredoc assignment has no room for new features
commit https://github.com/vim/vim/commit/24582007294b0db3be9669d3b583ea45fc4f19b8
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jul 21 14:14:26 2019 +0200
patch 8.1.1723: heredoc assignment has no room for new features
Problem: Heredoc assignment has no room for new features. (FUJIWARA Takuya)
Solution: Require the marker does not start with a lower case character.
(closes #4705)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 21 Jul 2019 14:15:06 +0200 |
parents | 40c4cb095d53 |
children | 9088fafff9b3 |
line wrap: on
line diff
--- a/src/testdir/test_let.vim +++ b/src/testdir/test_let.vim @@ -164,14 +164,28 @@ func Test_let_heredoc_fails() call assert_fails('source XheredocFail', 'E126:') call delete('XheredocFail') - let text =<< trim END + let text =<< trim CodeEnd func MissingEnd() let v =<< END endfunc - END + CodeEnd call writefile(text, 'XheredocWrong') call assert_fails('source XheredocWrong', 'E126:') call delete('XheredocWrong') + + let text =<< trim TEXTend + let v =<< " comment + TEXTend + call writefile(text, 'XheredocNoMarker') + call assert_fails('source XheredocNoMarker', 'E172:') + call delete('XheredocNoMarker') + + let text =<< trim TEXTend + let v =<< text + TEXTend + call writefile(text, 'XheredocBadMarker') + call assert_fails('source XheredocBadMarker', 'E221:') + call delete('XheredocBadMarker') endfunc " Test for the setting a variable using the heredoc syntax @@ -184,9 +198,9 @@ END call assert_equal(["Some sample text", "\tText with indent", " !@#$%^&*()-+_={}|[]\\~`:\";'<>?,./"], var1) - let var2 =<< + let var2 =<< XXX Editor -. +XXX call assert_equal(['Editor'], var2) let var3 =<<END @@ -218,9 +232,9 @@ END !!! call assert_equal(['Line1', ' line2', "\tLine3", '!!!',], var1) - let var1 =<< trim + let var1 =<< trim XX Line1 - . + XX call assert_equal(['Line1'], var1) " ignore "endfunc" @@ -260,16 +274,16 @@ END call assert_equal(['something', 'python << xx'], var1) " ignore "append" - let var1 =<< + let var1 =<< E something app -. +E call assert_equal(['something', 'app'], var1) " ignore "append" with trim - let var1 =<< trim + let var1 =<< trim END something app - . + END call assert_equal(['something', 'app'], var1) endfunc