Mercurial > vim
annotate src/testdir/test_cmdmods.vim @ 31712:2d68375d5ddf v9.0.1188
patch 9.0.1188: return value of type() for class and object unclear
Commit: https://github.com/vim/vim/commit/c0c2c262650103c4a21b64c3246388a350688616
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jan 12 21:08:53 2023 +0000
patch 9.0.1188: return value of type() for class and object unclear
Problem: Return value of type() for class and object unclear.
Solution: Add v:t_object and v:t_class.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 12 Jan 2023 22:15:04 +0100 |
parents | 5acc0d2cf4f7 |
children | cda1a8a06777 |
rev | line source |
---|---|
30986
360f286b5869
patch 9.0.0828: various typos
Bram Moolenaar <Bram@vim.org>
parents:
30174
diff
changeset
|
1 " Test for all command modifiers in |
30174
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 def Test_cmdmods_array() |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 # Get all the command modifiers from ex_cmds.h. |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 var lines = readfile('../ex_cmds.h')->filter((_, l) => l =~ 'ex_wrongmodifier,') |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 var cmds = lines->map((_, v) => substitute(v, '.*"\(\k*\)".*', '\1', '')) |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 # :hide is both a command and a modifier |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 cmds->extend(['hide']) |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 # Get the entries of cmdmods[] in ex_docmd.c |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 edit ../ex_docmd.c |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 var top = search('^} cmdmods[') + 1 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 var bot = search('^};') - 1 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 lines = getline(top, bot) |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 var mods = lines->map((_, v) => substitute(v, '.*"\(\k*\)".*', '\1', '')) |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 |
31335
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
18 # Add the other commands that use ex_wrongmodifier. |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
19 mods->extend([ |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
20 'endclass', |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
21 'endenum', |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
22 'endinterface', |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
23 'public', |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
24 'static', |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
25 'this', |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
26 ]) |
5acc0d2cf4f7
patch 9.0.1001: classes are not documented or implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
30986
diff
changeset
|
27 |
30174
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 # Check the lists are equal. Convert them to a dict to get a clearer error |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 # message. |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 var cmds_dict = {} |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 for v in cmds |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 cmds_dict[v] = 1 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 endfor |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 var mods_dict = {} |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
35 for v in mods |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
36 mods_dict[v] = 1 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 endfor |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 assert_equal(cmds_dict, mods_dict) |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
39 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
40 bwipe! |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 enddef |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 " vim: shiftwidth=2 sts=2 expandtab |
3564cddda2a5
patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 |