Mercurial > vim
annotate src/testdir/test_partial.vim @ 21417:53ff4dfe6e11 v8.2.1259
patch 8.2.1259: empty group in 'tabline' may cause using an invalid pointer
Commit: https://github.com/vim/vim/commit/f56c95fdad5af521887f8cd7bc15729b5355231d
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jul 21 19:25:18 2020 +0200
patch 8.2.1259: empty group in 'tabline' may cause using an invalid pointer
Problem: Empty group in 'tabline' may cause using an invalid pointer.
Solution: Set the group start position. (closes https://github.com/vim/vim/issues/6505)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 21 Jul 2020 19:30:04 +0200 |
parents | 94f05de75e9f |
children | 08940efa6b4e |
rev | line source |
---|---|
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test binding arguments to a Funcref. |
9713
058e5ea0400e
commit https://github.com/vim/vim/commit/31440a1f2b6ae8a2f7ffdd4a8a3661eadc4df23c
Christian Brabandt <cb@256bit.org>
parents:
9416
diff
changeset
|
2 |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 func MyFunc(arg1, arg2, arg3) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 return a:arg1 . '/' . a:arg2 . '/' . a:arg3 |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 endfunc |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func MySort(up, one, two) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 if a:one == a:two |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 return 0 |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 endif |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 if a:up |
8546
996109e24f02
commit https://github.com/vim/vim/commit/790500a8e65bee295ef51a59dfa67ecbaab8ea17
Christian Brabandt <cb@256bit.org>
parents:
8538
diff
changeset
|
12 return a:one > a:two ? 1 : -1 |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 endif |
8546
996109e24f02
commit https://github.com/vim/vim/commit/790500a8e65bee295ef51a59dfa67ecbaab8ea17
Christian Brabandt <cb@256bit.org>
parents:
8538
diff
changeset
|
14 return a:one < a:two ? 1 : -1 |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 endfunc |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 |
9416
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
17 func MyMap(sub, index, val) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
18 return a:val - a:sub |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
19 endfunc |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
20 |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
21 func MyFilter(threshold, index, val) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
22 return a:val > a:threshold |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
23 endfunc |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
24 |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 func Test_partial_args() |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 let Cb = function('MyFunc', ["foo", "bar"]) |
8583
537bbbd4e987
commit https://github.com/vim/vim/commit/65639032bb7b17996cd255d1508a1df4ad528a1f
Christian Brabandt <cb@256bit.org>
parents:
8581
diff
changeset
|
27 |
537bbbd4e987
commit https://github.com/vim/vim/commit/65639032bb7b17996cd255d1508a1df4ad528a1f
Christian Brabandt <cb@256bit.org>
parents:
8581
diff
changeset
|
28 call Cb("zzz") |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 call assert_equal("foo/bar/xxx", Cb("xxx")) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 call assert_equal("foo/bar/yyy", call(Cb, ["yyy"])) |
8593
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
31 let Cb2 = function(Cb) |
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
32 call assert_equal("foo/bar/zzz", Cb2("zzz")) |
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
33 let Cb3 = function(Cb, ["www"]) |
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
34 call assert_equal("foo/bar/www", Cb3()) |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 |
8548
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
36 let Cb = function('MyFunc', []) |
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
37 call assert_equal("a/b/c", Cb("a", "b", "c")) |
8593
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
38 let Cb2 = function(Cb, []) |
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
39 call assert_equal("a/b/d", Cb2("a", "b", "d")) |
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
40 let Cb3 = function(Cb, ["a", "b"]) |
dc36cef103de
commit https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
Christian Brabandt <cb@256bit.org>
parents:
8591
diff
changeset
|
41 call assert_equal("a/b/e", Cb3("e")) |
8548
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
42 |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 let Sort = function('MySort', [1]) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 call assert_equal([1, 2, 3], sort([3, 1, 2], Sort)) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 let Sort = function('MySort', [0]) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 call assert_equal([3, 2, 1], sort([3, 1, 2], Sort)) |
9416
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
47 |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
48 let Map = function('MyMap', [2]) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
49 call assert_equal([-1, 0, 1], map([1, 2, 3], Map)) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
50 let Map = function('MyMap', [3]) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
51 call assert_equal([-2, -1, 0], map([1, 2, 3], Map)) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
52 |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
53 let Filter = function('MyFilter', [1]) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
54 call assert_equal([2, 3], filter([1, 2, 3], Filter)) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
55 let Filter = function('MyFilter', [2]) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
56 call assert_equal([3], filter([1, 2, 3], Filter)) |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 endfunc |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 func MyDictFunc(arg1, arg2) dict |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 return self.name . '/' . a:arg1 . '/' . a:arg2 |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 endfunc |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
63 func Test_partial_dict() |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 let dict = {'name': 'hello'} |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
65 let Cb = function('MyDictFunc', ["foo", "bar"], dict) |
20156
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
66 call test_garbagecollect_now() |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 call assert_equal("hello/foo/bar", Cb()) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
68 call assert_fails('Cb("xxx")', 'E492:') |
8548
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
69 |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
70 let Cb = function('MyDictFunc', ["foo"], dict) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 call assert_equal("hello/foo/xxx", Cb("xxx")) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 call assert_fails('Cb()', 'E492:') |
8548
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
73 |
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
74 let Cb = function('MyDictFunc', [], dict) |
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
75 call assert_equal("hello/ttt/xxx", Cb("ttt", "xxx")) |
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
76 call assert_fails('Cb("yyy")', 'E492:') |
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
77 |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
78 let Cb = function('MyDictFunc', dict) |
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
79 call assert_equal("hello/xxx/yyy", Cb("xxx", "yyy")) |
8548
24db3583c496
commit https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
Christian Brabandt <cb@256bit.org>
parents:
8546
diff
changeset
|
80 call assert_fails('Cb("fff")', 'E492:') |
8583
537bbbd4e987
commit https://github.com/vim/vim/commit/65639032bb7b17996cd255d1508a1df4ad528a1f
Christian Brabandt <cb@256bit.org>
parents:
8581
diff
changeset
|
81 |
9416
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
82 let Cb = function('MyDictFunc', dict) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
83 call assert_equal({"foo": "hello/foo/1", "bar": "hello/bar/2"}, map({"foo": 1, "bar": 2}, Cb)) |
cbf052ccb120
commit https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
Christian Brabandt <cb@256bit.org>
parents:
9183
diff
changeset
|
84 |
8583
537bbbd4e987
commit https://github.com/vim/vim/commit/65639032bb7b17996cd255d1508a1df4ad528a1f
Christian Brabandt <cb@256bit.org>
parents:
8581
diff
changeset
|
85 let dict = {"tr": function('tr', ['hello', 'h', 'H'])} |
537bbbd4e987
commit https://github.com/vim/vim/commit/65639032bb7b17996cd255d1508a1df4ad528a1f
Christian Brabandt <cb@256bit.org>
parents:
8581
diff
changeset
|
86 call assert_equal("Hello", dict.tr()) |
19783
546bdeef35f1
patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
87 |
546bdeef35f1
patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
88 call assert_fails("let F=function('setloclist', 10)", "E923:") |
546bdeef35f1
patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
89 call assert_fails("let F=function('setloclist', [], [])", "E922:") |
8538
c337c813c64d
commit https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 endfunc |
8575
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
91 |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
92 func Test_partial_implicit() |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
93 let dict = {'name': 'foo'} |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
94 func dict.MyFunc(arg) dict |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
95 return self.name . '/' . a:arg |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
96 endfunc |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
97 |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
98 call assert_equal('foo/bar', dict.MyFunc('bar')) |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
99 |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
100 call assert_fails('let func = dict.MyFunc', 'E704:') |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
101 let Func = dict.MyFunc |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
102 call assert_equal('foo/aaa', Func('aaa')) |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
103 |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
104 let Func = function(dict.MyFunc, ['bbb']) |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
105 call assert_equal('foo/bbb', Func()) |
b5209a4e5baf
commit https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
Christian Brabandt <cb@256bit.org>
parents:
8548
diff
changeset
|
106 endfunc |
8581
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
107 |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
108 fun InnerCall(funcref) |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
109 return a:funcref |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
110 endfu |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
111 |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
112 fun OuterCall() |
19249
2a017e9dc6da
patch 8.2.0183: tests fail when the float feature is disabled
Bram Moolenaar <Bram@vim.org>
parents:
17534
diff
changeset
|
113 let opt = { 'func' : function('max') } |
8581
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
114 call InnerCall(opt.func) |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
115 endfu |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
116 |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
117 func Test_function_in_dict() |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
118 call OuterCall() |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
119 endfunc |
fd454847836d
commit https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
Christian Brabandt <cb@256bit.org>
parents:
8575
diff
changeset
|
120 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
9846
diff
changeset
|
121 func s:cache_clear() dict |
8585
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
122 return self.name |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
9846
diff
changeset
|
123 endfunc |
8585
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
124 |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
125 func Test_script_function_in_dict() |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
126 let s:obj = {'name': 'foo'} |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
127 let s:obj2 = {'name': 'bar'} |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
128 |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
129 let s:obj['clear'] = function('s:cache_clear') |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
130 |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
131 call assert_equal('foo', s:obj.clear()) |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
132 let F = s:obj.clear |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
133 call assert_equal('foo', F()) |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
134 call assert_equal('foo', call(s:obj.clear, [], s:obj)) |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
135 call assert_equal('bar', call(s:obj.clear, [], s:obj2)) |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
136 |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
137 let s:obj2['clear'] = function('s:cache_clear') |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
138 call assert_equal('bar', s:obj2.clear()) |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
139 let B = s:obj2.clear |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
140 call assert_equal('bar', B()) |
ce37bbedcb65
commit https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
Christian Brabandt <cb@256bit.org>
parents:
8583
diff
changeset
|
141 endfunc |
8591
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
142 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
9846
diff
changeset
|
143 func s:cache_arg(arg) dict |
8599
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
144 let s:result = self.name . '/' . a:arg |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
145 return s:result |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
9846
diff
changeset
|
146 endfunc |
8599
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
147 |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
148 func Test_script_function_in_dict_arg() |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
149 let s:obj = {'name': 'foo'} |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
150 let s:obj['clear'] = function('s:cache_arg') |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
151 |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
152 call assert_equal('foo/bar', s:obj.clear('bar')) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
153 let F = s:obj.clear |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
154 let s:result = '' |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
155 call assert_equal('foo/bar', F('bar')) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
156 call assert_equal('foo/bar', s:result) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
157 |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
158 let s:obj['clear'] = function('s:cache_arg', ['bar']) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
159 call assert_equal('foo/bar', s:obj.clear()) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
160 let s:result = '' |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
161 call s:obj.clear() |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
162 call assert_equal('foo/bar', s:result) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
163 |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
164 let F = s:obj.clear |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
165 call assert_equal('foo/bar', F()) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
166 let s:result = '' |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
167 call F() |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
168 call assert_equal('foo/bar', s:result) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
169 |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
170 call assert_equal('foo/bar', call(s:obj.clear, [], s:obj)) |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
171 endfunc |
ddb04cbe1e0c
commit https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
Christian Brabandt <cb@256bit.org>
parents:
8593
diff
changeset
|
172 |
8591
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
173 func Test_partial_exists() |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
174 let F = function('MyFunc') |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
175 call assert_true(exists('*F')) |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
176 let lF = [F] |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
177 call assert_true(exists('*lF[0]')) |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
178 |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
179 let F = function('MyFunc', ['arg']) |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
180 call assert_true(exists('*F')) |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
181 let lF = [F] |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
182 call assert_true(exists('*lF[0]')) |
5bc958a92849
commit https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
Christian Brabandt <cb@256bit.org>
parents:
8585
diff
changeset
|
183 endfunc |
8637
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
184 |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
185 func Test_partial_string() |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
186 let F = function('MyFunc') |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
187 call assert_equal("function('MyFunc')", string(F)) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
188 let F = function('MyFunc', ['foo']) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
189 call assert_equal("function('MyFunc', ['foo'])", string(F)) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
190 let F = function('MyFunc', ['foo', 'bar']) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
191 call assert_equal("function('MyFunc', ['foo', 'bar'])", string(F)) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
192 let d = {'one': 1} |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
193 let F = function('MyFunc', d) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
194 call assert_equal("function('MyFunc', {'one': 1})", string(F)) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
195 let F = function('MyFunc', ['foo'], d) |
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
196 call assert_equal("function('MyFunc', ['foo'], {'one': 1})", string(F)) |
20158
94f05de75e9f
patch 8.2.0634: crash with null partial and blob
Bram Moolenaar <Bram@vim.org>
parents:
20156
diff
changeset
|
197 call assert_equal("function('')", string(test_null_function())) |
94f05de75e9f
patch 8.2.0634: crash with null partial and blob
Bram Moolenaar <Bram@vim.org>
parents:
20156
diff
changeset
|
198 call assert_equal("function('')", string(test_null_partial())) |
8637
ff41ece2e4b8
commit https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
Christian Brabandt <cb@256bit.org>
parents:
8599
diff
changeset
|
199 endfunc |
8698
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
200 |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
201 func Test_func_unref() |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
202 let obj = {} |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
203 function! obj.func() abort |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
204 endfunction |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
205 let funcnumber = matchstr(string(obj.func), '^function(''\zs.\{-}\ze''') |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
206 call assert_true(exists('*{' . funcnumber . '}')) |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
207 unlet obj |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
208 call assert_false(exists('*{' . funcnumber . '}')) |
13b0ed12a78a
commit https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
Christian Brabandt <cb@256bit.org>
parents:
8637
diff
changeset
|
209 endfunc |
8710
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
210 |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
211 func Test_tostring() |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
212 let d = {} |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
213 let d.d = d |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
214 function d.test3() |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
215 echo 42 |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
216 endfunction |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
217 try |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
218 call string(d.test3) |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
219 catch |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
220 call assert_true(v:false, v:exception) |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
221 endtry |
af3cb5c068fd
commit https://github.com/vim/vim/commit/24c77a1e3a2ad510582116229462b482d69b4b8e
Christian Brabandt <cb@256bit.org>
parents:
8698
diff
changeset
|
222 endfunc |
8712
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
223 |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
224 func Test_redefine_dict_func() |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
225 let d = {} |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
226 function d.test4() |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
227 endfunction |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
228 let d.test4 = d.test4 |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
229 try |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
230 function! d.test4(name) |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
231 endfunction |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
232 catch |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
233 call assert_true(v:errmsg, v:exception) |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
234 endtry |
65130a9d3386
commit https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
Christian Brabandt <cb@256bit.org>
parents:
8710
diff
changeset
|
235 endfunc |
8714
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
236 |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
237 func Test_bind_in_python() |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
238 if has('python') |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
239 let g:d = {} |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
240 function g:d.test2() |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
241 endfunction |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
242 python import vim |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
243 try |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
244 call assert_equal(pyeval('vim.bindeval("g:d.test2")'), g:d.test2) |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
245 catch |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
246 call assert_true(v:false, v:exception) |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
247 endtry |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
248 endif |
a5224eeb3546
commit https://github.com/vim/vim/commit/4c90861e9f864eab94f043c432acff508396ed62
Christian Brabandt <cb@256bit.org>
parents:
8712
diff
changeset
|
249 endfunc |
8855
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
250 |
8863
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
251 " This caused double free on exit if EXITFREE is defined. |
8855
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
252 func Test_cyclic_list_arg() |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
253 let l = [] |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
254 let Pt = function('string', [l]) |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
255 call add(l, Pt) |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
256 unlet l |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
257 unlet Pt |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
258 endfunc |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
259 |
8863
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
260 " This caused double free on exit if EXITFREE is defined. |
8855
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
261 func Test_cyclic_dict_arg() |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
262 let d = {} |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
263 let Pt = function('string', [d]) |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
264 let d.Pt = Pt |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
265 unlet d |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
266 unlet Pt |
b76195a1e38e
commit https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
Christian Brabandt <cb@256bit.org>
parents:
8714
diff
changeset
|
267 endfunc |
8863
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
268 |
9846
95ad2692dec0
commit https://github.com/vim/vim/commit/0e5d3a2940ead6c8ee3bacacea4153b647b67cca
Christian Brabandt <cb@256bit.org>
parents:
9764
diff
changeset
|
269 func Ignored3(job1, job2, status) |
8863
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
270 endfunc |
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
271 |
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
272 func Test_cycle_partial_job() |
8865
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
273 if has('job') |
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
274 let job = job_start('echo') |
9846
95ad2692dec0
commit https://github.com/vim/vim/commit/0e5d3a2940ead6c8ee3bacacea4153b647b67cca
Christian Brabandt <cb@256bit.org>
parents:
9764
diff
changeset
|
275 call job_setoptions(job, {'exit_cb': function('Ignored3', [job])}) |
8865
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
276 unlet job |
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
277 endif |
8863
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
278 endfunc |
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
279 |
9846
95ad2692dec0
commit https://github.com/vim/vim/commit/0e5d3a2940ead6c8ee3bacacea4153b647b67cca
Christian Brabandt <cb@256bit.org>
parents:
9764
diff
changeset
|
280 func Ignored2(job, status) |
95ad2692dec0
commit https://github.com/vim/vim/commit/0e5d3a2940ead6c8ee3bacacea4153b647b67cca
Christian Brabandt <cb@256bit.org>
parents:
9764
diff
changeset
|
281 endfunc |
95ad2692dec0
commit https://github.com/vim/vim/commit/0e5d3a2940ead6c8ee3bacacea4153b647b67cca
Christian Brabandt <cb@256bit.org>
parents:
9764
diff
changeset
|
282 |
8863
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
283 func Test_ref_job_partial_dict() |
8865
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
284 if has('job') |
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
285 let g:ref_job = job_start('echo') |
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
286 let d = {'a': 'b'} |
9846
95ad2692dec0
commit https://github.com/vim/vim/commit/0e5d3a2940ead6c8ee3bacacea4153b647b67cca
Christian Brabandt <cb@256bit.org>
parents:
9764
diff
changeset
|
287 call job_setoptions(g:ref_job, {'exit_cb': function('Ignored2', [], d)}) |
20156
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
288 call test_garbagecollect_now() |
8865
be36707a661a
commit https://github.com/vim/vim/commit/9e4043757cd2fc18d071fdd98abf297d74878943
Christian Brabandt <cb@256bit.org>
parents:
8863
diff
changeset
|
289 endif |
8863
e1b84109506a
commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents:
8855
diff
changeset
|
290 endfunc |
9104
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
291 |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
292 func Test_auto_partial_rebind() |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
293 let dict1 = {'name': 'dict1'} |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
294 func! dict1.f1() |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
295 return self.name |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
296 endfunc |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
297 let dict1.f2 = function(dict1.f1, dict1) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
298 |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
299 call assert_equal('dict1', dict1.f1()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
300 call assert_equal('dict1', dict1['f1']()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
301 call assert_equal('dict1', dict1.f2()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
302 call assert_equal('dict1', dict1['f2']()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
303 |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
304 let dict2 = {'name': 'dict2'} |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
305 let dict2.f1 = dict1.f1 |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
306 let dict2.f2 = dict1.f2 |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
307 |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
308 call assert_equal('dict2', dict2.f1()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
309 call assert_equal('dict2', dict2['f1']()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
310 call assert_equal('dict1', dict2.f2()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
311 call assert_equal('dict1', dict2['f2']()) |
2242a5766417
commit https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
Christian Brabandt <cb@256bit.org>
parents:
8865
diff
changeset
|
312 endfunc |
9110
6d3888e2232c
commit https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
Christian Brabandt <cb@256bit.org>
parents:
9104
diff
changeset
|
313 |
6d3888e2232c
commit https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
Christian Brabandt <cb@256bit.org>
parents:
9104
diff
changeset
|
314 func Test_get_partial_items() |
6d3888e2232c
commit https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
Christian Brabandt <cb@256bit.org>
parents:
9104
diff
changeset
|
315 let dict = {'name': 'hello'} |
9117
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
316 let args = ["foo", "bar"] |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
317 let Func = function('MyDictFunc') |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
318 let Cb = function('MyDictFunc', args, dict) |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
319 |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
320 call assert_equal(Func, get(Cb, 'func')) |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
321 call assert_equal('MyDictFunc', get(Cb, 'name')) |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
322 call assert_equal(args, get(Cb, 'args')) |
9110
6d3888e2232c
commit https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
Christian Brabandt <cb@256bit.org>
parents:
9104
diff
changeset
|
323 call assert_equal(dict, get(Cb, 'dict')) |
6d3888e2232c
commit https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
Christian Brabandt <cb@256bit.org>
parents:
9104
diff
changeset
|
324 call assert_fails('call get(Cb, "xxx")', 'E475:') |
9117
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
325 |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
326 call assert_equal(Func, get(Func, 'func')) |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
327 call assert_equal('MyDictFunc', get(Func, 'name')) |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
328 call assert_equal([], get(Func, 'args')) |
0cc48b3cd884
commit https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
Christian Brabandt <cb@256bit.org>
parents:
9110
diff
changeset
|
329 call assert_true(empty( get(Func, 'dict'))) |
17534
2b4c138bf8e9
patch 8.1.1765: get(func, dict, def) does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
330 |
2b4c138bf8e9
patch 8.1.1765: get(func, dict, def) does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
331 let P = function('substitute', ['hello there', 'there']) |
2b4c138bf8e9
patch 8.1.1765: get(func, dict, def) does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
332 let dict = {'partial has': 'no dict'} |
2b4c138bf8e9
patch 8.1.1765: get(func, dict, def) does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
333 call assert_equal(dict, get(P, 'dict', dict)) |
2b4c138bf8e9
patch 8.1.1765: get(func, dict, def) does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
334 call assert_equal(0, get(l:P, 'dict')) |
9110
6d3888e2232c
commit https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
Christian Brabandt <cb@256bit.org>
parents:
9104
diff
changeset
|
335 endfunc |
9183
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
336 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
337 func Test_compare_partials() |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
338 let d1 = {} |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
339 let d2 = {} |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
340 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
341 function d1.f1() dict |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
342 endfunction |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
343 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
344 function d1.f2() dict |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
345 endfunction |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
346 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
347 let F1 = get(d1, 'f1') |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
348 let F2 = get(d1, 'f2') |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
349 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
350 let F1d1 = function(F1, d1) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
351 let F2d1 = function(F2, d2) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
352 let F1d1a1 = function(F1d1, [1]) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
353 let F1d1a12 = function(F1d1, [1, 2]) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
354 let F1a1 = function(F1, [1]) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
355 let F1a2 = function(F1, [2]) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
356 let F1d2 = function(F1, d2) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
357 let d3 = {'f1': F1, 'f2': F2} |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
358 let F1d3 = function(F1, d3) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
359 let F1ad1 = function(F1, [d1]) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
360 let F1ad3 = function(F1, [d3]) |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
361 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
362 call assert_match('^function(''\d\+'')$', string(F1)) " Not a partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
363 call assert_match('^function(''\d\+'')$', string(F2)) " Not a partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
364 call assert_match('^function(''\d\+'', {.*})$', string(F1d1)) " A partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
365 call assert_match('^function(''\d\+'', {.*})$', string(F2d1)) " A partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
366 call assert_match('^function(''\d\+'', \[.*\])$', string(F1a1)) " No dict |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
367 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
368 " != |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
369 let X = F1 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
370 call assert_false(F1 != X) " same function |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
371 let X = F1d1 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
372 call assert_false(F1d1 != X) " same partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
373 let X = F1d1a1 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
374 call assert_false(F1d1a1 != X) " same partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
375 let X = F1a1 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
376 call assert_false(F1a1 != X) " same partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
377 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
378 call assert_true(F1 != F2) " Different functions |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
379 call assert_true(F1 != F1d1) " Partial /= non-partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
380 call assert_true(F1d1a1 != F1d1a12) " Different number of arguments |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
381 call assert_true(F1a1 != F1d1a12) " One has no dict |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
382 call assert_true(F1a1 != F1a2) " Different arguments |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
383 call assert_true(F1d2 != F1d1) " Different dictionaries |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
384 call assert_false(F1d1 != F1d3) " Equal dictionaries, even though d1 isnot d3 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
385 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
386 " isnot, option 1 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
387 call assert_true(F1 isnot# F2) " Different functions |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
388 call assert_true(F1 isnot# F1d1) " Partial /= non-partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
389 call assert_true(F1d1 isnot# F1d3) " d1 isnot d3, even though d1 == d3 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
390 call assert_true(F1a1 isnot# F1d1a12) " One has no dict |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
391 call assert_true(F1a1 isnot# F1a2) " Different number of arguments |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
392 call assert_true(F1ad1 isnot# F1ad3) " In arguments d1 isnot d3 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
393 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
394 " isnot, option 2 |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
395 call assert_true(F1 isnot# F2) " Different functions |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
396 call assert_true(F1 isnot# F1d1) " Partial /= non-partial |
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
397 call assert_true(d1.f1 isnot# d1.f1) " handle_subscript creates new partial each time |
20156
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
398 |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
399 " compare two null partials |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
400 let N1 = test_null_partial() |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
401 let N2 = N1 |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
402 call assert_true(N1 is N2) |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
403 call assert_true(N1 == N2) |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
404 |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
405 " compare a partial and a null partial |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
406 call assert_false(N1 == F1) |
49694eceaa55
patch 8.2.0633: crash when using null partial in filter()
Bram Moolenaar <Bram@vim.org>
parents:
19783
diff
changeset
|
407 call assert_false(F1 is N1) |
9183
988c8ab557bf
commit https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
Christian Brabandt <cb@256bit.org>
parents:
9145
diff
changeset
|
408 endfunc |
19783
546bdeef35f1
patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
409 |
546bdeef35f1
patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents:
19249
diff
changeset
|
410 " vim: shiftwidth=2 sts=2 expandtab |