Mercurial > vim
annotate src/testdir/test_ex_equal.vim @ 33211:71a097aab64d v9.0.1883
patch 9.0.1883: Vim9: Calling an interface method using a child object fails
Commit: https://github.com/vim/vim/commit/cc0bcf4c9f4133750f5ee99c685ba995a1b840fd
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Fri Sep 8 19:12:03 2023 +0200
patch 9.0.1883: Vim9: Calling an interface method using a child object fails
Problem: Vim9: Calling an interface method using a child object fails
Solution: Search methods of parent class
When a class implementing an interface is extended by another class and
a child class instance is passed to a function that accepts the
interface, calling an interface method doesn't work properly.
closes: #13053
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 08 Sep 2023 19:15:08 +0200 |
parents | 08940efa6b4e |
children |
rev | line source |
---|---|
15619
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test Ex := command. |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 func Test_ex_equal() |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 new |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 call setline(1, ["foo\tbar", "bar\tfoo"]) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 let a = execute('=') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 call assert_equal("\n2", a) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 let a = execute('=#') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 call assert_equal("\n2\n 1 foo bar", a) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 let a = execute('=l') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 call assert_equal("\n2\nfoo^Ibar$", a) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 let a = execute('=p') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 call assert_equal("\n2\nfoo bar", a) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 let a = execute('=l#') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 call assert_equal("\n2\n 1 foo^Ibar$", a) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 let a = execute('=p#') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 call assert_equal("\n2\n 1 foo bar", a) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 let a = execute('.=') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 call assert_equal("\n1", a) |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 call assert_fails('3=', 'E16:') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 call assert_fails('=x', 'E488:') |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 bwipe! |
a4882149b661
patch 8.1.0817: ":=" command is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
15619
diff
changeset
|
33 |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
15619
diff
changeset
|
34 " vim: shiftwidth=2 sts=2 expandtab |