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