patch 8.2.0754: Vim9: No test for forward declaration
Problem: Vim9: No test for forward declaration.
Solution: Add a test.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index c528b80..6b6228e 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1732,6 +1732,7 @@
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 @@
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