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 51f1551964SBram Moolenaarfunc Test_compare_fail() 52f1551964SBram Moolenaar let s:v = {} 53f1551964SBram Moolenaar let s:x = {"a": s:v} 54f1551964SBram Moolenaar let s:v["b"] = s:x 55f1551964SBram Moolenaar let s:w = {"c": s:x, "d": ''} 56f1551964SBram Moolenaar try 57f1551964SBram Moolenaar call assert_equal(s:w, '') 58f1551964SBram Moolenaar catch 59f1551964SBram Moolenaar call assert_exception('E724:') 60*ea6553beSBram Moolenaar call assert_match("Expected NULL but got ''", v:errors[0]) 61f1551964SBram Moolenaar call remove(v:errors, 0) 62f1551964SBram Moolenaar endtry 63f1551964SBram Moolenaarendfunc 64f1551964SBram Moolenaar 65*ea6553beSBram Moolenaarfunc Test_match() 66*ea6553beSBram Moolenaar call assert_match('^f.*b.*r$', 'foobar') 67*ea6553beSBram Moolenaar 68*ea6553beSBram Moolenaar call assert_match('bar.*foo', 'foobar') 69*ea6553beSBram Moolenaar call assert_match("Pattern 'bar.*foo' does not match 'foobar'", v:errors[0]) 70*ea6553beSBram Moolenaar call remove(v:errors, 0) 71*ea6553beSBram Moolenaar 72*ea6553beSBram Moolenaar call assert_match('bar.*foo', 'foobar', 'wrong') 73*ea6553beSBram Moolenaar call assert_match('wrong', v:errors[0]) 74*ea6553beSBram Moolenaar call remove(v:errors, 0) 75*ea6553beSBram Moolenaarendfunc 76*ea6553beSBram Moolenaar 771abb5026SBram Moolenaarfunc Test_assert_fail_fails() 781abb5026SBram Moolenaar call assert_fails('xxx', {}) 79*ea6553beSBram Moolenaar call assert_match("Expected {} but got 'E731:", v:errors[0]) 801abb5026SBram Moolenaar call remove(v:errors, 0) 811abb5026SBram Moolenaarendfunc 821abb5026SBram Moolenaar 83f1551964SBram Moolenaar 842d820808SBram Moolenaarfunc Test_user_is_happy() 852d820808SBram Moolenaar smile 862d820808SBram Moolenaar sleep 300m 872d820808SBram Moolenaarendfunc 88