blob: bc025b4c4352b2c4946a2c6b3ecace31243507c2 [file] [log] [blame]
Bram Moolenaar43345542015-11-29 17:35:35 +01001" Test that the methods used for testing work.
2
Bram Moolenaar683fa182015-11-30 21:38:24 +01003func Test_assert_false()
4 call assert_false(0)
Bram Moolenaar37127922016-02-06 20:29:28 +01005 call assert_false(v:false)
Bram Moolenaar43345542015-11-29 17:35:35 +01006endfunc
7
Bram Moolenaar683fa182015-11-30 21:38:24 +01008func Test_assert_true()
9 call assert_true(1)
10 call assert_true(123)
Bram Moolenaar37127922016-02-06 20:29:28 +010011 call assert_true(v:true)
Bram Moolenaar43345542015-11-29 17:35:35 +010012endfunc
13
Bram Moolenaar683fa182015-11-30 21:38:24 +010014func Test_assert_equal()
Bram Moolenaar43345542015-11-29 17:35:35 +010015 let s = 'foo'
Bram Moolenaar683fa182015-11-30 21:38:24 +010016 call assert_equal('foo', s)
Bram Moolenaar43345542015-11-29 17:35:35 +010017 let n = 4
Bram Moolenaar683fa182015-11-30 21:38:24 +010018 call assert_equal(4, n)
Bram Moolenaar43345542015-11-29 17:35:35 +010019 let l = [1, 2, 3]
Bram Moolenaar683fa182015-11-30 21:38:24 +010020 call assert_equal([1, 2, 3], l)
Bram Moolenaar43345542015-11-29 17:35:35 +010021endfunc
Bram Moolenaar2d820802015-12-31 20:46:39 +010022
Bram Moolenaarda5dcd92016-01-19 14:31:20 +010023func Test_assert_exception()
24 try
25 nocommand
26 catch
27 call assert_exception('E492:')
28 endtry
29
30 try
31 nocommand
32 catch
33 try
34 " illegal argument, get NULL for error
35 call assert_exception([])
36 catch
37 call assert_exception('E730:')
38 endtry
39 endtry
40endfunc
41
Bram Moolenaara542c682016-01-31 16:28:04 +010042func Test_wrong_error_type()
43 let save_verrors = v:errors
44 let v:['errors'] = {'foo': 3}
45 call assert_equal('yes', 'no')
46 let verrors = v:errors
47 let v:errors = save_verrors
48 call assert_equal(type([]), type(verrors))
49endfunc
50
Bram Moolenaarf1551962016-03-15 12:55:58 +010051func Test_compare_fail()
52 let s:v = {}
53 let s:x = {"a": s:v}
54 let s:v["b"] = s:x
55 let s:w = {"c": s:x, "d": ''}
56 try
57 call assert_equal(s:w, '')
58 catch
59 call assert_exception('E724:')
Bram Moolenaarea6553b2016-03-27 15:13:38 +020060 call assert_match("Expected NULL but got ''", v:errors[0])
Bram Moolenaarf1551962016-03-15 12:55:58 +010061 call remove(v:errors, 0)
62 endtry
63endfunc
64
Bram Moolenaarea6553b2016-03-27 15:13:38 +020065func Test_match()
66 call assert_match('^f.*b.*r$', 'foobar')
67
68 call assert_match('bar.*foo', 'foobar')
69 call assert_match("Pattern 'bar.*foo' does not match 'foobar'", v:errors[0])
70 call remove(v:errors, 0)
71
72 call assert_match('bar.*foo', 'foobar', 'wrong')
73 call assert_match('wrong', v:errors[0])
74 call remove(v:errors, 0)
75endfunc
76
Bram Moolenaar1abb5022016-03-15 13:33:55 +010077func Test_assert_fail_fails()
78 call assert_fails('xxx', {})
Bram Moolenaarea6553b2016-03-27 15:13:38 +020079 call assert_match("Expected {} but got 'E731:", v:errors[0])
Bram Moolenaar1abb5022016-03-15 13:33:55 +010080 call remove(v:errors, 0)
81endfunc
82
Bram Moolenaarf1551962016-03-15 12:55:58 +010083
Bram Moolenaar2d820802015-12-31 20:46:39 +010084func Test_user_is_happy()
85 smile
86 sleep 300m
87endfunc