changeset 19593:043989a2f449 v8.2.0353

patch 8.2.0353: Vim9: while loop not tested Commit: https://github.com/vim/vim/commit/d0df1aacd81000d95815bea397257d8dc0d2c72d Author: Bram Moolenaar <Bram@vim.org> Date: Wed Mar 4 21:50:46 2020 +0100 patch 8.2.0353: Vim9: while loop not tested Problem: Vim9: while loop not tested. Solution: Add test with "while", "break" and "continue"
author Bram Moolenaar <Bram@vim.org>
date Wed, 04 Mar 2020 22:00:04 +0100
parents 5dc5f9bacd60
children c46c0edd7859
files src/testdir/test_vim9_script.vim src/version.c
diffstat 2 files changed, 40 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -855,28 +855,6 @@ def Test_delfunc()
   delete('XToDelFunc')
 enddef
 
-def Test_substitute_cmd()
-  new
-  setline(1, 'something')
-  :substitute(some(other(
-  assert_equal('otherthing', getline(1))
-  bwipe!
-
-  " also when the context is Vim9 script
-  let lines =<< trim END
-    vim9script
-    new
-    setline(1, 'something')
-    :substitute(some(other(
-    assert_equal('otherthing', getline(1))
-    bwipe!
-  END
-  writefile(lines, 'Xvim9lines')
-  source Xvim9lines
-
-  delete('Xvim9lines')
-enddef
-
 def Test_execute_cmd()
   new
   setline(1, 'default')
@@ -920,4 +898,42 @@ def Test_for_outside_of_function()
   delete('Xvim9for.vim')
 enddef
 
+def Test_while_loop()
+  let result = ''
+  let cnt = 0
+  while cnt < 555
+    if cnt == 3
+      break
+    endif
+    cnt += 1
+    if cnt == 2
+      continue
+    endif
+    result ..= cnt .. '_'
+  endwhile
+  assert_equal('1_3_', result)
+enddef
+
+def Test_substitute_cmd()
+  new
+  setline(1, 'something')
+  :substitute(some(other(
+  assert_equal('otherthing', getline(1))
+  bwipe!
+
+  " also when the context is Vim9 script
+  let lines =<< trim END
+    vim9script
+    new
+    setline(1, 'something')
+    :substitute(some(other(
+    assert_equal('otherthing', getline(1))
+    bwipe!
+  END
+  writefile(lines, 'Xvim9lines')
+  source Xvim9lines
+
+  delete('Xvim9lines')
+enddef
+
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    353,
+/**/
     352,
 /**/
     351,