annotate src/testdir/test_assert.vim @ 15062:3a94f7918980 v8.1.0542

patch 8.1.0542: shiftwidth() does not take 'vartabstop' into account commit https://github.com/vim/vim/commit/f951416a8396a54bbbe21de1a8b16716428549f2 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 22 03:08:29 2018 +0100 patch 8.1.0542: shiftwidth() does not take 'vartabstop' into account Problem: shiftwidth() does not take 'vartabstop' into account. Solution: Use the cursor position or a position explicitly passed. Also make >> and << work better with 'vartabstop'. (Christian Brabandt)
author Bram Moolenaar <Bram@vim.org>
date Thu, 22 Nov 2018 03:15:10 +0100
parents 0c845463a0db
children e3ddffe48d17
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7277
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test that the methods used for testing work.
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
7279
b5e9810b389d commit https://github.com/vim/vim/commit/683fa185a4b4ed7595e5942901548b8239ed5cdb
Christian Brabandt <cb@256bit.org>
parents: 7277
diff changeset
3 func Test_assert_false()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
4 call assert_equal(0, assert_false(0))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
5 call assert_equal(0, assert_false(v:false))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
6
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
7 call assert_equal(1, assert_false(123))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
8 call assert_match("Expected False but got 123", v:errors[0])
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
9 call remove(v:errors, 0)
7277
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 endfunc
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11
7279
b5e9810b389d commit https://github.com/vim/vim/commit/683fa185a4b4ed7595e5942901548b8239ed5cdb
Christian Brabandt <cb@256bit.org>
parents: 7277
diff changeset
12 func Test_assert_true()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
13 call assert_equal(0, assert_true(1))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
14 call assert_equal(0, assert_true(123))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
15 call assert_equal(0, assert_true(v:true))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
16
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
17 call assert_equal(1, assert_true(0))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
18 call assert_match("Expected True but got 0", v:errors[0])
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
19 call remove(v:errors, 0)
7277
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 endfunc
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21
7279
b5e9810b389d commit https://github.com/vim/vim/commit/683fa185a4b4ed7595e5942901548b8239ed5cdb
Christian Brabandt <cb@256bit.org>
parents: 7277
diff changeset
22 func Test_assert_equal()
7277
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 let s = 'foo'
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
24 call assert_equal(0, assert_equal('foo', s))
7277
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 let n = 4
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
26 call assert_equal(0, assert_equal(4, n))
7277
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 let l = [1, 2, 3]
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
28 call assert_equal(0, assert_equal([1, 2, 3], l))
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
29
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
30 let s = 'foo'
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
31 call assert_equal(1, assert_equal('bar', s))
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
32 call assert_match("Expected 'bar' but got 'foo'", v:errors[0])
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
33 call remove(v:errors, 0)
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
34 endfunc
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
35
13298
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
36 func Test_assert_equalfile()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
37 call assert_equal(1, assert_equalfile('abcabc', 'xyzxyz'))
13298
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
38 call assert_match("E485: Can't read file abcabc", v:errors[0])
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
39 call remove(v:errors, 0)
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
40
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
41 let goodtext = ["one", "two", "three"]
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
42 call writefile(goodtext, 'Xone')
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
43 call assert_equal(1, assert_equalfile('Xone', 'xyzxyz'))
13298
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
44 call assert_match("E485: Can't read file xyzxyz", v:errors[0])
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
45 call remove(v:errors, 0)
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
46
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
47 call writefile(goodtext, 'Xtwo')
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
48 call assert_equal(0, assert_equalfile('Xone', 'Xtwo'))
13298
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
49
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
50 call writefile([goodtext[0]], 'Xone')
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
51 call assert_equal(1, assert_equalfile('Xone', 'Xtwo'))
13298
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
52 call assert_match("first file is shorter", v:errors[0])
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
53 call remove(v:errors, 0)
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
54
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
55 call writefile(goodtext, 'Xone')
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
56 call writefile([goodtext[0]], 'Xtwo')
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
57 call assert_equal(1, assert_equalfile('Xone', 'Xtwo'))
13298
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
58 call assert_match("second file is shorter", v:errors[0])
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
59 call remove(v:errors, 0)
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
60
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
61 call writefile(['1234X89'], 'Xone')
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
62 call writefile(['1234Y89'], 'Xtwo')
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
63 call assert_equal(1, assert_equalfile('Xone', 'Xtwo'))
13298
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
64 call assert_match("difference at byte 4", v:errors[0])
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
65 call remove(v:errors, 0)
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
66
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
67 call delete('Xone')
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
68 call delete('Xtwo')
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
69 endfunc
a88c5e12b860 patch 8.0.1523: cannot write and read terminal screendumps
Christian Brabandt <cb@256bit.org>
parents: 13272
diff changeset
70
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
71 func Test_assert_notequal()
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
72 let n = 4
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
73 call assert_equal(0, assert_notequal('foo', n))
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
74 let s = 'foo'
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
75 call assert_equal(0, assert_notequal([1, 2, 3], s))
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
76
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
77 call assert_equal(1, assert_notequal('foo', s))
10593
553f9b9502bc patch 8.0.0186: confusing error message from assert_notequal()
Christian Brabandt <cb@256bit.org>
parents: 10462
diff changeset
78 call assert_match("Expected not equal to 'foo'", v:errors[0])
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
79 call remove(v:errors, 0)
7277
6600871bb38c commit https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80 endfunc
7412
bc5de65e499a commit https://github.com/vim/vim/commit/2d820808cda15b3ad9fe674393d1f1e997453d9e
Christian Brabandt <cb@256bit.org>
parents: 7279
diff changeset
81
11183
1c4ebbae41d2 patch 8.0.0478: tests use assert_true(0) and assert_false(1) to report errors
Christian Brabandt <cb@256bit.org>
parents: 11105
diff changeset
82 func Test_assert_report()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
83 call assert_equal(1, assert_report('something is wrong'))
11183
1c4ebbae41d2 patch 8.0.0478: tests use assert_true(0) and assert_false(1) to report errors
Christian Brabandt <cb@256bit.org>
parents: 11105
diff changeset
84 call assert_match('something is wrong', v:errors[0])
1c4ebbae41d2 patch 8.0.0478: tests use assert_true(0) and assert_false(1) to report errors
Christian Brabandt <cb@256bit.org>
parents: 11105
diff changeset
85 call remove(v:errors, 0)
1c4ebbae41d2 patch 8.0.0478: tests use assert_true(0) and assert_false(1) to report errors
Christian Brabandt <cb@256bit.org>
parents: 11105
diff changeset
86 endfunc
1c4ebbae41d2 patch 8.0.0478: tests use assert_true(0) and assert_false(1) to report errors
Christian Brabandt <cb@256bit.org>
parents: 11105
diff changeset
87
7675
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
88 func Test_assert_exception()
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
89 try
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
90 nocommand
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
91 catch
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
92 call assert_equal(0, assert_exception('E492:'))
7675
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
93 endtry
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
94
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
95 try
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
96 nocommand
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
97 catch
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
98 try
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
99 " illegal argument, get NULL for error
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
100 call assert_equal(1, assert_exception([]))
7675
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
101 catch
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
102 call assert_equal(0, assert_exception('E730:'))
7675
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
103 endtry
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
104 endtry
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
105 endfunc
eb9cc96138a3 commit https://github.com/vim/vim/commit/da5dcd936656f524dd0ae7cb2685245f07f5720f
Christian Brabandt <cb@256bit.org>
parents: 7412
diff changeset
106
7852
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
107 func Test_wrong_error_type()
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
108 let save_verrors = v:errors
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
109 let v:['errors'] = {'foo': 3}
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
110 call assert_equal('yes', 'no')
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
111 let verrors = v:errors
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
112 let v:errors = save_verrors
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
113 call assert_equal(type([]), type(verrors))
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
114 endfunc
8818755d8326 commit https://github.com/vim/vim/commit/a542c680a8b42cb766e64d4ee7374ef4dacb7832
Christian Brabandt <cb@256bit.org>
parents: 7675
diff changeset
115
8550
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
116 func Test_compare_fail()
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
117 let s:v = {}
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
118 let s:x = {"a": s:v}
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
119 let s:v["b"] = s:x
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
120 let s:w = {"c": s:x, "d": ''}
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
121 try
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
122 call assert_equal(s:w, '')
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
123 catch
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
124 call assert_equal(0, assert_exception('E724:'))
8749
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
125 call assert_match("Expected NULL but got ''", v:errors[0])
8550
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
126 call remove(v:errors, 0)
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
127 endtry
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
128 endfunc
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
129
8749
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
130 func Test_match()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
131 call assert_equal(0, assert_match('^f.*b.*r$', 'foobar'))
8749
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
132
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
133 call assert_equal(1, assert_match('bar.*foo', 'foobar'))
8749
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
134 call assert_match("Pattern 'bar.*foo' does not match 'foobar'", v:errors[0])
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
135 call remove(v:errors, 0)
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
136
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
137 call assert_equal(1, assert_match('bar.*foo', 'foobar', 'wrong'))
8749
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
138 call assert_match('wrong', v:errors[0])
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
139 call remove(v:errors, 0)
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
140 endfunc
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
141
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
142 func Test_notmatch()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
143 call assert_equal(0, assert_notmatch('foo', 'bar'))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
144 call assert_equal(0, assert_notmatch('^foobar$', 'foobars'))
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
145
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
146 call assert_equal(1, assert_notmatch('foo', 'foobar'))
8831
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
147 call assert_match("Pattern 'foo' does match 'foobar'", v:errors[0])
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
148 call remove(v:errors, 0)
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
149 endfunc
6f41d68aa68e commit https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
Christian Brabandt <cb@256bit.org>
parents: 8749
diff changeset
150
8554
7d3548ae729d commit https://github.com/vim/vim/commit/1abb502635c7f317e05a0cf3ea067101f9d684f5
Christian Brabandt <cb@256bit.org>
parents: 8550
diff changeset
151 func Test_assert_fail_fails()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
152 call assert_equal(1, assert_fails('xxx', {}))
8749
65a5a18d3acf commit https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2
Christian Brabandt <cb@256bit.org>
parents: 8554
diff changeset
153 call assert_match("Expected {} but got 'E731:", v:errors[0])
8554
7d3548ae729d commit https://github.com/vim/vim/commit/1abb502635c7f317e05a0cf3ea067101f9d684f5
Christian Brabandt <cb@256bit.org>
parents: 8550
diff changeset
154 call remove(v:errors, 0)
14897
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
155
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
156 call assert_equal(1, assert_fails('xxx', {}, 'stupid'))
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
157 call assert_match("stupid: Expected {} but got 'E731:", v:errors[0])
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
158 call remove(v:errors, 0)
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
159
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
160 call assert_equal(1, assert_fails('echo', '', 'echo command'))
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
161 call assert_match("command did not fail: echo command", v:errors[0])
0c845463a0db patch 8.1.0460: assert_fails() does not take a message argument
Bram Moolenaar <Bram@vim.org>
parents: 14053
diff changeset
162 call remove(v:errors, 0)
8554
7d3548ae729d commit https://github.com/vim/vim/commit/1abb502635c7f317e05a0cf3ea067101f9d684f5
Christian Brabandt <cb@256bit.org>
parents: 8550
diff changeset
163 endfunc
7d3548ae729d commit https://github.com/vim/vim/commit/1abb502635c7f317e05a0cf3ea067101f9d684f5
Christian Brabandt <cb@256bit.org>
parents: 8550
diff changeset
164
13272
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
165 func Test_assert_beeps()
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
166 new
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
167 call assert_equal(0, assert_beeps('normal h'))
13272
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
168
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
169 call assert_equal(1, assert_beeps('normal 0'))
13272
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
170 call assert_match("command did not beep: normal 0", v:errors[0])
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
171 call remove(v:errors, 0)
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
172 bwipe
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
173 endfunc
abaebba89fd4 patch 8.0.1510: cannot test if a command causes a beep
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
174
9636
ccbb8e393d80 commit https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Christian Brabandt <cb@256bit.org>
parents: 8831
diff changeset
175 func Test_assert_inrange()
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
176 call assert_equal(0, assert_inrange(7, 7, 7))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
177 call assert_equal(0, assert_inrange(5, 7, 5))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
178 call assert_equal(0, assert_inrange(5, 7, 6))
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
179 call assert_equal(0, assert_inrange(5, 7, 7))
9636
ccbb8e393d80 commit https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Christian Brabandt <cb@256bit.org>
parents: 8831
diff changeset
180
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
181 call assert_equal(1, assert_inrange(5, 7, 4))
9636
ccbb8e393d80 commit https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Christian Brabandt <cb@256bit.org>
parents: 8831
diff changeset
182 call assert_match("Expected range 5 - 7, but got 4", v:errors[0])
ccbb8e393d80 commit https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Christian Brabandt <cb@256bit.org>
parents: 8831
diff changeset
183 call remove(v:errors, 0)
13796
87012d2b17b5 patch 8.0.1770: assert functions don't return anything
Christian Brabandt <cb@256bit.org>
parents: 13298
diff changeset
184 call assert_equal(1, assert_inrange(5, 7, 8))
9636
ccbb8e393d80 commit https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Christian Brabandt <cb@256bit.org>
parents: 8831
diff changeset
185 call assert_match("Expected range 5 - 7, but got 8", v:errors[0])
ccbb8e393d80 commit https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Christian Brabandt <cb@256bit.org>
parents: 8831
diff changeset
186 call remove(v:errors, 0)
10462
0d345265b1e2 commit https://github.com/vim/vim/commit/3421566376b5723213af502bd3c2b9debe025ef1
Christian Brabandt <cb@256bit.org>
parents: 9636
diff changeset
187
0d345265b1e2 commit https://github.com/vim/vim/commit/3421566376b5723213af502bd3c2b9debe025ef1
Christian Brabandt <cb@256bit.org>
parents: 9636
diff changeset
188 call assert_fails('call assert_inrange(1, 1)', 'E119:')
9636
ccbb8e393d80 commit https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Christian Brabandt <cb@256bit.org>
parents: 8831
diff changeset
189 endfunc
8550
56d0eb96c25a commit https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
Christian Brabandt <cb@256bit.org>
parents: 7951
diff changeset
190
10728
8ba322dad776 patch 8.0.0254: error message of assert functions is sometimes incomplete
Christian Brabandt <cb@256bit.org>
parents: 10593
diff changeset
191 func Test_assert_with_msg()
8ba322dad776 patch 8.0.0254: error message of assert functions is sometimes incomplete
Christian Brabandt <cb@256bit.org>
parents: 10593
diff changeset
192 call assert_equal('foo', 'bar', 'testing')
8ba322dad776 patch 8.0.0254: error message of assert functions is sometimes incomplete
Christian Brabandt <cb@256bit.org>
parents: 10593
diff changeset
193 call assert_match("testing: Expected 'foo' but got 'bar'", v:errors[0])
8ba322dad776 patch 8.0.0254: error message of assert functions is sometimes incomplete
Christian Brabandt <cb@256bit.org>
parents: 10593
diff changeset
194 call remove(v:errors, 0)
8ba322dad776 patch 8.0.0254: error message of assert functions is sometimes incomplete
Christian Brabandt <cb@256bit.org>
parents: 10593
diff changeset
195 endfunc
8ba322dad776 patch 8.0.0254: error message of assert functions is sometimes incomplete
Christian Brabandt <cb@256bit.org>
parents: 10593
diff changeset
196
11105
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
197 func Test_override()
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
198 call test_override('char_avail', 1)
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
199 call test_override('redraw', 1)
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
200 call test_override('ALL', 0)
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
201 call assert_fails("call test_override('xxx', 1)", 'E475')
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
202 call assert_fails("call test_override('redraw', 'yes')", 'E474')
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
203 endfunc
7c7e496e625d patch 8.0.0440: not enough test coverage in Insert mode
Christian Brabandt <cb@256bit.org>
parents: 10728
diff changeset
204
7412
bc5de65e499a commit https://github.com/vim/vim/commit/2d820808cda15b3ad9fe674393d1f1e997453d9e
Christian Brabandt <cb@256bit.org>
parents: 7279
diff changeset
205 func Test_user_is_happy()
bc5de65e499a commit https://github.com/vim/vim/commit/2d820808cda15b3ad9fe674393d1f1e997453d9e
Christian Brabandt <cb@256bit.org>
parents: 7279
diff changeset
206 smile
bc5de65e499a commit https://github.com/vim/vim/commit/2d820808cda15b3ad9fe674393d1f1e997453d9e
Christian Brabandt <cb@256bit.org>
parents: 7279
diff changeset
207 sleep 300m
bc5de65e499a commit https://github.com/vim/vim/commit/2d820808cda15b3ad9fe674393d1f1e997453d9e
Christian Brabandt <cb@256bit.org>
parents: 7279
diff changeset
208 endfunc
14053
d6866c54a311 patch 8.1.0044: if a test function exists Vim this may go unnoticed
Christian Brabandt <cb@256bit.org>
parents: 13796
diff changeset
209
d6866c54a311 patch 8.1.0044: if a test function exists Vim this may go unnoticed
Christian Brabandt <cb@256bit.org>
parents: 13796
diff changeset
210 " Must be last.
d6866c54a311 patch 8.1.0044: if a test function exists Vim this may go unnoticed
Christian Brabandt <cb@256bit.org>
parents: 13796
diff changeset
211 func Test_zz_quit_detected()
d6866c54a311 patch 8.1.0044: if a test function exists Vim this may go unnoticed
Christian Brabandt <cb@256bit.org>
parents: 13796
diff changeset
212 " Verify that if a test function ends Vim the test script detects this.
d6866c54a311 patch 8.1.0044: if a test function exists Vim this may go unnoticed
Christian Brabandt <cb@256bit.org>
parents: 13796
diff changeset
213 quit
d6866c54a311 patch 8.1.0044: if a test function exists Vim this may go unnoticed
Christian Brabandt <cb@256bit.org>
parents: 13796
diff changeset
214 endfunc