diff src/testdir/test_vim9_cmd.vim @ 25622:15b54e0a576b v8.2.3347

patch 8.2.3347: check for legacy script is incomplete Commit: https://github.com/vim/vim/commit/dd9de50f4262898384be6ea7694d05507c7cb260 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Aug 15 13:49:42 2021 +0200 patch 8.2.3347: check for legacy script is incomplete Problem: Check for legacy script is incomplete. (Naohiro Ono) Solution: Also check the :legacy modifier. Use for string concatenation with "." and others (issue #8756)
author Bram Moolenaar <Bram@vim.org>
date Sun, 15 Aug 2021 14:00:04 +0200
parents 49a798fa0e73
children 483b40e87ca5
line wrap: on
line diff
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -13,10 +13,26 @@ def Test_vim9cmd()
     vim9cm assert_equal('yes', y)
   END
   CheckScriptSuccess(lines)
+
   assert_fails('vim9cmd', 'E1164:')
+  assert_fails('legacy', 'E1234:')
   assert_fails('vim9cmd echo "con" . "cat"', 'E15:')
 
   lines =<< trim END
+      let str = 'con'
+      vim9cmd str .= 'cat'
+  END
+  CheckScriptFailure(lines, 'E492:')
+
+  lines =<< trim END
+      vim9script
+      legacy echo "con" . "cat"
+      legacy let str = 'con'
+      legacy let str .= 'cat'
+  END
+  CheckScriptSuccess(lines)
+
+  lines =<< trim END
       vim9script
       def Foo()
         g:found_bar = "bar"
@@ -24,11 +40,47 @@ def Test_vim9cmd()
       nmap ,; :vim9cmd <SID>Foo()<CR>
   END
   CheckScriptSuccess(lines)
+
   feedkeys(',;', 'xt')
   assert_equal("bar", g:found_bar)
-
   nunmap ,;
   unlet g:found_bar
+
+  lines =<< trim END
+      vim9script
+      legacy echo 1'000
+  END
+  CheckScriptFailure(lines, 'E115:')
+
+  if has('float')
+    lines =<< trim END
+        vim9script
+        echo .10
+    END
+    CheckScriptSuccess(lines)
+    lines =<< trim END
+        vim9cmd echo .10
+    END
+    CheckScriptSuccess(lines)
+    lines =<< trim END
+        vim9script
+        legacy echo .10
+    END
+    CheckScriptFailure(lines, 'E15:')
+  endif
+
+  echo v:version
+  assert_fails('vim9cmd echo version', 'E121:')
+  lines =<< trim END
+      vim9script
+      echo version
+  END
+  CheckScriptFailure(lines, 'E121:')
+  lines =<< trim END
+      vim9script
+      legacy echo version
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 def Test_edit_wildcards()