Mercurial > vim
annotate src/testdir/test_vim9_import.vim @ 27563:a54064e14114 v8.2.4308
patch 8.2.4308: Vim9: cannot list autoload function
Commit: https://github.com/vim/vim/commit/8164f6ea3cd675d0c22b058d71df2454fa108a35
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 6 13:08:41 2022 +0000
patch 8.2.4308: Vim9: cannot list autoload function
Problem: Vim9: cannot list autoload function.
Solution: Don't give an error for using # when listing a function.
(closes #9703)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 06 Feb 2022 14:15:03 +0100 |
parents | df414fc12eed |
children | db1831f585a4 |
rev | line source |
---|---|
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test import/export of the Vim9 script language. |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2 " Also the autoload mechanism. |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 source check.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 source term_util.vim |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
6 import './vim9.vim' as v9 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 let s:export_script_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 var name: string = 'bob' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 def Concat(arg: string): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 return name .. arg |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 g:result = Concat('bie') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 g:localname = name |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 export const CONST = 1234 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 export var exported = 9876 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 export var exp_name = 'John' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 export def Exported(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 return 'Exported' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 export def ExportedValue(): number |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 return exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 export def ExportedInc() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 exported += 5 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 export final theList = [1] |
27146
648a5f658990
patch 8.2.4102: Vim9: import cannot be used after method
Bram Moolenaar <Bram@vim.org>
parents:
27140
diff
changeset
|
30 export def AddSome(s: string): string |
648a5f658990
patch 8.2.4102: Vim9: import cannot be used after method
Bram Moolenaar <Bram@vim.org>
parents:
27140
diff
changeset
|
31 return s .. 'some' |
648a5f658990
patch 8.2.4102: Vim9: import cannot be used after method
Bram Moolenaar <Bram@vim.org>
parents:
27140
diff
changeset
|
32 enddef |
648a5f658990
patch 8.2.4102: Vim9: import cannot be used after method
Bram Moolenaar <Bram@vim.org>
parents:
27140
diff
changeset
|
33 export var AddRef = AddSome |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
35 |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
36 def s:Undo_export_script_lines() |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 unlet g:result |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 unlet g:localname |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
39 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
40 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 def Test_vim9_import_export() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 writefile(s:export_script_lines, 'Xexport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 var import_script_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 var dir = './' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
46 var ext = ".vim" |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
47 import dir .. 'Xexport' .. ext as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
48 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
49 g:exported1 = expo.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
50 expo.exported += 3 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
51 g:exported2 = expo.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
52 g:exported3 = expo.ExportedValue() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
53 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
54 expo.ExportedInc() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
55 g:exported_i1 = expo.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
56 g:exported_i2 = expo.ExportedValue() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
57 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
58 expo.exported = 11 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
59 g:exported_s1 = expo.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
60 g:exported_s2 = expo.ExportedValue() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
61 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
62 g:imported_func = expo.Exported() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
63 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
64 def GetExported(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
65 var local_dict = {ref: expo.Exported} |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
66 return local_dict.ref() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
67 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
68 g:funcref_result = GetExported() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
69 |
27265
8a097fc07aa4
patch 8.2.4161: Vim9: warning for missing white space after imported variable
Bram Moolenaar <Bram@vim.org>
parents:
27233
diff
changeset
|
70 def GetName(): string |
8a097fc07aa4
patch 8.2.4161: Vim9: warning for missing white space after imported variable
Bram Moolenaar <Bram@vim.org>
parents:
27233
diff
changeset
|
71 return expo.exp_name .. 'son' |
8a097fc07aa4
patch 8.2.4161: Vim9: warning for missing white space after imported variable
Bram Moolenaar <Bram@vim.org>
parents:
27233
diff
changeset
|
72 enddef |
8a097fc07aa4
patch 8.2.4161: Vim9: warning for missing white space after imported variable
Bram Moolenaar <Bram@vim.org>
parents:
27233
diff
changeset
|
73 g:long_name = GetName() |
8a097fc07aa4
patch 8.2.4161: Vim9: warning for missing white space after imported variable
Bram Moolenaar <Bram@vim.org>
parents:
27233
diff
changeset
|
74 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
75 g:imported_name = expo.exp_name |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
76 expo.exp_name ..= ' Doe' |
27177
eb0a1108f885
patch 8.2.4117: Vim9: wrong white space error after using imported item
Bram Moolenaar <Bram@vim.org>
parents:
27150
diff
changeset
|
77 expo.exp_name = expo.exp_name .. ' Maar' |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
78 g:imported_name_appended = expo.exp_name |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
79 g:exported_later = expo.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
80 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
81 expo.theList->add(2) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
82 assert_equal([1, 2], expo.theList) |
27146
648a5f658990
patch 8.2.4102: Vim9: import cannot be used after method
Bram Moolenaar <Bram@vim.org>
parents:
27140
diff
changeset
|
83 |
648a5f658990
patch 8.2.4102: Vim9: import cannot be used after method
Bram Moolenaar <Bram@vim.org>
parents:
27140
diff
changeset
|
84 assert_equal('andthensome', 'andthen'->expo.AddSome()) |
648a5f658990
patch 8.2.4102: Vim9: import cannot be used after method
Bram Moolenaar <Bram@vim.org>
parents:
27140
diff
changeset
|
85 assert_equal('awesome', 'awe'->expo.AddRef()) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
86 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
87 writefile(import_script_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
88 source Ximport.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
89 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
90 assert_equal('bobbie', g:result) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
91 assert_equal('bob', g:localname) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
92 assert_equal(9876, g:exported1) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
93 assert_equal(9879, g:exported2) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
94 assert_equal(9879, g:exported3) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
95 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
96 assert_equal(9884, g:exported_i1) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
97 assert_equal(9884, g:exported_i2) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
98 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
99 assert_equal(11, g:exported_s1) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
100 assert_equal(11, g:exported_s2) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
101 assert_equal(11, g:exported_later) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
102 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
103 assert_equal('Exported', g:imported_func) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
104 assert_equal('Exported', g:funcref_result) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
105 assert_equal('John', g:imported_name) |
27265
8a097fc07aa4
patch 8.2.4161: Vim9: warning for missing white space after imported variable
Bram Moolenaar <Bram@vim.org>
parents:
27233
diff
changeset
|
106 assert_equal('Johnson', g:long_name) |
27177
eb0a1108f885
patch 8.2.4117: Vim9: wrong white space error after using imported item
Bram Moolenaar <Bram@vim.org>
parents:
27150
diff
changeset
|
107 assert_equal('John Doe Maar', g:imported_name_appended) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
108 assert_false(exists('g:name')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
109 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
110 Undo_export_script_lines() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
111 unlet g:exported1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
112 unlet g:exported2 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
113 unlet g:exported3 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
114 unlet g:exported_i1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
115 unlet g:exported_i2 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
116 unlet g:exported_later |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
117 unlet g:imported_func |
27265
8a097fc07aa4
patch 8.2.4161: Vim9: warning for missing white space after imported variable
Bram Moolenaar <Bram@vim.org>
parents:
27233
diff
changeset
|
118 unlet g:imported_name g:long_name g:imported_name_appended |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
119 delete('Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
120 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
121 # similar, with line breaks |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
122 var import_line_break_script_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
123 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
124 import './Xexport.vim' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
125 as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
126 g:exported = expo.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
127 expo.exported += 7 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
128 g:exported_added = expo.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
129 g:imported_func = expo.Exported() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
130 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
131 writefile(import_line_break_script_lines, 'Ximport_lbr.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
132 source Ximport_lbr.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
133 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
134 assert_equal(11, g:exported) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
135 assert_equal(18, g:exported_added) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
136 assert_equal('Exported', g:imported_func) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
137 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
138 # exported script not sourced again |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
139 assert_false(exists('g:result')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
140 unlet g:exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
141 unlet g:exported_added |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
142 unlet g:imported_func |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
143 delete('Ximport_lbr.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
144 |
27499
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
145 var import_shadows_cmdmod_lines =<< trim END |
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
146 vim9script |
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
147 import './Xexport.vim' as vim9 |
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
148 vim9.exp_name = 'Shadow' |
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
149 assert_equal('Shadow', vim9.exp_name) |
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
150 END |
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
151 v9.CheckScriptSuccess(import_shadows_cmdmod_lines) |
df414fc12eed
patch 8.2.4277: Vim9: an import does not shadow a command modifier
Bram Moolenaar <Bram@vim.org>
parents:
27472
diff
changeset
|
152 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
153 var line_break_before_dot =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
154 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
155 import './Xexport.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
156 g:exported = expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
157 .exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
158 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
159 writefile(line_break_before_dot, 'Ximport_lbr_before_dot.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
160 assert_fails('source Ximport_lbr_before_dot.vim', 'E1060:', '', 3) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
161 delete('Ximport_lbr_before_dot.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
162 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
163 var line_break_after_dot =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
164 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
165 import './Xexport.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
166 g:exported = expo. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
167 exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
168 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
169 writefile(line_break_after_dot, 'Ximport_lbr_after_dot.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
170 assert_fails('source Ximport_lbr_after_dot.vim', 'E1074:', '', 3) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
171 delete('Ximport_lbr_after_dot.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
172 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
173 var import_star_as_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
174 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
175 import './Xexport.vim' as Export |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
176 def UseExport() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
177 g:exported_def = Export.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
178 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
179 g:exported_script = Export.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
180 assert_equal(1, exists('Export.exported')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
181 assert_equal(0, exists('Export.notexported')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
182 UseExport() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
183 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
184 writefile(import_star_as_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
185 source Ximport.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
186 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
187 assert_equal(18, g:exported_def) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
188 assert_equal(18, g:exported_script) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
189 unlet g:exported_def |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
190 unlet g:exported_script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
191 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
192 var import_star_as_lines_no_dot =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
193 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
194 import './Xexport.vim' as Export |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
195 def Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
196 var dummy = 1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
197 var imported = Export + dummy |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
198 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
199 defcompile |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
200 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
201 writefile(import_star_as_lines_no_dot, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
202 assert_fails('source Ximport.vim', 'E1060:', '', 2, 'Func') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
203 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
204 var import_star_as_lines_dot_space =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
205 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
206 import './Xexport.vim' as Export |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
207 def Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
208 var imported = Export . exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
209 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
210 defcompile |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
211 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
212 writefile(import_star_as_lines_dot_space, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
213 assert_fails('source Ximport.vim', 'E1074:', '', 1, 'Func') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
214 |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
215 writefile(s:export_script_lines, 'Xexport2.vim') |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
216 var import_as_duplicated =<< trim END |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
217 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
218 import './Xexport.vim' as expo |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
219 import './Xexport2.vim' as expo |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
220 END |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
221 writefile(import_as_duplicated, 'Ximport.vim') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
222 assert_fails('source Ximport.vim', 'E1073:', '', 3, 'Ximport.vim') |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
223 delete('Xexport2.vim') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
224 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
225 var import_star_as_lines_script_no_dot =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
226 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
227 import './Xexport.vim' as Export |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
228 g:imported_script = Export exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
229 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
230 writefile(import_star_as_lines_script_no_dot, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
231 assert_fails('source Ximport.vim', 'E1060: Expected dot after name: Export exported') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
232 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
233 var import_star_as_lines_script_space_after_dot =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
234 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
235 import './Xexport.vim' as Export |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
236 g:imported_script = Export. exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
237 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
238 writefile(import_star_as_lines_script_space_after_dot, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
239 assert_fails('source Ximport.vim', 'E1074:') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
240 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
241 var import_star_as_lines_missing_name =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
242 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
243 import './Xexport.vim' as Export |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
244 def Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
245 var imported = Export. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
246 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
247 defcompile |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
248 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
249 writefile(import_star_as_lines_missing_name, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
250 assert_fails('source Ximport.vim', 'E1048:', '', 1, 'Func') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
251 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
252 var import_star_as_lbr_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
253 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
254 import './Xexport.vim' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
255 as Export |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
256 def UseExport() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
257 g:exported = Export.exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
258 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
259 UseExport() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
260 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
261 writefile(import_star_as_lbr_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
262 source Ximport.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
263 assert_equal(18, g:exported) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
264 unlet g:exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
265 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
266 # try to use something that exists but is not exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
267 var import_not_exported_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
268 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
269 import './Xexport.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
270 echo expo.name |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
271 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
272 writefile(import_not_exported_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
273 assert_fails('source Ximport.vim', 'E1049:', '', 3, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
274 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
275 # try to import something that is already defined |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
276 var import_already_defined =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
277 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
278 var exported = 'something' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
279 import './Xexport.vim' as exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
280 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
281 writefile(import_already_defined, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
282 assert_fails('source Ximport.vim', 'E1054:', '', 3, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
283 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
284 # try changing an imported const |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
285 var import_assign_to_const =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
286 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
287 import './Xexport.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
288 def Assign() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
289 expo.CONST = 987 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
290 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
291 defcompile |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
292 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
293 writefile(import_assign_to_const, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
294 assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
295 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
296 # try changing an imported final |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
297 var import_assign_to_final =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
298 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
299 import './Xexport.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
300 def Assign() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
301 expo.theList = [2] |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
302 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
303 defcompile |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
304 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
305 writefile(import_assign_to_final, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
306 assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
307 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
308 var import_no_as_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
309 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
310 import './Xexport.vim' name |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
311 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
312 writefile(import_no_as_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
313 assert_fails('source Ximport.vim', 'E488:', '', 2, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
314 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
315 var import_invalid_string_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
316 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
317 import Xexport.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
318 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
319 writefile(import_invalid_string_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
320 assert_fails('source Ximport.vim', 'E121:', '', 2, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
321 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
322 var import_wrong_name_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
323 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
324 import './XnoExport.vim' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
325 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
326 writefile(import_wrong_name_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
327 assert_fails('source Ximport.vim', 'E1053:', '', 2, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
328 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
329 var import_redefining_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
330 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
331 import './Xexport.vim' as exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
332 var exported = 5 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
333 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
334 writefile(import_redefining_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
335 assert_fails('source Ximport.vim', 'E1213: Redefining imported item "exported"', '', 3) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
336 |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
337 var import_missing_dot_lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
338 vim9script |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
339 import './Xexport.vim' as expo |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
340 def Test() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
341 expo = 9 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
342 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
343 defcompile |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
344 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
345 writefile(import_missing_dot_lines, 'Ximport.vim') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
346 assert_fails('source Ximport.vim', 'E1258:', '', 1) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
347 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
348 var import_missing_name_lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
349 vim9script |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
350 import './Xexport.vim' as expo |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
351 def Test() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
352 expo.99 = 9 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
353 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
354 defcompile |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
355 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
356 writefile(import_missing_name_lines, 'Ximport.vim') |
27059
e97cf16731d9
patch 8.2.4058: Vim9: import test failure in wrong line
Bram Moolenaar <Bram@vim.org>
parents:
27057
diff
changeset
|
357 assert_fails('source Ximport.vim', 'E1259:', '', 1) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
358 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
359 var import_assign_wrong_type_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
360 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
361 import './Xexport.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
362 expo.exported = 'xxx' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
363 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
364 writefile(import_assign_wrong_type_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
365 assert_fails('source Ximport.vim', 'E1012: Type mismatch; expected number but got string', '', 3) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
366 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
367 var import_assign_const_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
368 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
369 import './Xexport.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
370 expo.CONST = 4321 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
371 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
372 writefile(import_assign_const_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
373 assert_fails('source Ximport.vim', 'E46: Cannot change read-only variable "CONST"', '', 3) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
374 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
375 delete('Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
376 delete('Xexport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
377 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
378 # Check that in a Vim9 script 'cpo' is set to the Vim default. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
379 # Flags added or removed are also applied to the restored value. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
380 set cpo=abcd |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
381 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
382 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
383 g:cpo_in_vim9script = &cpo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
384 set cpo+=f |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
385 set cpo-=c |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
386 g:cpo_after_vim9script = &cpo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
387 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
388 writefile(lines, 'Xvim9_script') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
389 source Xvim9_script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
390 assert_equal('fabd', &cpo) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
391 set cpo&vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
392 assert_equal(&cpo, g:cpo_in_vim9script) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
393 var newcpo = substitute(&cpo, 'c', '', '') .. 'f' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
394 assert_equal(newcpo, g:cpo_after_vim9script) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
395 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
396 delete('Xvim9_script') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
397 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
398 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
399 def Test_import_funcref() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
400 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
401 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
402 export def F(): number |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
403 return 42 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
404 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
405 export const G = F |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
406 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
407 writefile(lines, 'Xlib.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
408 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
409 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
410 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
411 import './Xlib.vim' as lib |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
412 const Foo = lib.G() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
413 assert_equal(42, Foo) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
414 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
415 def DoTest() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
416 const Goo = lib.G() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
417 assert_equal(42, Goo) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
418 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
419 DoTest() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
420 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
421 v9.CheckScriptSuccess(lines) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
422 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
423 delete('Xlib.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
424 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
425 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
426 def Test_import_fails() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
427 writefile([], 'Xfoo.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
428 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
429 import './Xfoo.vim' as foo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
430 foo = 'bar' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
431 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
432 v9.CheckDefAndScriptFailure(lines, ['E1094:', 'E1236: Cannot use foo itself']) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
433 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
434 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
435 import './Xfoo.vim' as foo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
436 var that = foo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
437 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
438 v9.CheckScriptFailure(lines, 'E1060: Expected dot after name: foo') |
27277
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
439 lines =<< trim END |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
440 vim9script |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
441 import './Xfoo.vim' as foo |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
442 var that: any |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
443 that += foo |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
444 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
445 v9.CheckScriptFailure(lines, 'E1060: Expected dot after name: foo') |
27277
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
446 lines =<< trim END |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
447 vim9script |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
448 import './Xfoo.vim' as foo |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
449 foo += 9 |
b73e3617c1d6
patch 8.2.4167: Vim9: error message for old style import
Bram Moolenaar <Bram@vim.org>
parents:
27269
diff
changeset
|
450 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
451 v9.CheckScriptFailure(lines, 'E1060: Expected dot after name: foo') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
452 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
453 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
454 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
455 import './Xfoo.vim' as 9foo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
456 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
457 v9.CheckScriptFailure(lines, 'E1047:') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
458 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
459 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
460 import './Xfoo.vim' as the#foo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
461 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
462 v9.CheckScriptFailure(lines, 'E1047:') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
463 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
464 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
465 import './Xfoo.vim' as g:foo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
466 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
467 v9.CheckScriptFailure(lines, 'E1047:') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
468 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
469 delete('Xfoo.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
470 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
471 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
472 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
473 def TheFunc() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
474 echo 'the func' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
475 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
476 export var Ref = TheFunc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
477 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
478 writefile([], 'Xthat.vim') |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
479 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
480 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
481 import './Xthat.vim' as That |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
482 That() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
483 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
484 v9.CheckDefAndScriptFailure(lines, ['E1094:', 'E1236: Cannot use That itself']) |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
485 |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
486 lines =<< trim END |
27233
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
487 vim9script |
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
488 import './Xthat.vim' as That |
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
489 def Func() |
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
490 echo That() |
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
491 enddef |
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
492 Func() |
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
493 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
494 v9.CheckScriptFailure(lines, 'E1236: Cannot use That itself') |
27233
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
495 |
73232ed49cf2
patch 8.2.4145: confusing error when using name of import for a function
Bram Moolenaar <Bram@vim.org>
parents:
27217
diff
changeset
|
496 lines =<< trim END |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
497 import './Xthat.vim' as one |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
498 import './Xthat.vim' as two |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
499 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
500 v9.CheckScriptFailure(lines, 'E1262:') |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
501 |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
502 delete('Xthat.vim') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
503 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
504 mkdir('Ximport') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
505 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
506 writefile(['vim9script'], 'Ximport/.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
507 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
508 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
509 import './Ximport/.vim' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
510 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
511 v9.CheckScriptFailure(lines, 'E1261: Cannot import .vim without using "as"') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
512 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
513 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
514 import './Ximport/.vim' as vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
515 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
516 v9.CheckScriptSuccess(lines) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
517 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
518 writefile(['vim9script'], 'Ximport/.vimrc') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
519 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
520 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
521 import './Ximport/.vimrc' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
522 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
523 v9.CheckScriptFailure(lines, 'E1257: Imported script must use "as" or end in .vim') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
524 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
525 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
526 import './Ximport/.vimrc' as vimrc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
527 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
528 v9.CheckScriptSuccess(lines) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
529 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
530 delete('Ximport', 'rf') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
531 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
532 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
533 func g:Trigger() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
534 source Ximport.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
535 return "echo 'yes'\<CR>" |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
536 endfunc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
537 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
538 def Test_import_export_expr_map() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
539 # check that :import and :export work when buffer is locked |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
540 var export_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
541 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
542 export def That(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
543 return 'yes' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
544 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
545 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
546 writefile(export_lines, 'Xexport_that.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
547 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
548 var import_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
549 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
550 import './Xexport_that.vim' as that |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
551 assert_equal('yes', that.That()) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
552 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
553 writefile(import_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
554 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
555 nnoremap <expr> trigger g:Trigger() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
556 feedkeys('trigger', "xt") |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
557 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
558 delete('Xexport_that.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
559 delete('Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
560 nunmap trigger |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
561 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
562 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
563 def Test_import_in_filetype() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
564 # check that :import works when the buffer is locked |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
565 mkdir('ftplugin', 'p') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
566 var export_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
567 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
568 export var That = 'yes' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
569 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
570 writefile(export_lines, 'ftplugin/Xexport_ft.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
571 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
572 var import_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
573 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
574 import './Xexport_ft.vim' as ft |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
575 assert_equal('yes', ft.That) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
576 g:did_load_mytpe = 1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
577 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
578 writefile(import_lines, 'ftplugin/qf.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
579 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
580 var save_rtp = &rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
581 &rtp = getcwd() .. ',' .. &rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
582 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
583 filetype plugin on |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
584 copen |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
585 assert_equal(1, g:did_load_mytpe) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
586 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
587 quit! |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
588 delete('Xexport_ft.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
589 delete('ftplugin', 'rf') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
590 &rtp = save_rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
591 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
592 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
593 def Test_use_import_in_mapping() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
594 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
595 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
596 export def Funcx() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
597 g:result = 42 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
598 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
599 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
600 writefile(lines, 'XsomeExport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
601 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
602 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
603 import './XsomeExport.vim' as some |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
604 var Funcy = some.Funcx |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
605 nnoremap <F3> :call <sid>Funcy()<cr> |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
606 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
607 writefile(lines, 'Xmapscript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
608 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
609 source Xmapscript.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
610 feedkeys("\<F3>", "xt") |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
611 assert_equal(42, g:result) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
612 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
613 unlet g:result |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
614 delete('XsomeExport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
615 delete('Xmapscript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
616 nunmap <F3> |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
617 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
618 |
27285
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
619 def Test_use_import_in_command_completion() |
27189
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
620 var lines =<< trim END |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
621 vim9script |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
622 export def Complete(..._): list<string> |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
623 return ['abcd'] |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
624 enddef |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
625 END |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
626 writefile(lines, 'Xscript.vim') |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
627 |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
628 lines =<< trim END |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
629 vim9script |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
630 import './Xscript.vim' |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
631 |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
632 command -nargs=1 -complete=customlist,Xscript.Complete Cmd echo 'ok' |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
633 feedkeys(":Cmd ab\<Tab>\<C-B>#\<CR>", 'xnt') |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
634 assert_equal('#Cmd abcd', @:) |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
635 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
636 v9.CheckScriptSuccess(lines) |
27189
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
637 |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
638 delcommand Cmd |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
639 delete('Xscript.vim') |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
640 enddef |
a10936038ec9
patch 8.2.4123: complete function cannot be import.Name
Bram Moolenaar <Bram@vim.org>
parents:
27177
diff
changeset
|
641 |
27285
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
642 def Test_use_autoload_import_in_insert_completion() |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
643 mkdir('Xdir/autoload', 'p') |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
644 var save_rtp = &rtp |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
645 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
646 |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
647 var lines =<< trim END |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
648 vim9script |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
649 export def ThesaurusFunc(findbase: bool, _): any |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
650 if findbase |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
651 return 1 |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
652 endif |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
653 return [ |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
654 'check', |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
655 'experiment', |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
656 'test', |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
657 'verification' |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
658 ] |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
659 enddef |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
660 g:completion_loaded = 'yes' |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
661 END |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
662 writefile(lines, 'Xdir/autoload/completion.vim') |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
663 |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
664 new |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
665 lines =<< trim END |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
666 vim9script |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
667 g:completion_loaded = 'no' |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
668 import autoload 'completion.vim' |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
669 set thesaurusfunc=completion.ThesaurusFunc |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
670 assert_equal('no', g:completion_loaded) |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
671 feedkeys("i\<C-X>\<C-T>\<C-N>\<Esc>", 'xt') |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
672 assert_equal('experiment', getline(1)) |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
673 assert_equal('yes', g:completion_loaded) |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
674 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
675 v9.CheckScriptSuccess(lines) |
27285
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
676 |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
677 set thesaurusfunc= |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
678 bwipe! |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
679 delete('Xdir', 'rf') |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
680 &rtp = save_rtp |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
681 enddef |
53edd190a607
patch 8.2.4171: cannot invoke option function using autoload import
Bram Moolenaar <Bram@vim.org>
parents:
27277
diff
changeset
|
682 |
27362
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
683 def Test_use_autoload_import_partial_in_opfunc() |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
684 mkdir('Xdir/autoload', 'p') |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
685 var save_rtp = &rtp |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
686 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
687 |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
688 var lines =<< trim END |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
689 vim9script |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
690 export def Opfunc(..._) |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
691 g:opfunc_called = 'yes' |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
692 enddef |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
693 END |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
694 writefile(lines, 'Xdir/autoload/opfunc.vim') |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
695 |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
696 new |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
697 lines =<< trim END |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
698 vim9script |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
699 import autoload 'opfunc.vim' |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
700 nnoremap <expr> <F3> TheFunc() |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
701 def TheFunc(): string |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
702 &operatorfunc = function('opfunc.Opfunc', [0]) |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
703 return 'g@' |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
704 enddef |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
705 feedkeys("\<F3>l", 'xt') |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
706 assert_equal('yes', g:opfunc_called) |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
707 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
708 v9.CheckScriptSuccess(lines) |
27362
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
709 |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
710 set opfunc= |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
711 bwipe! |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
712 delete('Xdir', 'rf') |
27376
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
713 nunmap <F3> |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
714 &rtp = save_rtp |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
715 enddef |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
716 |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
717 def Test_set_opfunc_to_autoload_func_directly() |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
718 mkdir('Xdir/autoload', 'p') |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
719 var save_rtp = &rtp |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
720 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
721 |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
722 var lines =<< trim END |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
723 vim9script |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
724 export def Opfunc(..._) |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
725 g:opfunc_called = 'yes' |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
726 enddef |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
727 END |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
728 writefile(lines, 'Xdir/autoload/opfunc.vim') |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
729 |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
730 new |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
731 lines =<< trim END |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
732 vim9script |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
733 import autoload 'opfunc.vim' |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
734 nnoremap <expr> <F3> TheFunc() |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
735 def TheFunc(): string |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
736 &operatorfunc = opfunc.Opfunc |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
737 return 'g@' |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
738 enddef |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
739 feedkeys("\<F3>l", 'xt') |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
740 assert_equal('yes', g:opfunc_called) |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
741 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
742 v9.CheckScriptSuccess(lines) |
27376
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
743 |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
744 set opfunc= |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
745 bwipe! |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
746 delete('Xdir', 'rf') |
1a6421c5be20
patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Bram Moolenaar <Bram@vim.org>
parents:
27362
diff
changeset
|
747 nunmap <F3> |
27362
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
748 &rtp = save_rtp |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
749 enddef |
2ca6dd1f62af
patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Bram Moolenaar <Bram@vim.org>
parents:
27348
diff
changeset
|
750 |
27289
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
751 def Test_use_autoload_import_in_fold_expression() |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
752 mkdir('Xdir/autoload', 'p') |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
753 var save_rtp = &rtp |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
754 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
755 |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
756 var lines =<< trim END |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
757 vim9script |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
758 export def Expr(): string |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
759 return getline(v:lnum) =~ '^#' ? '>1' : '1' |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
760 enddef |
27301
ebe56a24acb6
patch 8.2.4179: 'foldtext' is evaluated in the current script context
Bram Moolenaar <Bram@vim.org>
parents:
27297
diff
changeset
|
761 export def Text(): string |
ebe56a24acb6
patch 8.2.4179: 'foldtext' is evaluated in the current script context
Bram Moolenaar <Bram@vim.org>
parents:
27297
diff
changeset
|
762 return 'fold text' |
ebe56a24acb6
patch 8.2.4179: 'foldtext' is evaluated in the current script context
Bram Moolenaar <Bram@vim.org>
parents:
27297
diff
changeset
|
763 enddef |
27289
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
764 g:fold_loaded = 'yes' |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
765 END |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
766 writefile(lines, 'Xdir/autoload/fold.vim') |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
767 |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
768 lines =<< trim END |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
769 vim9script |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
770 import autoload 'fold.vim' |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
771 &foldexpr = 'fold.Expr()' |
27301
ebe56a24acb6
patch 8.2.4179: 'foldtext' is evaluated in the current script context
Bram Moolenaar <Bram@vim.org>
parents:
27297
diff
changeset
|
772 &foldtext = 'fold.Text()' |
27289
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
773 &foldmethod = 'expr' |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
774 &debug = 'throw' |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
775 END |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
776 new |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
777 setline(1, ['# one', 'text', '# two', 'text']) |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
778 g:fold_loaded = 'no' |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
779 v9.CheckScriptSuccess(lines) |
27289
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
780 assert_equal('no', g:fold_loaded) |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
781 redraw |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
782 assert_equal('yes', g:fold_loaded) |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
783 |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
784 # Check that script context of 'foldexpr' is copied to another buffer. |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
785 edit! otherfile |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
786 redraw |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
787 |
27301
ebe56a24acb6
patch 8.2.4179: 'foldtext' is evaluated in the current script context
Bram Moolenaar <Bram@vim.org>
parents:
27297
diff
changeset
|
788 set foldexpr= foldtext& foldmethod& debug= |
27289
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
789 bwipe! |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
790 delete('Xdir', 'rf') |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
791 &rtp = save_rtp |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
792 enddef |
e11682ba8c80
patch 8.2.4173: cannot use an import in 'foldexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27285
diff
changeset
|
793 |
27305
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
794 func Test_import_in_diffexpr() |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
795 CheckExecutable diff |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
796 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
797 call Run_Test_import_in_diffexpr() |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
798 endfunc |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
799 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
800 def Run_Test_import_in_diffexpr() |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
801 var lines =<< trim END |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
802 vim9script |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
803 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
804 export def DiffExpr() |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
805 # Prepend some text to check diff type detection |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
806 writefile(['warning', ' message'], v:fname_out) |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
807 silent exe '!diff ' .. v:fname_in .. ' ' |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
808 .. v:fname_new .. '>>' .. v:fname_out |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
809 enddef |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
810 END |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
811 writefile(lines, 'Xdiffexpr') |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
812 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
813 lines =<< trim END |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
814 vim9script |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
815 import './Xdiffexpr' as diff |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
816 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
817 set diffexpr=diff.DiffExpr() |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
818 set diffopt=foldcolumn:0 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
819 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
820 v9.CheckScriptSuccess(lines) |
27305
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
821 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
822 enew! |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
823 call setline(1, ['one', 'two', 'three']) |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
824 diffthis |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
825 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
826 botright vert new |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
827 call setline(1, ['one', 'two', 'three.']) |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
828 diffthis |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
829 # we only check if this does not cause errors |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
830 redraw |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
831 |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
832 diffoff! |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
833 bwipe! |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
834 bwipe! |
27344
44e82999b4e1
patch 8.2.4200: some tests do not clean up properly
Bram Moolenaar <Bram@vim.org>
parents:
27338
diff
changeset
|
835 delete('Xdiffexpr') |
27305
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
836 enddef |
30d8437ad7cc
patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27301
diff
changeset
|
837 |
27315
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
838 def Test_import_in_patchexpr() |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
839 var lines =<< trim END |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
840 vim9script |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
841 export def TPatch() |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
842 call writefile(['output file'], v:fname_out) |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
843 enddef |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
844 END |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
845 writefile(lines, 'Xpatchexpr') |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
846 |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
847 lines =<< trim END |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
848 vim9script |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
849 import './Xpatchexpr' as patch |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
850 set patchexpr=patch.TPatch() |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
851 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
852 v9.CheckScriptSuccess(lines) |
27315
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
853 |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
854 call writefile(['input file'], 'Xinput') |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
855 call writefile(['diff file'], 'Xdiff') |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
856 :%bwipe! |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
857 edit Xinput |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
858 diffpatch Xdiff |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
859 call assert_equal('output file', getline(1)) |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
860 |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
861 call delete('Xinput') |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
862 call delete('Xdiff') |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
863 call delete('Xpatchexpr') |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
864 set patchexpr& |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
865 :%bwipe! |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
866 enddef |
a195a900a329
patch 8.2.4186: cannot use an import in 'patchexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27313
diff
changeset
|
867 |
27309
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
868 def Test_import_in_formatexpr() |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
869 var lines =<< trim END |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
870 vim9script |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
871 export def MyFormatExpr(): number |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
872 g:did_format = 'yes' |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
873 return 0 |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
874 enddef |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
875 END |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
876 writefile(lines, 'Xformatter') |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
877 |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
878 lines =<< trim END |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
879 vim9script |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
880 import './Xformatter' as format |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
881 set formatexpr=format.MyFormatExpr() |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
882 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
883 v9.CheckScriptSuccess(lines) |
27309
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
884 |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
885 new |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
886 setline(1, ['a', 'b', 'c']) |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
887 normal gqG |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
888 assert_equal('yes', g:did_format) |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
889 |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
890 bwipe! |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
891 delete('Xformatter') |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
892 unlet g:did_format |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
893 set formatexpr= |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
894 enddef |
391011658d95
patch 8.2.4183: cannot use an import in 'formatexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27305
diff
changeset
|
895 |
27311
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
896 def Test_import_in_includeexpr() |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
897 writefile(['found it'], 'Xthisfile') |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
898 new |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
899 |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
900 var lines =<< trim END |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
901 vim9script |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
902 export def DoSub(): string |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
903 return substitute(v:fname, 'that', 'this', '') |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
904 enddef |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
905 END |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
906 writefile(lines, 'Xinclude.vim') |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
907 |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
908 lines =<< trim END |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
909 vim9script |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
910 import './Xinclude.vim' |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
911 set includeexpr=Xinclude.DoSub() |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
912 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
913 v9.CheckScriptSuccess(lines) |
27311
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
914 |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
915 setline(1, ['Xthatfile']) |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
916 exe "normal \<C-W>f" |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
917 assert_equal('Xthisfile', expand('%')) |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
918 |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
919 bwipe! |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
920 bwipe! |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
921 set includeexpr= |
27344
44e82999b4e1
patch 8.2.4200: some tests do not clean up properly
Bram Moolenaar <Bram@vim.org>
parents:
27338
diff
changeset
|
922 delete('Xinclude.vim') |
27311
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
923 delete('Xthisfile') |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
924 enddef |
b3ef31c6a922
patch 8.2.4184: cannot use an import in 'includeexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27309
diff
changeset
|
925 |
27313
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
926 def Test_import_in_indentexpr() |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
927 var lines =<< trim END |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
928 vim9script |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
929 export def GetIndent(): number |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
930 return 5 |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
931 enddef |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
932 END |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
933 writefile(lines, 'Xindenter') |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
934 |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
935 lines =<< trim END |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
936 vim9script |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
937 import './Xindenter' as indent |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
938 set indentexpr=indent.GetIndent() |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
939 set debug=throw |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
940 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
941 v9.CheckScriptSuccess(lines) |
27313
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
942 |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
943 new |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
944 setline(1, 'hello') |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
945 normal == |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
946 assert_equal(' hello', getline(1)) |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
947 |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
948 bwipe! |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
949 set indentexpr= debug= |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
950 delete('Xindenter') |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
951 enddef |
748ab01dbdc5
patch 8.2.4185: cannot use an import in 'indentexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27311
diff
changeset
|
952 |
27328
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
953 func Test_import_in_printexpr() |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
954 CheckFeature postscript |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
955 call Run_Test_import_in_printexpr() |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
956 endfunc |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
957 |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
958 def Run_Test_import_in_printexpr() |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
959 var lines =<< trim END |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
960 vim9script |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
961 export def PrintFile(): bool |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
962 g:printed = 'yes' |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
963 delete('v:fname_in') |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
964 return false |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
965 enddef |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
966 END |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
967 writefile(lines, 'Xprint.vim') |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
968 |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
969 lines =<< trim END |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
970 vim9script |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
971 import './Xprint.vim' |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
972 set printexpr=Xprint.PrintFile() |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
973 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
974 v9.CheckScriptSuccess(lines) |
27328
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
975 |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
976 help |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
977 hardcopy dummy args |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
978 assert_equal('yes', g:printed) |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
979 |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
980 delete('Xprint.vim') |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
981 set printexpr= |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
982 enddef |
7382135dac01
patch 8.2.4192: cannot use an import in 'printexpr'
Bram Moolenaar <Bram@vim.org>
parents:
27315
diff
changeset
|
983 |
27330
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
984 def Test_import_in_charconvert() |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
985 var lines =<< trim END |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
986 vim9script |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
987 export def MakeUpper(): bool |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
988 var data = readfile(v:fname_in) |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
989 map(data, 'toupper(v:val)') |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
990 writefile(data, v:fname_out) |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
991 return false # success |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
992 enddef |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
993 END |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
994 writefile(lines, 'Xconvert.vim') |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
995 |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
996 lines =<< trim END |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
997 vim9script |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
998 import './Xconvert.vim' as conv |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
999 set charconvert=conv.MakeUpper() |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1000 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1001 v9.CheckScriptSuccess(lines) |
27330
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1002 |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1003 writefile(['one', 'two'], 'Xfile') |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1004 new Xfile |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1005 write ++enc=ucase Xfile1 |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1006 assert_equal(['ONE', 'TWO'], readfile('Xfile1')) |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1007 |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1008 delete('Xfile') |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1009 delete('Xfile1') |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1010 delete('Xconvert.vim') |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1011 bwipe! |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1012 set charconvert& |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1013 enddef |
aeadf4315bef
patch 8.2.4193: cannot use an import in 'charconvert'
Bram Moolenaar <Bram@vim.org>
parents:
27328
diff
changeset
|
1014 |
27338
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1015 func Test_import_in_spellsuggest_expr() |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1016 CheckFeature spell |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1017 call Run_Test_import_in_spellsuggest_expr() |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1018 endfunc |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1019 |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1020 def Run_Test_import_in_spellsuggest_expr() |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1021 var lines =<< trim END |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1022 vim9script |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1023 export def MySuggest(): list<any> |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1024 return [['Fox', 8], ['Fop', 9]] |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1025 enddef |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1026 END |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1027 writefile(lines, 'Xsuggest.vim') |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1028 |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1029 lines =<< trim END |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1030 vim9script |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1031 import './Xsuggest.vim' as sugg |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1032 set spell spellsuggest=expr:sugg.MySuggest() |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1033 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1034 v9.CheckScriptSuccess(lines) |
27338
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1035 |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1036 set verbose=1 # report errors |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1037 call assert_equal(['Fox', 'Fop'], spellsuggest('Fo', 2)) |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1038 |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1039 delete('Xsuggest.vim') |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1040 set nospell spellsuggest& verbose=0 |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1041 enddef |
c62006deb5c1
patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Bram Moolenaar <Bram@vim.org>
parents:
27330
diff
changeset
|
1042 |
27348
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1043 def Test_export_shadows_global_function() |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1044 mkdir('Xdir/autoload', 'p') |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1045 var save_rtp = &rtp |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1046 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1047 |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1048 var lines =<< trim END |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1049 vim9script |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1050 export def Shadow(): string |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1051 return 'Shadow()' |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1052 enddef |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1053 END |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1054 writefile(lines, 'Xdir/autoload/shadow.vim') |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1055 |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1056 lines =<< trim END |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1057 vim9script |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1058 |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1059 def g:Shadow(): string |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1060 return 'global' |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1061 enddef |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1062 |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1063 import autoload 'shadow.vim' |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1064 assert_equal('Shadow()', shadow.Shadow()) |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1065 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1066 v9.CheckScriptSuccess(lines) |
27348
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1067 |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1068 delfunc g:Shadow |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1069 bwipe! |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1070 delete('Xdir', 'rf') |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1071 &rtp = save_rtp |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1072 enddef |
9a9c34c84cd4
patch 8.2.4202: Vim9: cannot export function that exists globally
Bram Moolenaar <Bram@vim.org>
parents:
27344
diff
changeset
|
1073 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1074 def Test_export_fails() |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1075 v9.CheckScriptFailure(['export var some = 123'], 'E1042:') |
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1076 v9.CheckScriptFailure(['vim9script', 'export var g:some'], 'E1022:') |
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1077 v9.CheckScriptFailure(['vim9script', 'export echo 134'], 'E1043:') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1078 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1079 assert_fails('export something', 'E1043:') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1080 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1081 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1082 func Test_import_fails_without_script() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1083 CheckRunVimInTerminal |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1084 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1085 " call indirectly to avoid compilation error for missing functions |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1086 call Run_Test_import_fails_on_command_line() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1087 endfunc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1088 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1089 def Run_Test_import_fails_on_command_line() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1090 var export =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1091 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1092 export def Foo(): number |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1093 return 0 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1094 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1095 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1096 writefile(export, 'XexportCmd.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1097 |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1098 var buf = g:RunVimInTerminal('-c "import Foo from ''./XexportCmd.vim''"', { |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1099 rows: 6, wait_for_ruler: 0}) |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1100 g:WaitForAssert(() => assert_match('^E1094:', term_getline(buf, 5))) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1101 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1102 delete('XexportCmd.vim') |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1103 g:StopVimInTerminal(buf) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1104 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1105 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1106 def Test_vim9_reload_noclear() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1107 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1108 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1109 export var exported = 'thexport' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1110 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1111 export def TheFunc(x = 0) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1112 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1113 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1114 writefile(lines, 'XExportReload') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1115 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1116 vim9script noclear |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1117 g:loadCount += 1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1118 var s:reloaded = 'init' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1119 import './XExportReload' as exp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1120 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1121 def Again(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1122 return 'again' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1123 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1124 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1125 exp.TheFunc() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1126 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1127 if exists('s:loaded') | finish | endif |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1128 var s:loaded = true |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1129 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1130 var s:notReloaded = 'yes' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1131 s:reloaded = 'first' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1132 def g:Values(): list<string> |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1133 return [s:reloaded, s:notReloaded, Again(), Once(), exp.exported] |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1134 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1135 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1136 def Once(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1137 return 'once' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1138 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1139 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1140 writefile(lines, 'XReloaded') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1141 g:loadCount = 0 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1142 source XReloaded |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1143 assert_equal(1, g:loadCount) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1144 assert_equal(['first', 'yes', 'again', 'once', 'thexport'], g:Values()) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1145 source XReloaded |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1146 assert_equal(2, g:loadCount) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1147 assert_equal(['init', 'yes', 'again', 'once', 'thexport'], g:Values()) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1148 source XReloaded |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1149 assert_equal(3, g:loadCount) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1150 assert_equal(['init', 'yes', 'again', 'once', 'thexport'], g:Values()) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1151 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1152 delete('XReloaded') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1153 delete('XExportReload') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1154 delfunc g:Values |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1155 unlet g:loadCount |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1156 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1157 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1158 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1159 def Inner() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1160 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1161 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1162 lines->writefile('XreloadScript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1163 source XreloadScript.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1164 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1165 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1166 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1167 def Outer() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1168 def Inner() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1169 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1170 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1171 defcompile |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1172 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1173 lines->writefile('XreloadScript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1174 source XreloadScript.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1175 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1176 delete('XreloadScript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1177 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1178 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1179 def Test_vim9_reload_import() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1180 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1181 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1182 const var = '' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1183 var valone = 1234 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1184 def MyFunc(arg: string) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1185 valone = 5678 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1186 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1187 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1188 var morelines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1189 var valtwo = 222 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1190 export def GetValtwo(): number |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1191 return valtwo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1192 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1193 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1194 writefile(lines + morelines, 'Xreload.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1195 source Xreload.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1196 source Xreload.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1197 source Xreload.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1198 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1199 # cannot declare a var twice |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1200 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1201 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1202 var valone = 1234 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1203 var valone = 5678 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1204 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1205 writefile(lines, 'Xreload.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1206 assert_fails('source Xreload.vim', 'E1041:', '', 3, 'Xreload.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1207 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1208 delete('Xreload.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1209 delete('Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1210 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1211 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1212 " if a script is reloaded with a script-local variable that changed its type, a |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1213 " compiled function using that variable must fail. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1214 def Test_script_reload_change_type() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1215 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1216 vim9script noclear |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1217 var str = 'string' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1218 def g:GetStr(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1219 return str .. 'xxx' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1220 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1221 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1222 writefile(lines, 'Xreload.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1223 source Xreload.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1224 echo g:GetStr() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1225 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1226 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1227 vim9script noclear |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1228 var str = 1234 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1229 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1230 writefile(lines, 'Xreload.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1231 source Xreload.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1232 assert_fails('echo g:GetStr()', 'E1150:') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1233 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1234 delfunc g:GetStr |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1235 delete('Xreload.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1236 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1237 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1238 " Define CallFunc so that the test can be compiled |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1239 command CallFunc echo 'nop' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1240 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1241 def Test_script_reload_from_function() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1242 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1243 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1244 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1245 if exists('g:loaded') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1246 finish |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1247 endif |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1248 g:loaded = 1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1249 delcommand CallFunc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1250 command CallFunc Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1251 def Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1252 so XreloadFunc.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1253 g:didTheFunc = 1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1254 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1255 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1256 writefile(lines, 'XreloadFunc.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1257 source XreloadFunc.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1258 CallFunc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1259 assert_equal(1, g:didTheFunc) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1260 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1261 delete('XreloadFunc.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1262 delcommand CallFunc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1263 unlet g:loaded |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1264 unlet g:didTheFunc |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1265 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1266 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1267 def s:RetSome(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1268 return 'some' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1269 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1270 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1271 " Not exported function that is referenced needs to be accessed by the |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1272 " script-local name. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1273 def Test_vim9_funcref() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1274 var sortlines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1275 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1276 def Compare(i1: number, i2: number): number |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1277 return i2 - i1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1278 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1279 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1280 export def FastSort(): list<number> |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1281 return range(5)->sort(Compare) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1282 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1283 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1284 export def GetString(arg: string): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1285 return arg |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1286 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1287 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1288 writefile(sortlines, 'Xsort.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1289 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1290 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1291 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1292 import './Xsort.vim' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1293 def Test() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1294 g:result = Xsort.FastSort() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1295 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1296 Test() |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
1297 END |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
1298 writefile(lines, 'Xscript.vim') |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
1299 source Xscript.vim |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
1300 assert_equal([4, 3, 2, 1, 0], g:result) |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
1301 unlet g:result |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1302 |
27030
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
1303 lines =<< trim END |
c8809b8d19de
patch 8.2.4044: Vim9: no error when importing the same script twice
Bram Moolenaar <Bram@vim.org>
parents:
27014
diff
changeset
|
1304 vim9script |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1305 # using a function imported with "as" |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1306 import './Xsort.vim' as anAlias |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1307 assert_equal('yes', anAlias.GetString('yes')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1308 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1309 # using the function from a compiled function |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1310 def TestMore(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1311 var s = s:anAlias.GetString('foo') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1312 return s .. anAlias.GetString('bar') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1313 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1314 assert_equal('foobar', TestMore()) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1315 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1316 # error when using a function that isn't exported |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1317 assert_fails('anAlias.Compare(1, 2)', 'E1049:') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1318 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1319 writefile(lines, 'Xscript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1320 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1321 delete('Xsort.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1322 delete('Xscript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1323 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1324 var Funcref = function('s:RetSome') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1325 assert_equal('some', Funcref()) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1326 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1327 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1328 " Check that when searching for "FilterFunc" it finds the import in the |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1329 " script where FastFilter() is called from, both as a string and as a direct |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1330 " function reference. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1331 def Test_vim9_funcref_other_script() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1332 var filterLines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1333 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1334 export def FilterFunc(idx: number, val: number): bool |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1335 return idx % 2 == 1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1336 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1337 export def FastFilter(): list<number> |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1338 return range(10)->filter('FilterFunc(v:key, v:val)') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1339 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1340 export def FastFilterDirect(): list<number> |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1341 return range(10)->filter(FilterFunc) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1342 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1343 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1344 writefile(filterLines, 'Xfilter.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1345 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1346 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1347 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1348 import './Xfilter.vim' as filter |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1349 def Test() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1350 var x: list<number> = filter.FastFilter() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1351 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1352 Test() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1353 def TestDirect() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1354 var x: list<number> = filter.FastFilterDirect() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1355 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1356 TestDirect() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1357 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1358 v9.CheckScriptSuccess(lines) |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1359 delete('Xfilter.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1360 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1361 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1362 def Test_import_absolute() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1363 var import_lines = [ |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1364 'vim9script', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1365 'import "' .. escape(getcwd(), '\') .. '/Xexport_abs.vim" as abs', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1366 'def UseExported()', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1367 ' g:imported_abs = abs.exported', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1368 ' abs.exported = 8888', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1369 ' g:imported_after = abs.exported', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1370 'enddef', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1371 'UseExported()', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1372 'g:import_disassembled = execute("disass UseExported")', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1373 ] |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1374 writefile(import_lines, 'Ximport_abs.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1375 writefile(s:export_script_lines, 'Xexport_abs.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1376 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1377 source Ximport_abs.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1378 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1379 assert_equal(9876, g:imported_abs) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1380 assert_equal(8888, g:imported_after) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1381 assert_match('<SNR>\d\+_UseExported\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1382 'g:imported_abs = abs.exported\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1383 '0 LOADSCRIPT exported-2 from .*Xexport_abs.vim\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1384 '1 STOREG g:imported_abs\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1385 'abs.exported = 8888\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1386 '2 PUSHNR 8888\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1387 '3 STORESCRIPT exported-2 in .*Xexport_abs.vim\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1388 'g:imported_after = abs.exported\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1389 '4 LOADSCRIPT exported-2 from .*Xexport_abs.vim\_s*' .. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1390 '5 STOREG g:imported_after', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1391 g:import_disassembled) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1392 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1393 Undo_export_script_lines() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1394 unlet g:imported_abs |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1395 unlet g:import_disassembled |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1396 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1397 delete('Ximport_abs.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1398 delete('Xexport_abs.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1399 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1400 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1401 def Test_import_rtp() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1402 var import_lines = [ |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1403 'vim9script', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1404 'import "Xexport_rtp.vim" as rtp', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1405 'g:imported_rtp = rtp.exported', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1406 ] |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1407 writefile(import_lines, 'Ximport_rtp.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1408 mkdir('import', 'p') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1409 writefile(s:export_script_lines, 'import/Xexport_rtp.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1410 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1411 var save_rtp = &rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1412 &rtp = getcwd() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1413 source Ximport_rtp.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1414 &rtp = save_rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1415 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1416 assert_equal(9876, g:imported_rtp) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1417 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1418 Undo_export_script_lines() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1419 unlet g:imported_rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1420 delete('Ximport_rtp.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1421 delete('import', 'rf') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1422 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1423 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1424 def Test_import_compile_error() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1425 var export_lines = [ |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1426 'vim9script', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1427 'export def ExpFunc(): string', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1428 ' return notDefined', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1429 'enddef', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1430 ] |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1431 writefile(export_lines, 'Xexported.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1432 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1433 var import_lines = [ |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1434 'vim9script', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1435 'import "./Xexported.vim" as expo', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1436 'def ImpFunc()', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1437 ' echo expo.ExpFunc()', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1438 'enddef', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1439 'defcompile', |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1440 ] |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1441 writefile(import_lines, 'Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1442 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1443 try |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1444 source Ximport.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1445 catch /E1001/ |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1446 # Error should be before the Xexported.vim file. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1447 assert_match('E1001: Variable not found: notDefined', v:exception) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1448 assert_match('function <SNR>\d\+_ImpFunc\[1\]..<SNR>\d\+_ExpFunc, line 1', v:throwpoint) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1449 endtry |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1450 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1451 delete('Xexported.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1452 delete('Ximport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1453 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1454 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1455 def Test_func_overrules_import_fails() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1456 var export_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1457 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1458 export def Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1459 echo 'imported' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1460 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1461 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1462 writefile(export_lines, 'XexportedFunc.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1463 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1464 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1465 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1466 import './XexportedFunc.vim' as Func |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1467 def Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1468 echo 'local to function' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1469 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1470 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1471 v9.CheckScriptFailure(lines, 'E1213: Redefining imported item "Func"') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1472 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1473 lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1474 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1475 import './XexportedFunc.vim' as Func |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1476 def Outer() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1477 def Func() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1478 echo 'local to function' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1479 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1480 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1481 defcompile |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1482 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1483 v9.CheckScriptFailure(lines, 'E1236:') |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1484 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1485 delete('XexportedFunc.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1486 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1487 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1488 def Test_source_vim9_from_legacy() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1489 var vim9_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1490 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1491 var local = 'local' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1492 g:global = 'global' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1493 export var exported = 'exported' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1494 export def GetText(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1495 return 'text' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1496 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1497 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1498 writefile(vim9_lines, 'Xvim9_script.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1499 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1500 var legacy_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1501 source Xvim9_script.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1502 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1503 call assert_false(exists('local')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1504 call assert_false(exists('exported')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1505 call assert_false(exists('s:exported')) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1506 call assert_equal('global', global) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1507 call assert_equal('global', g:global) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1508 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1509 writefile(legacy_lines, 'Xlegacy_script.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1510 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1511 source Xlegacy_script.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1512 assert_equal('global', g:global) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1513 unlet g:global |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1514 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1515 delete('Xlegacy_script.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1516 delete('Xvim9_script.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1517 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1518 |
27112
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1519 def Test_import_vim9_from_legacy() |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1520 var vim9_lines =<< trim END |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1521 vim9script |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1522 var local = 'local' |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1523 g:global = 'global' |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1524 export var exported = 'exported' |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1525 export def GetText(): string |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1526 return 'text' |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1527 enddef |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1528 END |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1529 writefile(vim9_lines, 'Xvim9_export.vim') |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1530 |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1531 var legacy_lines =<< trim END |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1532 import './Xvim9_export.vim' as vim9 |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1533 |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1534 call assert_false(exists('vim9')) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1535 call assert_false(exists('local')) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1536 call assert_false(exists('s:vim9.local')) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1537 call assert_equal('global', global) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1538 call assert_equal('global', g:global) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1539 call assert_false(exists('exported')) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1540 call assert_false(exists('s:exported')) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1541 call assert_false(exists('*GetText')) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1542 |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1543 " imported symbol is script-local |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1544 call assert_equal('exported', s:vim9.exported) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1545 call assert_equal('text', s:vim9.GetText()) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1546 END |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1547 writefile(legacy_lines, 'Xlegacy_script.vim') |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1548 |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1549 source Xlegacy_script.vim |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1550 assert_equal('global', g:global) |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1551 unlet g:global |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1552 |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1553 delete('Xlegacy_script.vim') |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1554 delete('Xvim9_export.vim') |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1555 enddef |
60df9f2679a6
patch 8.2.4085: Vim9: no test for using import in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
27108
diff
changeset
|
1556 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1557 def Test_cmdline_win() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1558 # if the Vim syntax highlighting uses Vim9 constructs they can be used from |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1559 # the command line window. |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1560 mkdir('rtp/syntax', 'p') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1561 var export_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1562 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1563 export var That = 'yes' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1564 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1565 writefile(export_lines, 'rtp/syntax/Xexport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1566 var import_lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1567 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1568 import './Xexport.vim' as exp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1569 echo exp.That |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1570 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1571 writefile(import_lines, 'rtp/syntax/vim.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1572 var save_rtp = &rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1573 &rtp = getcwd() .. '/rtp' .. ',' .. &rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1574 syntax on |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1575 augroup CmdWin |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1576 autocmd CmdwinEnter * g:got_there = 'yes' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1577 augroup END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1578 # this will open and also close the cmdline window |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1579 feedkeys('q:', 'xt') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1580 assert_equal('yes', g:got_there) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1581 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1582 augroup CmdWin |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1583 au! |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1584 augroup END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1585 &rtp = save_rtp |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1586 delete('rtp', 'rf') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1587 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1588 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1589 def Test_import_gone_when_sourced_twice() |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1590 var exportlines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1591 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1592 if exists('g:guard') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1593 finish |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1594 endif |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1595 g:guard = 1 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1596 export var name = 'someName' |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1597 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1598 writefile(exportlines, 'XexportScript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1599 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1600 var lines =<< trim END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1601 vim9script |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1602 import './XexportScript.vim' as expo |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1603 def g:GetName(): string |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1604 return expo.name |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1605 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1606 END |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1607 writefile(lines, 'XscriptImport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1608 so XscriptImport.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1609 assert_equal('someName', g:GetName()) |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1610 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1611 so XexportScript.vim |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1612 assert_fails('call g:GetName()', 'E1149:') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1613 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1614 delfunc g:GetName |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1615 delete('XexportScript.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1616 delete('XscriptImport.vim') |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1617 unlet g:guard |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1618 enddef |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1619 |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1620 " test using an auto-loaded function and variable |
27108
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1621 def Test_vim9_autoload_full_name() |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1622 var lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1623 vim9script |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
1624 export def Gettest(): string |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1625 return 'test' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1626 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1627 g:some#name = 'name' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1628 g:some#dict = {key: 'value'} |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1629 |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
1630 export def Varargs(a1: string, ...l: list<string>): string |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1631 return a1 .. l[0] .. l[1] |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1632 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1633 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1634 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1635 mkdir('Xdir/autoload', 'p') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1636 writefile(lines, 'Xdir/autoload/some.vim') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1637 var save_rtp = &rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1638 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1639 |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
1640 assert_equal('test', g:some#Gettest()) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1641 assert_equal('name', g:some#name) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1642 assert_equal('value', g:some#dict.key) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1643 g:some#other = 'other' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1644 assert_equal('other', g:some#other) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1645 |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
1646 assert_equal('abc', some#Varargs('a', 'b', 'c')) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1647 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1648 # upper case script name works |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1649 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1650 vim9script |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
1651 export def GetOther(): string |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1652 return 'other' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1653 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1654 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1655 writefile(lines, 'Xdir/autoload/Other.vim') |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
1656 assert_equal('other', g:Other#GetOther()) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1657 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1658 delete('Xdir', 'rf') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1659 &rtp = save_rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1660 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1661 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1662 def Test_vim9script_autoload() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1663 mkdir('Xdir/autoload', 'p') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1664 var save_rtp = &rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1665 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1666 |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
1667 # when the path has "/autoload/" prefix is not needed |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1668 var lines =<< trim END |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
1669 vim9script |
27074
19fefc42a063
patch 8.2.4066: Vim9: imported autoload script loaded again
Bram Moolenaar <Bram@vim.org>
parents:
27068
diff
changeset
|
1670 g:prefixed_loaded += 1 |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1671 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1672 export def Gettest(): string |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1673 return 'test' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1674 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1675 |
27108
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1676 export var name = 'name' |
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1677 |
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1678 export func GetFunc() |
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1679 return Gettest() .. 'more' .. s:name |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1680 endfunc |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1681 |
27108
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1682 export def GetDef(): string |
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1683 return Gettest() .. 'more' .. name |
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1684 enddef |
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1685 |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1686 export final fname = 'final' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1687 export const cname = 'const' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1688 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1689 writefile(lines, 'Xdir/autoload/prefixed.vim') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1690 |
27074
19fefc42a063
patch 8.2.4066: Vim9: imported autoload script loaded again
Bram Moolenaar <Bram@vim.org>
parents:
27068
diff
changeset
|
1691 g:prefixed_loaded = 0 |
19fefc42a063
patch 8.2.4066: Vim9: imported autoload script loaded again
Bram Moolenaar <Bram@vim.org>
parents:
27068
diff
changeset
|
1692 g:expected_loaded = 0 |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1693 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1694 vim9script |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1695 import autoload 'prefixed.vim' |
27074
19fefc42a063
patch 8.2.4066: Vim9: imported autoload script loaded again
Bram Moolenaar <Bram@vim.org>
parents:
27068
diff
changeset
|
1696 assert_equal(g:expected_loaded, g:prefixed_loaded) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1697 assert_equal('test', prefixed.Gettest()) |
27074
19fefc42a063
patch 8.2.4066: Vim9: imported autoload script loaded again
Bram Moolenaar <Bram@vim.org>
parents:
27068
diff
changeset
|
1698 assert_equal(1, g:prefixed_loaded) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1699 |
27108
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1700 assert_equal('testmorename', prefixed.GetFunc()) |
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1701 assert_equal('testmorename', prefixed.GetDef()) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1702 assert_equal('name', prefixed.name) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1703 assert_equal('final', prefixed.fname) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1704 assert_equal('const', prefixed.cname) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1705 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1706 v9.CheckScriptSuccess(lines) |
27074
19fefc42a063
patch 8.2.4066: Vim9: imported autoload script loaded again
Bram Moolenaar <Bram@vim.org>
parents:
27068
diff
changeset
|
1707 # can source it again, autoload script not loaded again |
19fefc42a063
patch 8.2.4066: Vim9: imported autoload script loaded again
Bram Moolenaar <Bram@vim.org>
parents:
27068
diff
changeset
|
1708 g:expected_loaded = 1 |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1709 v9.CheckScriptSuccess(lines) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1710 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1711 # can also get the items by autoload name |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1712 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1713 call assert_equal('test', prefixed#Gettest()) |
27108
92e2e96ff559
patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Bram Moolenaar <Bram@vim.org>
parents:
27106
diff
changeset
|
1714 call assert_equal('testmorename', prefixed#GetFunc()) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1715 call assert_equal('name', prefixed#name) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1716 call assert_equal('final', prefixed#fname) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1717 call assert_equal('const', prefixed#cname) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1718 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1719 v9.CheckScriptSuccess(lines) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1720 |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1721 unlet g:prefixed_loaded |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1722 unlet g:expected_loaded |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1723 delete('Xdir', 'rf') |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1724 &rtp = save_rtp |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1725 enddef |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1726 |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1727 def Test_import_autoload_not_exported() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1728 mkdir('Xdir/autoload', 'p') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1729 var save_rtp = &rtp |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1730 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1731 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1732 # error when using an item that is not exported from an autoload script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1733 var exportLines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1734 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1735 var notExported = 123 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1736 def NotExport() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1737 echo 'nop' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1738 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1739 END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1740 writefile(exportLines, 'Xdir/autoload/notExport1.vim') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1741 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1742 var lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1743 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1744 import autoload 'notExport1.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1745 echo notExport1.notFound |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1746 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1747 v9.CheckScriptFailure(lines, 'E1048: Item not found in script: notFound') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1748 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1749 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1750 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1751 import autoload 'notExport1.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1752 echo notExport1.notExported |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1753 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1754 v9.CheckScriptFailure(lines, 'E1049: Item not exported in script: notExported') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1755 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1756 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1757 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1758 import autoload 'notExport1.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1759 echo notExport1.NotFunc() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1760 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1761 v9.CheckScriptFailure(lines, 'E1048: Item not found in script: NotFunc') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1762 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1763 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1764 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1765 import autoload 'notExport1.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1766 echo notExport1.NotExport() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1767 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1768 v9.CheckScriptFailure(lines, 'E1049: Item not exported in script: NotExport') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1769 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1770 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1771 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1772 import autoload 'notExport1.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1773 echo 'text'->notExport1.NotFunc() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1774 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1775 v9.CheckScriptFailure(lines, 'E1048: Item not found in script: NotFunc') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1776 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1777 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1778 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1779 import autoload 'notExport1.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1780 echo 'text'->notExport1.NotExport() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1781 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1782 v9.CheckScriptFailure(lines, 'E1049: Item not exported in script: NotExport') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1783 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1784 # using a :def function we use a different autoload script every time so that |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1785 # the function is compiled without the script loaded |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1786 writefile(exportLines, 'Xdir/autoload/notExport2.vim') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1787 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1788 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1789 import autoload 'notExport2.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1790 def Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1791 echo notExport2.notFound |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1792 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1793 Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1794 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1795 v9.CheckScriptFailure(lines, 'E1048: Item not found in script: notExport2#notFound') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1796 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1797 writefile(exportLines, 'Xdir/autoload/notExport3.vim') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1798 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1799 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1800 import autoload 'notExport3.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1801 def Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1802 echo notExport3.notExported |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1803 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1804 Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1805 END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1806 # don't get E1049 because it is too complicated to figure out |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1807 v9.CheckScriptFailure(lines, 'E1048: Item not found in script: notExport3#notExported') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1808 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1809 writefile(exportLines, 'Xdir/autoload/notExport4.vim') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1810 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1811 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1812 import autoload 'notExport4.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1813 def Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1814 echo notExport4.NotFunc() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1815 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1816 Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1817 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1818 v9.CheckScriptFailure(lines, 'E117: Unknown function: notExport4#NotFunc') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1819 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1820 writefile(exportLines, 'Xdir/autoload/notExport5.vim') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1821 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1822 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1823 import autoload 'notExport5.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1824 def Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1825 echo notExport5.NotExport() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1826 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1827 Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1828 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1829 v9.CheckScriptFailure(lines, 'E117: Unknown function: notExport5#NotExport') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1830 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1831 writefile(exportLines, 'Xdir/autoload/notExport6.vim') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1832 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1833 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1834 import autoload 'notExport6.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1835 def Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1836 echo 'text'->notExport6.NotFunc() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1837 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1838 Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1839 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1840 v9.CheckScriptFailure(lines, 'E117: Unknown function: notExport6#NotFunc') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1841 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1842 writefile(exportLines, 'Xdir/autoload/notExport7.vim') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1843 lines =<< trim END |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1844 vim9script |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1845 import autoload 'notExport7.vim' |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1846 def Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1847 echo 'text'->notExport7.NotExport() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1848 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1849 Testit() |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1850 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1851 v9.CheckScriptFailure(lines, 'E117: Unknown function: notExport7#NotExport') |
27217
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1852 |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1853 delete('Xdir', 'rf') |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1854 &rtp = save_rtp |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1855 enddef |
facb54d20a50
patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27215
diff
changeset
|
1856 |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1857 def Test_vim9script_autoload_call() |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1858 mkdir('Xdir/autoload', 'p') |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1859 var save_rtp = &rtp |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1860 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1861 |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1862 var lines =<< trim END |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
1863 vim9script |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1864 |
27205
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1865 export def RetArg(arg: string): string |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1866 return arg |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1867 enddef |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1868 |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1869 export def Getother() |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1870 g:result = 'other' |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1871 enddef |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1872 END |
27080
9897dd3c6530
patch 8.2.4069: Vim9: import test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
27076
diff
changeset
|
1873 writefile(lines, 'Xdir/autoload/another.vim') |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1874 |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1875 lines =<< trim END |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1876 vim9script |
27080
9897dd3c6530
patch 8.2.4069: Vim9: import test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
27076
diff
changeset
|
1877 import autoload 'another.vim' |
27205
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1878 |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1879 # compile this before 'another.vim' is loaded |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1880 def CallAnother() |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1881 assert_equal('foo', 'foo'->another.RetArg()) |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1882 enddef |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1883 CallAnother() |
6c177a9b436e
patch 8.2.4131: Vim9: calling function in autoload import does not work
Bram Moolenaar <Bram@vim.org>
parents:
27189
diff
changeset
|
1884 |
27080
9897dd3c6530
patch 8.2.4069: Vim9: import test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
27076
diff
changeset
|
1885 call another.Getother() |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1886 assert_equal('other', g:result) |
27295
69aa20a6e7ae
patch 8.2.4176: Vim9: cannot use imported function with call()
Bram Moolenaar <Bram@vim.org>
parents:
27291
diff
changeset
|
1887 |
69aa20a6e7ae
patch 8.2.4176: Vim9: cannot use imported function with call()
Bram Moolenaar <Bram@vim.org>
parents:
27291
diff
changeset
|
1888 assert_equal('arg', call('another.RetArg', ['arg'])) |
27563
a54064e14114
patch 8.2.4308: Vim9: cannot list autoload function
Bram Moolenaar <Bram@vim.org>
parents:
27499
diff
changeset
|
1889 |
a54064e14114
patch 8.2.4308: Vim9: cannot list autoload function
Bram Moolenaar <Bram@vim.org>
parents:
27499
diff
changeset
|
1890 verbose function another.Getother |
a54064e14114
patch 8.2.4308: Vim9: cannot list autoload function
Bram Moolenaar <Bram@vim.org>
parents:
27499
diff
changeset
|
1891 # should we disallow this? |
a54064e14114
patch 8.2.4308: Vim9: cannot list autoload function
Bram Moolenaar <Bram@vim.org>
parents:
27499
diff
changeset
|
1892 verbose function another#Getother |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1893 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
1894 v9.CheckScriptSuccess(lines) |
27076
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1895 |
ceff6a546748
patch 8.2.4067: Vim9: cannot call imported function with :call
Bram Moolenaar <Bram@vim.org>
parents:
27074
diff
changeset
|
1896 unlet g:result |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1897 delete('Xdir', 'rf') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1898 &rtp = save_rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1899 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
1900 |
27297
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1901 def Test_vim9script_noclear_autoload() |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1902 mkdir('Xdir/autoload', 'p') |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1903 var save_rtp = &rtp |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1904 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1905 |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1906 var lines =<< trim END |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1907 vim9script |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1908 export def Func(): string |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1909 return 'called' |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1910 enddef |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1911 g:double_loaded = 'yes' |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1912 END |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1913 writefile(lines, 'Xdir/autoload/double.vim') |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1914 |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1915 lines =<< trim END |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1916 vim9script noclear |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1917 if exists('g:script_loaded') |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1918 finish |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1919 endif |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1920 g:script_loaded = true |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1921 |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1922 import autoload 'double.vim' |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1923 nnoremap <F3> <ScriptCmd>g:result = double.Func()<CR> |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1924 END |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1925 g:double_loaded = 'no' |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1926 writefile(lines, 'Xloaddouble') |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1927 source Xloaddouble |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1928 assert_equal('no', g:double_loaded) |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1929 assert_equal(true, g:script_loaded) |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1930 source Xloaddouble |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1931 feedkeys("\<F3>", 'xt') |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1932 assert_equal('called', g:result) |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1933 assert_equal('yes', g:double_loaded) |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1934 |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1935 delete('Xloaddouble') |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1936 unlet g:double_loaded |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1937 unlet g:script_loaded |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1938 unlet g:result |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1939 delete('Xdir', 'rf') |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1940 &rtp = save_rtp |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1941 enddef |
f7cb41ff22a4
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Bram Moolenaar <Bram@vim.org>
parents:
27295
diff
changeset
|
1942 |
27267
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1943 def Test_vim9script_autoload_duplicate() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1944 mkdir('Xdir/autoload', 'p') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1945 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1946 var lines =<< trim END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1947 vim9script |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1948 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1949 export def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1950 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1951 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1952 def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1953 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1954 END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1955 writefile(lines, 'Xdir/autoload/dupfunc.vim') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1956 assert_fails('source Xdir/autoload/dupfunc.vim', 'E1073:') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1957 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1958 lines =<< trim END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1959 vim9script |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1960 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1961 def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1962 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1963 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1964 export def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1965 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1966 END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1967 writefile(lines, 'Xdir/autoload/dup2func.vim') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1968 assert_fails('source Xdir/autoload/dup2func.vim', 'E1073:') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1969 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1970 lines =<< trim END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1971 vim9script |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1972 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1973 def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1974 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1975 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1976 export var Func = 'asdf' |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1977 END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1978 writefile(lines, 'Xdir/autoload/dup3func.vim') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1979 assert_fails('source Xdir/autoload/dup3func.vim', 'E1041: Redefining script item Func') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1980 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1981 lines =<< trim END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1982 vim9script |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1983 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1984 export var Func = 'asdf' |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1985 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1986 def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1987 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1988 END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1989 writefile(lines, 'Xdir/autoload/dup4func.vim') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1990 assert_fails('source Xdir/autoload/dup4func.vim', 'E707:') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1991 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1992 lines =<< trim END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1993 vim9script |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1994 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1995 var Func = 'asdf' |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1996 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1997 export def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1998 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
1999 END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2000 writefile(lines, 'Xdir/autoload/dup5func.vim') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2001 assert_fails('source Xdir/autoload/dup5func.vim', 'E707:') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2002 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2003 lines =<< trim END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2004 vim9script |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2005 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2006 export def Func() |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2007 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2008 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2009 var Func = 'asdf' |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2010 END |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2011 writefile(lines, 'Xdir/autoload/dup6func.vim') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2012 assert_fails('source Xdir/autoload/dup6func.vim', 'E1041: Redefining script item Func') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2013 |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2014 delete('Xdir', 'rf') |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2015 enddef |
322b79b002b7
patch 8.2.4162: Vim9: no error for redefining function with export
Bram Moolenaar <Bram@vim.org>
parents:
27265
diff
changeset
|
2016 |
27269
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2017 def Test_autoload_missing_function_name() |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2018 mkdir('Xdir/autoload', 'p') |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2019 |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2020 var lines =<< trim END |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2021 vim9script |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2022 |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2023 def loadme#() |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2024 enddef |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2025 END |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2026 writefile(lines, 'Xdir/autoload/loadme.vim') |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2027 assert_fails('source Xdir/autoload/loadme.vim', 'E129:') |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2028 |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2029 delete('Xdir', 'rf') |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2030 enddef |
24da57a079ef
patch 8.2.4163: no error for omitting function name after autoload prefix
Bram Moolenaar <Bram@vim.org>
parents:
27267
diff
changeset
|
2031 |
27464
a14c4d3e3260
patch 8.2.4260: Vim9: can still use a global function without g:
Bram Moolenaar <Bram@vim.org>
parents:
27457
diff
changeset
|
2032 def Test_autoload_name_wrong() |
27291
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2033 var lines =<< trim END |
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2034 def Xscriptname#Func() |
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2035 enddef |
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2036 END |
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2037 writefile(lines, 'Xscriptname.vim') |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2038 v9.CheckScriptFailure(lines, 'E746:') |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2039 delete('Xscriptname.vim') |
27291
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2040 |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2041 mkdir('Xdir/autoload', 'p') |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2042 lines =<< trim END |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2043 vim9script |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2044 def somescript#Func() |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2045 enddef |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2046 END |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2047 writefile(lines, 'Xdir/autoload/somescript.vim') |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2048 assert_fails('source Xdir/autoload/somescript.vim', 'E1263:') |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2049 |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2050 delete('Xdir', 'rf') |
27291
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2051 enddef |
0f0fa4d12303
patch 8.2.4174: Vim9: can use an autoload name in normal script
Bram Moolenaar <Bram@vim.org>
parents:
27289
diff
changeset
|
2052 |
27086
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2053 def Test_import_autoload_postponed() |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2054 mkdir('Xdir/autoload', 'p') |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2055 var save_rtp = &rtp |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2056 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2057 |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2058 var lines =<< trim END |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2059 vim9script |
27086
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2060 |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2061 g:loaded_postponed = 'true' |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2062 export var variable = 'bla' |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2063 export def Function(): string |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2064 return 'bla' |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2065 enddef |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2066 END |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2067 writefile(lines, 'Xdir/autoload/postponed.vim') |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2068 |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2069 lines =<< trim END |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2070 vim9script |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2071 |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2072 import autoload 'postponed.vim' |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2073 def Tryit() |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2074 echo postponed.variable |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2075 echo postponed.Function() |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2076 enddef |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2077 defcompile |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2078 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2079 v9.CheckScriptSuccess(lines) |
27086
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2080 assert_false(exists('g:loaded_postponed')) |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2081 v9.CheckScriptSuccess(lines + ['Tryit()']) |
27086
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2082 assert_equal('true', g:loaded_postponed) |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2083 |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2084 unlet g:loaded_postponed |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2085 delete('Xdir', 'rf') |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2086 &rtp = save_rtp |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2087 enddef |
1e2a6c6c7e42
patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Bram Moolenaar <Bram@vim.org>
parents:
27080
diff
changeset
|
2088 |
27116
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2089 def Test_import_autoload_override() |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2090 mkdir('Xdir/autoload', 'p') |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2091 var save_rtp = &rtp |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2092 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2093 test_override('autoload', 1) |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2094 |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2095 var lines =<< trim END |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2096 vim9script |
27116
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2097 |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2098 g:loaded_override = 'true' |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2099 export var variable = 'bla' |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2100 export def Function(): string |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2101 return 'bla' |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2102 enddef |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2103 END |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2104 writefile(lines, 'Xdir/autoload/override.vim') |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2105 |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2106 lines =<< trim END |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2107 vim9script |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2108 |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2109 import autoload 'override.vim' |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2110 assert_equal('true', g:loaded_override) |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2111 |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2112 def Tryit() |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2113 echo override.doesNotExist |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2114 enddef |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2115 defcompile |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2116 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2117 v9.CheckScriptFailure(lines, 'E1048: Item not found in script: doesNotExist', 1) |
27116
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2118 |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2119 test_override('autoload', 0) |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2120 unlet g:loaded_override |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2121 delete('Xdir', 'rf') |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2122 &rtp = save_rtp |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2123 enddef |
5b267700e6ab
patch 8.2.4087: cannot test items from an autoload script easily
Bram Moolenaar <Bram@vim.org>
parents:
27112
diff
changeset
|
2124 |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2125 def Test_autoload_mapping() |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2126 mkdir('Xdir/autoload', 'p') |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2127 var save_rtp = &rtp |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2128 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2129 |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2130 var lines =<< trim END |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2131 vim9script |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2132 |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2133 g:toggle_loaded = 'yes' |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2134 |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2135 export def Toggle(): string |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2136 return ":g:toggle_called = 'yes'\<CR>" |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2137 enddef |
27140
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2138 export def Doit() |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2139 g:doit_called = 'yes' |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2140 enddef |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2141 END |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2142 writefile(lines, 'Xdir/autoload/toggle.vim') |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2143 |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2144 lines =<< trim END |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2145 vim9script |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2146 |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2147 import autoload 'toggle.vim' |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2148 |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2149 nnoremap <silent> <expr> tt toggle.Toggle() |
27140
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2150 nnoremap <silent> xx <ScriptCmd>toggle.Doit()<CR> |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2151 nnoremap <silent> yy <Cmd>toggle.Doit()<CR> |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2152 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2153 v9.CheckScriptSuccess(lines) |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2154 assert_false(exists("g:toggle_loaded")) |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2155 assert_false(exists("g:toggle_called")) |
27213
42561e956a70
patch 8.2.4135: Vim9: ":scriptnames" shows unloaded imported autoload script
Bram Moolenaar <Bram@vim.org>
parents:
27207
diff
changeset
|
2156 assert_match('\d A: \f*[/\\]toggle.vim', execute('scriptnames')) |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2157 |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2158 feedkeys("tt", 'xt') |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2159 assert_equal('yes', g:toggle_loaded) |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2160 assert_equal('yes', g:toggle_called) |
27213
42561e956a70
patch 8.2.4135: Vim9: ":scriptnames" shows unloaded imported autoload script
Bram Moolenaar <Bram@vim.org>
parents:
27207
diff
changeset
|
2161 assert_match('\d: \f*[/\\]toggle.vim', execute('scriptnames')) |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2162 |
27140
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2163 feedkeys("xx", 'xt') |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2164 assert_equal('yes', g:doit_called) |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2165 |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2166 assert_fails('call feedkeys("yy", "xt")', 'E121: Undefined variable: toggle') |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2167 |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2168 nunmap tt |
27140
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2169 nunmap xx |
a9eeb18e749c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents:
27116
diff
changeset
|
2170 nunmap yy |
27061
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2171 unlet g:toggle_loaded |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2172 unlet g:toggle_called |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2173 delete('Xdir', 'rf') |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2174 &rtp = save_rtp |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2175 enddef |
1a56c0252772
patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Bram Moolenaar <Bram@vim.org>
parents:
27059
diff
changeset
|
2176 |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2177 def Test_vim9script_autoload_fails() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2178 var lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2179 vim9script autoload |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2180 var n = 0 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2181 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2182 v9.CheckScriptFailure(lines, 'E475: Invalid argument: autoload') |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2183 |
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2184 lines =<< trim END |
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2185 vim9script noclear noclear |
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2186 var n = 0 |
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2187 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2188 v9.CheckScriptFailure(lines, 'E983: Duplicate argument: noclear') |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2189 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2190 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2191 def Test_import_autoload_fails() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2192 var lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2193 vim9script |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2194 import autoload autoload 'prefixed.vim' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2195 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2196 v9.CheckScriptFailure(lines, 'E121: Undefined variable: autoload') |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2197 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2198 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2199 vim9script |
27207
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2200 import autoload './doesNotExist.vim' |
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2201 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2202 v9.CheckScriptFailure(lines, 'E1264:') |
27207
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2203 |
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2204 lines =<< trim END |
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2205 vim9script |
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2206 import autoload '/dir/doesNotExist.vim' |
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2207 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2208 v9.CheckScriptFailure(lines, 'E1264:') |
27207
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2209 |
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2210 lines =<< trim END |
7b8e2bea0ec5
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Bram Moolenaar <Bram@vim.org>
parents:
27205
diff
changeset
|
2211 vim9script |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2212 import autoload 'doesNotExist.vim' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2213 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2214 v9.CheckScriptFailure(lines, 'E1053: Could not import "doesNotExist.vim"') |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2215 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2216 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2217 " test disassembling an auto-loaded function starting with "debug" |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2218 def Test_vim9_autoload_disass() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2219 mkdir('Xdir/autoload', 'p') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2220 var save_rtp = &rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2221 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2222 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2223 var lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2224 vim9script |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2225 export def Test(): string |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2226 return 'debug' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2227 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2228 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2229 writefile(lines, 'Xdir/autoload/debugit.vim') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2230 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2231 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2232 vim9script |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2233 export def Test(): string |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2234 return 'profile' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2235 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2236 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2237 writefile(lines, 'Xdir/autoload/profileit.vim') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2238 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2239 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2240 vim9script |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2241 assert_equal('debug', debugit#Test()) |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2242 disass debugit#Test |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2243 assert_equal('profile', profileit#Test()) |
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2244 disass profileit#Test |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2245 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2246 v9.CheckScriptSuccess(lines) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2247 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2248 delete('Xdir', 'rf') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2249 &rtp = save_rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2250 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2251 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2252 " test using a vim9script that is auto-loaded from an autocmd |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2253 def Test_vim9_aucmd_autoload() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2254 var lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2255 vim9script |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2256 export def Test() |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2257 echomsg getreg('"') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2258 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2259 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2260 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2261 mkdir('Xdir/autoload', 'p') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2262 writefile(lines, 'Xdir/autoload/foo.vim') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2263 var save_rtp = &rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2264 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2265 augroup test |
27472
55613f0d59bc
patch 8.2.4264: Vim9: can use old style autoload function name
Bram Moolenaar <Bram@vim.org>
parents:
27464
diff
changeset
|
2266 autocmd TextYankPost * call foo#Test() |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2267 augroup END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2268 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2269 normal Y |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2270 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2271 augroup test |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2272 autocmd! |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2273 augroup END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2274 delete('Xdir', 'rf') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2275 &rtp = save_rtp |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2276 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2277 |
27106
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2278 " test using a autoloaded file that is case sensitive |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2279 def Test_vim9_autoload_case_sensitive() |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2280 var lines =<< trim END |
27215
5b54f413d132
patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Bram Moolenaar <Bram@vim.org>
parents:
27213
diff
changeset
|
2281 vim9script |
27106
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2282 export def CaseSensitive(): string |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2283 return 'done' |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2284 enddef |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2285 END |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2286 |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2287 mkdir('Xdir/autoload', 'p') |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2288 writefile(lines, 'Xdir/autoload/CaseSensitive.vim') |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2289 var save_rtp = &rtp |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2290 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2291 |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2292 lines =<< trim END |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2293 vim9script |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2294 import autoload 'CaseSensitive.vim' |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2295 assert_equal('done', CaseSensitive.CaseSensitive()) |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2296 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2297 v9.CheckScriptSuccess(lines) |
27106
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2298 |
27150
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2299 if !has('fname_case') |
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2300 lines =<< trim END |
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2301 vim9script |
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2302 import autoload 'CaseSensitive.vim' |
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2303 import autoload 'casesensitive.vim' |
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2304 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2305 v9.CheckScriptFailure(lines, 'E1262:') |
27150
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2306 endif |
2d0ea3f9ffe1
patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Bram Moolenaar <Bram@vim.org>
parents:
27146
diff
changeset
|
2307 |
27106
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2308 delete('Xdir', 'rf') |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2309 &rtp = save_rtp |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2310 enddef |
d7e6b85dd89d
patch 8.2.4082: check for autoload file name and prefix fails
Bram Moolenaar <Bram@vim.org>
parents:
27086
diff
changeset
|
2311 |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2312 " This was causing a crash because suppress_errthrow wasn't reset. |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2313 def Test_vim9_autoload_error() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2314 var lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2315 vim9script |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2316 def crash#func() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2317 try |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2318 for x in List() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2319 endfor |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2320 catch |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2321 endtry |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2322 g:ok = true |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2323 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2324 fu List() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2325 invalid |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2326 endfu |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2327 try |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2328 alsoinvalid |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2329 catch /wontmatch/ |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2330 endtry |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2331 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2332 call mkdir('Xruntime/autoload', 'p') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2333 call writefile(lines, 'Xruntime/autoload/crash.vim') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2334 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2335 # run in a separate Vim to avoid the side effects of assert_fails() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2336 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2337 exe 'set rtp^=' .. getcwd() .. '/Xruntime' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2338 call crash#func() |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2339 call writefile(['ok'], 'Xdidit') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2340 qall! |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2341 END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2342 writefile(lines, 'Xscript') |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2343 g:RunVim([], [], '-S Xscript') |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2344 assert_equal(['ok'], readfile('Xdidit')) |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2345 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2346 delete('Xdidit') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2347 delete('Xscript') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2348 delete('Xruntime', 'rf') |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2349 |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2350 lines =<< trim END |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2351 vim9script |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2352 var foo#bar = 'asdf' |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2353 END |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
27376
diff
changeset
|
2354 v9.CheckScriptFailure(lines, 'E461: Illegal variable name: foo#bar', 2) |
27057
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2355 enddef |
8f6cab688901
patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Bram Moolenaar <Bram@vim.org>
parents:
27030
diff
changeset
|
2356 |
27014
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2357 |
b861ae62860d
patch 8.2.4036: Vim9: script test file is getting too long
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2358 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |