xref: /vim-8.2.3635/src/testdir/test_assert.vim (revision f1551964)
143345546SBram Moolenaar" Test that the methods used for testing work.
243345546SBram Moolenaar
3683fa185SBram Moolenaarfunc Test_assert_false()
4683fa185SBram Moolenaar  call assert_false(0)
537127926SBram Moolenaar  call assert_false(v:false)
643345546SBram Moolenaarendfunc
743345546SBram Moolenaar
8683fa185SBram Moolenaarfunc Test_assert_true()
9683fa185SBram Moolenaar  call assert_true(1)
10683fa185SBram Moolenaar  call assert_true(123)
1137127926SBram Moolenaar  call assert_true(v:true)
1243345546SBram Moolenaarendfunc
1343345546SBram Moolenaar
14683fa185SBram Moolenaarfunc Test_assert_equal()
1543345546SBram Moolenaar  let s = 'foo'
16683fa185SBram Moolenaar  call assert_equal('foo', s)
1743345546SBram Moolenaar  let n = 4
18683fa185SBram Moolenaar  call assert_equal(4, n)
1943345546SBram Moolenaar  let l = [1, 2, 3]
20683fa185SBram Moolenaar  call assert_equal([1, 2, 3], l)
2143345546SBram Moolenaarendfunc
222d820808SBram Moolenaar
23da5dcd93SBram Moolenaarfunc Test_assert_exception()
24da5dcd93SBram Moolenaar  try
25da5dcd93SBram Moolenaar    nocommand
26da5dcd93SBram Moolenaar  catch
27da5dcd93SBram Moolenaar    call assert_exception('E492:')
28da5dcd93SBram Moolenaar  endtry
29da5dcd93SBram Moolenaar
30da5dcd93SBram Moolenaar  try
31da5dcd93SBram Moolenaar    nocommand
32da5dcd93SBram Moolenaar  catch
33da5dcd93SBram Moolenaar    try
34da5dcd93SBram Moolenaar      " illegal argument, get NULL for error
35da5dcd93SBram Moolenaar      call assert_exception([])
36da5dcd93SBram Moolenaar    catch
37da5dcd93SBram Moolenaar      call assert_exception('E730:')
38da5dcd93SBram Moolenaar    endtry
39da5dcd93SBram Moolenaar  endtry
40da5dcd93SBram Moolenaarendfunc
41da5dcd93SBram Moolenaar
42a542c680SBram Moolenaarfunc Test_wrong_error_type()
43a542c680SBram Moolenaar  let save_verrors = v:errors
44a542c680SBram Moolenaar  let v:['errors'] = {'foo': 3}
45a542c680SBram Moolenaar  call assert_equal('yes', 'no')
46a542c680SBram Moolenaar  let verrors = v:errors
47a542c680SBram Moolenaar  let v:errors = save_verrors
48a542c680SBram Moolenaar  call assert_equal(type([]), type(verrors))
49a542c680SBram Moolenaarendfunc
50a542c680SBram Moolenaar
51*f1551964SBram Moolenaarfunc Test_compare_fail()
52*f1551964SBram Moolenaar  let s:v = {}
53*f1551964SBram Moolenaar  let s:x = {"a": s:v}
54*f1551964SBram Moolenaar  let s:v["b"] = s:x
55*f1551964SBram Moolenaar  let s:w = {"c": s:x, "d": ''}
56*f1551964SBram Moolenaar  try
57*f1551964SBram Moolenaar    call assert_equal(s:w, '')
58*f1551964SBram Moolenaar  catch
59*f1551964SBram Moolenaar    call assert_exception('E724:')
60*f1551964SBram Moolenaar    call assert_true(v:errors[0] =~ "Expected NULL but got ''")
61*f1551964SBram Moolenaar    call remove(v:errors, 0)
62*f1551964SBram Moolenaar  endtry
63*f1551964SBram Moolenaarendfunc
64*f1551964SBram Moolenaar
65*f1551964SBram Moolenaar
662d820808SBram Moolenaarfunc Test_user_is_happy()
672d820808SBram Moolenaar  smile
682d820808SBram Moolenaar  sleep 300m
692d820808SBram Moolenaarendfunc
70