Mercurial > vim
annotate runtime/doc/testing.txt @ 19390:e4b326c9424a v8.2.0253
patch 8.2.0253: crash when using :disassamble without argument
Commit: https://github.com/vim/vim/commit/21456cdccbdf9d222938139769f1abe95b8effdd
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Feb 13 21:29:32 2020 +0100
patch 8.2.0253: crash when using :disassamble without argument
Problem: Crash when using :disassamble without argument. (Dhiraj Mishra)
Solution: Check for missing argument. (Dominique Pelle, closes https://github.com/vim/vim/issues/5635,
closes #5637)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 13 Feb 2020 21:30:09 +0100 |
parents | 6c944fee0d7e |
children | 7be3663e2f2b |
rev | line source |
---|---|
18879 | 1 *testing.txt* For Vim version 8.2. Last change: 2019 Sep 08 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 VIM REFERENCE MANUAL by Bram Moolenaar |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 Testing Vim and Vim script *testing-support* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 Expression evaluation is explained in |eval.txt|. This file goes into details |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 about writing tests in Vim script. This can be used for testing Vim itself |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 and for testing plugins. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 1. Testing Vim |testing| |
17571 | 14 2. Test functions |test-functions-details| |
15 3. Assert functions |assert-functions-details| | |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 ============================================================================== |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 1. Testing Vim *testing* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 Vim can be tested after building it, usually with "make test". |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 The tests are located in the directory "src/testdir". |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 There are several types of tests added over time: |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 test33.in oldest, don't add any of these |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 test_something.in old style tests |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 test_something.vim new style tests |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 *new-style-testing* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 New tests should be added as new style tests. These use functions such as |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 |assert_equal()| to keep the test commands and the expected result in one |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 place. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 *old-style-testing* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 In some cases an old style test needs to be used. E.g. when testing Vim |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 without the |+eval| feature. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
35 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
36 Find more information in the file src/testdir/README.txt. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 ============================================================================== |
17571 | 39 2. Test functions *test-functions-details* |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
40 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 This is for testing: If the memory allocation with {id} is |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 called, then decrement {countdown}, and when it reaches zero |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 let memory allocation fail {repeat} times. When {repeat} is |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 smaller than one it fails one time. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
46 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
47 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
48 GetAllocId()->test_alloc_fail() |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
49 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
50 test_autochdir() *test_autochdir()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
51 Set a flag to enable the effect of 'autochdir' before Vim |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
52 startup has finished. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
53 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
54 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
55 test_feedinput({string}) *test_feedinput()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
56 Characters in {string} are queued for processing as if they |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
57 were typed by the user. This uses a low level input buffer. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
58 This function works only when with |+unix| or GUI is running. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
59 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
60 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
61 GetText()->test_feedinput() |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
62 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
63 test_garbagecollect_now() *test_garbagecollect_now()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
64 Like garbagecollect(), but executed right away. This must |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
65 only be called directly to avoid any structure to exist |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
66 internally, and |v:testing| must have been set before calling |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
67 any function. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
68 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
69 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
70 test_garbagecollect_soon() *test_garbagecollect_soon()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
71 Set the flag to call the garbagecollector as if in the main |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
72 loop. Only to be used in tests. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
73 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
74 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
75 test_getvalue({name}) *test_getvalue()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
76 Get the value of an internal variable. These values for |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
77 {name} are supported: |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
78 need_fileinfo |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
79 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
80 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
81 GetName()->test_getvalue() |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
82 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
83 test_ignore_error({expr}) *test_ignore_error()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
84 Ignore any error containing {expr}. A normal message is given |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
85 instead. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
86 This is only meant to be used in tests, where catching the |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
87 error with try/catch cannot be used (because it skips over |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
88 following code). |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
89 {expr} is used literally, not as a pattern. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
90 When the {expr} is the string "RESET" then the list of ignored |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
91 errors is made empty. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
92 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
93 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
94 GetErrorText()->test_ignore_error() |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
95 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
96 test_null_blob() *test_null_blob()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
97 Return a |Blob| that is null. Only useful for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
98 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
99 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
100 test_null_channel() *test_null_channel()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
101 Return a |Channel| that is null. Only useful for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
102 {only available when compiled with the +channel feature} |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
103 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
104 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
105 test_null_dict() *test_null_dict()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
106 Return a |Dict| that is null. Only useful for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
107 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
108 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
109 test_null_job() *test_null_job()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
110 Return a |Job| that is null. Only useful for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
111 {only available when compiled with the +job feature} |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
112 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
113 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
114 test_null_list() *test_null_list()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
115 Return a |List| that is null. Only useful for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
116 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
117 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
118 test_null_partial() *test_null_partial()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
119 Return a |Partial| that is null. Only useful for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
120 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
121 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
122 test_null_string() *test_null_string()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
123 Return a |String| that is null. Only useful for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
124 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
125 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
126 test_option_not_set({name}) *test_option_not_set()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
127 Reset the flag that indicates option {name} was set. Thus it |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
128 looks like it still has the default value. Use like this: > |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
129 set ambiwidth=double |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
130 call test_option_not_set('ambiwidth') |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
131 < Now the 'ambiwidth' option behaves like it was never changed, |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
132 even though the value is "double". |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
133 Only to be used for testing! |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
134 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
135 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
136 GetOptionName()->test_option_not_set() |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
137 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
138 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
139 test_override({name}, {val}) *test_override()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
140 Overrides certain parts of Vim's internal processing to be able |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
141 to run tests. Only to be used for testing Vim! |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
142 The override is enabled when {val} is non-zero and removed |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
143 when {val} is zero. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
144 Current supported values for name are: |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
145 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
146 name effect when {val} is non-zero ~ |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
147 redraw disable the redrawing() function |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
148 redraw_flag ignore the RedrawingDisabled flag |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
149 char_avail disable the char_avail() function |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
150 starting reset the "starting" variable, see below |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
151 nfa_fail makes the NFA regexp engine fail to force a |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
152 fallback to the old engine |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
153 no_query_mouse do not query the mouse position for "dec" |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
154 terminals |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
155 no_wait_return set the "no_wait_return" flag. Not restored |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
156 with "ALL". |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
157 ALL clear all overrides ({val} is not used) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
158 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
159 "starting" is to be used when a test should behave like |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
160 startup was done. Since the tests are run by sourcing a |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
161 script the "starting" variable is non-zero. This is usually a |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
162 good thing (tests run faster), but sometimes changes behavior |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
163 in a way that the test doesn't work properly. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
164 When using: > |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
165 call test_override('starting', 1) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
166 < The value of "starting" is saved. It is restored by: > |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
167 call test_override('starting', 0) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
168 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
169 < Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
170 GetOverrideVal()-> test_override('starting') |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
171 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
172 test_refcount({expr}) *test_refcount()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
173 Return the reference count of {expr}. When {expr} is of a |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
174 type that does not have a reference count, returns -1. Only |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
175 to be used for testing. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
176 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
177 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
178 GetVarname()->test_refcount() |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
179 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
180 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
181 test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
182 Pretend using scrollbar {which} to move it to position |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
183 {value}. {which} can be: |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
184 left Left scrollbar of the current window |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
185 right Right scrollbar of the current window |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
186 hor Horizontal scrollbar |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
187 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
188 For the vertical scrollbars {value} can be 1 to the |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
189 line-count of the buffer. For the horizontal scrollbar the |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
190 {value} can be between 1 and the maximum line length, assuming |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
191 'wrap' is not set. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
192 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
193 When {dragging} is non-zero it's like dragging the scrollbar, |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
194 otherwise it's like clicking in the scrollbar. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
195 Only works when the {which} scrollbar actually exists, |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
196 obviously only when using the GUI. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
197 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
198 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
199 GetValue()->test_scrollbar('right', 0) |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
200 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
201 test_setmouse({row}, {col}) *test_setmouse()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
202 Set the mouse position to be used for the next mouse action. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
203 {row} and {col} are one based. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
204 For example: > |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
205 call test_setmouse(4, 20) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
206 call feedkeys("\<LeftMouse>", "xt") |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
207 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
208 test_settime({expr}) *test_settime()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
209 Set the time Vim uses internally. Currently only used for |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
210 timestamps in the history, as they are used in viminfo, and |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
211 for undo. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
212 Using a value of 1 makes Vim not sleep after a warning or |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
213 error message. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
214 {expr} must evaluate to a number. When the value is zero the |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
215 normal behavior is restored. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
216 |
18031
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
217 Can also be used as a |method|: > |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
218 GetTime()->test_settime() |
8a2fb21c23c0
patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17909
diff
changeset
|
219 |
19350
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
19308
diff
changeset
|
220 test_srand_seed([seed]) *test_srand_seed()* |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
19308
diff
changeset
|
221 When [seed] is given this sets the seed value used by |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
19308
diff
changeset
|
222 `srand()`. When omitted the test seed is removed. |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
19308
diff
changeset
|
223 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
224 ============================================================================== |
17571 | 225 3. Assert functions *assert-functions-details* |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
226 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
227 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
228 assert_beeps({cmd}) *assert_beeps()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
229 Run {cmd} and add an error message to |v:errors| if it does |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
230 NOT produce a beep or visual bell. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
231 Also see |assert_fails()| and |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
232 |
17728
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
233 Can also be used as a |method|: > |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
234 GetCmd()->assert_beeps() |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
235 < |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
236 *assert_equal()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
237 assert_equal({expected}, {actual} [, {msg}]) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
238 When {expected} and {actual} are not equal an error message is |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
239 added to |v:errors| and 1 is returned. Otherwise zero is |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
240 returned |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
241 There is no automatic conversion, the String "4" is different |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
242 from the Number 4. And the number 4 is different from the |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
243 Float 4.0. The value of 'ignorecase' is not used here, case |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
244 always matters. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
245 When {msg} is omitted an error in the form "Expected |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
246 {expected} but got {actual}" is produced. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
247 Example: > |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
248 assert_equal('foo', 'bar') |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
249 < Will result in a string to be added to |v:errors|: |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
250 test.vim line 12: Expected 'foo' but got 'bar' ~ |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
251 |
17620
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
252 Can also be used as a |method|: > |
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
253 mylist->assert_equal([1, 2, 3]) |
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
254 |
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
255 |
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
256 < *assert_equalfile()* |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
257 assert_equalfile({fname-one}, {fname-two}) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
258 When the files {fname-one} and {fname-two} do not contain |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
259 exactly the same text an error message is added to |v:errors|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
260 Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
261 When {fname-one} or {fname-two} does not exist the error will |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
262 mention that. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
263 Mainly useful with |terminal-diff|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
264 |
17825
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
265 Can also be used as a |method|: > |
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
266 GetLog()->assert_equalfile('expected.log') |
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
267 |
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
268 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
269 assert_exception({error} [, {msg}]) *assert_exception()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
270 When v:exception does not contain the string {error} an error |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
271 message is added to |v:errors|. Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
272 This can be used to assert that a command throws an exception. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
273 Using the error number, followed by a colon, avoids problems |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
274 with translations: > |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
275 try |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
276 commandthatfails |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
277 call assert_false(1, 'command should have failed') |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
278 catch |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
279 call assert_exception('E492:') |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
280 endtry |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
281 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
282 assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
283 Run {cmd} and add an error message to |v:errors| if it does |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
284 NOT produce an error. Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
285 When {error} is given it must match in |v:errmsg|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
286 Note that beeping is not considered an error, and some failing |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
287 commands only beep. Use |assert_beeps()| for those. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
288 |
17728
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
289 Can also be used as a |method|: > |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
290 GetCmd()->assert_fails('E99:') |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
291 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
292 assert_false({actual} [, {msg}]) *assert_false()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
293 When {actual} is not false an error message is added to |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
294 |v:errors|, like with |assert_equal()|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
295 Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
296 A value is false when it is zero. When {actual} is not a |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
297 number the assert fails. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
298 When {msg} is omitted an error in the form |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
299 "Expected False but got {actual}" is produced. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
300 |
17728
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
301 Can also be used as a |method|: > |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
302 GetResult()->assert_false() |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
303 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
304 assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
305 This asserts number and |Float| values. When {actual} is lower |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
306 than {lower} or higher than {upper} an error message is added |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
307 to |v:errors|. Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
308 When {msg} is omitted an error in the form |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
309 "Expected range {lower} - {upper}, but got {actual}" is |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
310 produced. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
311 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
312 *assert_match()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
313 assert_match({pattern}, {actual} [, {msg}]) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
314 When {pattern} does not match {actual} an error message is |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
315 added to |v:errors|. Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
316 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
317 {pattern} is used as with |=~|: The matching is always done |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
318 like 'magic' was set and 'cpoptions' is empty, no matter what |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
319 the actual value of 'magic' or 'cpoptions' is. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
320 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
321 {actual} is used as a string, automatic conversion applies. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
322 Use "^" and "$" to match with the start and end of the text. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
323 Use both to match the whole text. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
324 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
325 When {msg} is omitted an error in the form |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
326 "Pattern {pattern} does not match {actual}" is produced. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
327 Example: > |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
328 assert_match('^f.*o$', 'foobar') |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
329 < Will result in a string to be added to |v:errors|: |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
330 test.vim line 12: Pattern '^f.*o$' does not match 'foobar' ~ |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
331 |
17728
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
332 Can also be used as a |method|: > |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
333 getFile()->assert_match('foo.*') |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
334 < |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
335 *assert_notequal()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
336 assert_notequal({expected}, {actual} [, {msg}]) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
337 The opposite of `assert_equal()`: add an error message to |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
338 |v:errors| when {expected} and {actual} are equal. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
339 Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
340 |
17620
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
341 Can also be used as a |method|: > |
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
342 mylist->assert_notequal([1, 2, 3]) |
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
343 |
072efa9ca875
patch 8.1.1807: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17571
diff
changeset
|
344 < *assert_notmatch()* |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
345 assert_notmatch({pattern}, {actual} [, {msg}]) |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
346 The opposite of `assert_match()`: add an error message to |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
347 |v:errors| when {pattern} matches {actual}. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
348 Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
349 |
17728
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
350 Can also be used as a |method|: > |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
351 getFile()->assert_notmatch('bar.*') |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
352 |
17825
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
353 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
354 assert_report({msg}) *assert_report()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
355 Report a test failure directly, using {msg}. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
356 Always returns one. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
357 |
17825
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
358 Can also be used as a |method|: > |
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
359 GetMessage()->assert_report() |
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
360 |
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17758
diff
changeset
|
361 |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
362 assert_true({actual} [, {msg}]) *assert_true()* |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
363 When {actual} is not true an error message is added to |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
364 |v:errors|, like with |assert_equal()|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
365 Also see |assert-return|. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
366 A value is TRUE when it is a non-zero number. When {actual} |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
367 is not a number the assert fails. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
368 When {msg} is omitted an error in the form "Expected True but |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
369 got {actual}" is produced. |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
370 |
17728
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
371 Can also be used as a |method|: > |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
372 GetResult()->assert_true() |
68ea27d26d5b
patch 8.1.1861: only some assert functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17620
diff
changeset
|
373 < |
17456
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
374 |
e414281d8bb4
patch 8.1.1726: the eval.txt help file is too big
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
375 vim:tw=78:ts=8:noet:ft=help:norl: |