summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-05-14 23:20:55 +0200
committerBram Moolenaar <Bram@vim.org>2020-05-14 23:20:55 +0200
commita5d0077efbced85fcc63f203937b13efd55d036f (patch)
tree1652c9e882d910c05d92ef2f5e76c6d3db92c30e
parent32e351179eacfc84f64cd5029e221582d400bb38 (diff)
patch 8.2.0754: Vim9: No test for forward declarationv8.2.0754
Problem: Vim9: No test for forward declaration. Solution: Add a test.
-rw-r--r--src/testdir/test_vim9_script.vim23
-rw-r--r--src/version.c2
2 files changed, 25 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index c528b8009b..6b6228e5ed 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1732,6 +1732,7 @@ def Test_let_func_call()
END
writefile(lines, 'Xfinished')
source Xfinished
+ " GetValue() is not called during discovery phase
assert_equal(1, g:count)
unlet g:count
@@ -1752,6 +1753,28 @@ def Test_let_missing_type()
delete('Xfinished')
enddef
+def Test_forward_declaration()
+ let lines =<< trim END
+ vim9script
+ g:initVal = GetValue()
+ def GetValue(): string
+ return theVal
+ enddef
+ let theVal = 'something'
+ theVal = 'else'
+ g:laterVal = GetValue()
+ END
+ writefile(lines, 'Xforward')
+ source Xforward
+ assert_equal('something', g:initVal)
+ assert_equal('else', g:laterVal)
+
+ unlet g:initVal
+ unlet g:laterVal
+ delete('Xforward')
+enddef
+
+
" Keep this last, it messes up highlighting.
def Test_substitute_cmd()
new
diff --git a/src/version.c b/src/version.c
index ad56b7af19..8ff5161e72 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 754,
+/**/
753,
/**/
752,