143345546SBram Moolenaar" Test that the methods used for testing work. 243345546SBram Moolenaar 3683fa185SBram Moolenaarfunc Test_assert_false() 465a54649SBram Moolenaar call assert_equal(0, assert_false(0)) 565a54649SBram Moolenaar call assert_equal(0, assert_false(v:false)) 624278d24SBram Moolenaar call assert_equal(0, v:false->assert_false()) 765a54649SBram Moolenaar 865a54649SBram Moolenaar call assert_equal(1, assert_false(123)) 9631e8f93SBram Moolenaar call assert_match("Expected 'False' but got 123", v:errors[0]) 1065a54649SBram Moolenaar call remove(v:errors, 0) 1124278d24SBram Moolenaar 1224278d24SBram Moolenaar call assert_equal(1, 123->assert_false()) 13631e8f93SBram Moolenaar call assert_match("Expected 'False' but got 123", v:errors[0]) 1424278d24SBram Moolenaar call remove(v:errors, 0) 1543345546SBram Moolenaarendfunc 1643345546SBram Moolenaar 17683fa185SBram Moolenaarfunc Test_assert_true() 1865a54649SBram Moolenaar call assert_equal(0, assert_true(1)) 1965a54649SBram Moolenaar call assert_equal(0, assert_true(123)) 2065a54649SBram Moolenaar call assert_equal(0, assert_true(v:true)) 2124278d24SBram Moolenaar call assert_equal(0, v:true->assert_true()) 2265a54649SBram Moolenaar 2365a54649SBram Moolenaar call assert_equal(1, assert_true(0)) 24631e8f93SBram Moolenaar call assert_match("Expected 'True' but got 0", v:errors[0]) 2565a54649SBram Moolenaar call remove(v:errors, 0) 2624278d24SBram Moolenaar 2724278d24SBram Moolenaar call assert_equal(1, 0->assert_true()) 28631e8f93SBram Moolenaar call assert_match("Expected 'True' but got 0", v:errors[0]) 2924278d24SBram Moolenaar call remove(v:errors, 0) 3043345546SBram Moolenaarendfunc 3143345546SBram Moolenaar 32683fa185SBram Moolenaarfunc Test_assert_equal() 3343345546SBram Moolenaar let s = 'foo' 3465a54649SBram Moolenaar call assert_equal(0, assert_equal('foo', s)) 3543345546SBram Moolenaar let n = 4 3665a54649SBram Moolenaar call assert_equal(0, assert_equal(4, n)) 3743345546SBram Moolenaar let l = [1, 2, 3] 3865a54649SBram Moolenaar call assert_equal(0, assert_equal([1, 2, 3], l)) 397b293c73SBram Moolenaar call assert_equal(test_null_list(), test_null_list()) 407b293c73SBram Moolenaar call assert_equal(test_null_list(), []) 417b293c73SBram Moolenaar call assert_equal([], test_null_list()) 42b50e5f56SBram Moolenaar 43b50e5f56SBram Moolenaar let s = 'foo' 4465a54649SBram Moolenaar call assert_equal(1, assert_equal('bar', s)) 45b50e5f56SBram Moolenaar call assert_match("Expected 'bar' but got 'foo'", v:errors[0]) 46b50e5f56SBram Moolenaar call remove(v:errors, 0) 4786576712SBram Moolenaar 4886576712SBram Moolenaar call assert_equal('XxxxxxxxxxxxxxxxxxxxxxX', 'XyyyyyyyyyyyyyyyyyyyyyyyyyX') 4986576712SBram Moolenaar call assert_match("Expected 'X\\\\\\[x occurs 21 times]X' but got 'X\\\\\\[y occurs 25 times]X'", v:errors[0]) 5086576712SBram Moolenaar call remove(v:errors, 0) 517177da9dSBram Moolenaar 527177da9dSBram Moolenaar " special characters are escaped 537177da9dSBram Moolenaar call assert_equal("\b\e\f\n\t\r\\\x01\x7f", 'x') 547177da9dSBram Moolenaar call assert_match('Expected ''\\b\\e\\f\\n\\t\\r\\\\\\x01\\x7f'' but got ''x''', v:errors[0]) 557177da9dSBram Moolenaar call remove(v:errors, 0) 56b50e5f56SBram Moolenaarendfunc 57b50e5f56SBram Moolenaar 584a021dfbSBram Moolenaarfunc Test_assert_equal_dict() 594a021dfbSBram Moolenaar call assert_equal(0, assert_equal(#{one: 1, two: 2}, #{two: 2, one: 1})) 604a021dfbSBram Moolenaar 614a021dfbSBram Moolenaar call assert_equal(1, assert_equal(#{one: 1, two: 2}, #{two: 2, one: 3})) 624a021dfbSBram Moolenaar call assert_match("Expected {'one': 1} but got {'one': 3} - 1 equal item omitted", v:errors[0]) 634a021dfbSBram Moolenaar call remove(v:errors, 0) 644a021dfbSBram Moolenaar 654a021dfbSBram Moolenaar call assert_equal(1, assert_equal(#{one: 1, two: 2}, #{two: 22, one: 11})) 664a021dfbSBram Moolenaar call assert_match("Expected {'one': 1, 'two': 2} but got {'one': 11, 'two': 22}", v:errors[0]) 674a021dfbSBram Moolenaar call remove(v:errors, 0) 684a021dfbSBram Moolenaar 694a021dfbSBram Moolenaar call assert_equal(1, assert_equal(#{}, #{two: 2, one: 1})) 704a021dfbSBram Moolenaar call assert_match("Expected {} but got {'one': 1, 'two': 2}", v:errors[0]) 714a021dfbSBram Moolenaar call remove(v:errors, 0) 724a021dfbSBram Moolenaar 734a021dfbSBram Moolenaar call assert_equal(1, assert_equal(#{two: 2, one: 1}, #{})) 744a021dfbSBram Moolenaar call assert_match("Expected {'one': 1, 'two': 2} but got {}", v:errors[0]) 754a021dfbSBram Moolenaar call remove(v:errors, 0) 764a021dfbSBram Moolenaarendfunc 774a021dfbSBram Moolenaar 78d96ff165SBram Moolenaarfunc Test_assert_equalfile() 7965a54649SBram Moolenaar call assert_equal(1, assert_equalfile('abcabc', 'xyzxyz')) 80d96ff165SBram Moolenaar call assert_match("E485: Can't read file abcabc", v:errors[0]) 81d96ff165SBram Moolenaar call remove(v:errors, 0) 82d96ff165SBram Moolenaar 83d96ff165SBram Moolenaar let goodtext = ["one", "two", "three"] 84d96ff165SBram Moolenaar call writefile(goodtext, 'Xone') 85e49fbff3SBram Moolenaar call assert_equal(1, 'Xone'->assert_equalfile('xyzxyz')) 86d96ff165SBram Moolenaar call assert_match("E485: Can't read file xyzxyz", v:errors[0]) 87d96ff165SBram Moolenaar call remove(v:errors, 0) 88d96ff165SBram Moolenaar 89d96ff165SBram Moolenaar call writefile(goodtext, 'Xtwo') 9065a54649SBram Moolenaar call assert_equal(0, assert_equalfile('Xone', 'Xtwo')) 91d96ff165SBram Moolenaar 92d96ff165SBram Moolenaar call writefile([goodtext[0]], 'Xone') 9365a54649SBram Moolenaar call assert_equal(1, assert_equalfile('Xone', 'Xtwo')) 94d96ff165SBram Moolenaar call assert_match("first file is shorter", v:errors[0]) 95d96ff165SBram Moolenaar call remove(v:errors, 0) 96d96ff165SBram Moolenaar 97d96ff165SBram Moolenaar call writefile(goodtext, 'Xone') 98d96ff165SBram Moolenaar call writefile([goodtext[0]], 'Xtwo') 9965a54649SBram Moolenaar call assert_equal(1, assert_equalfile('Xone', 'Xtwo')) 100d96ff165SBram Moolenaar call assert_match("second file is shorter", v:errors[0]) 101d96ff165SBram Moolenaar call remove(v:errors, 0) 102d96ff165SBram Moolenaar 103d96ff165SBram Moolenaar call writefile(['1234X89'], 'Xone') 104d96ff165SBram Moolenaar call writefile(['1234Y89'], 'Xtwo') 10565a54649SBram Moolenaar call assert_equal(1, assert_equalfile('Xone', 'Xtwo')) 10630cc44a9SBram Moolenaar call assert_match('difference at byte 4, line 1 after "1234X" vs "1234Y"', v:errors[0]) 10730cc44a9SBram Moolenaar call remove(v:errors, 0) 10830cc44a9SBram Moolenaar 10930cc44a9SBram Moolenaar call writefile([repeat('x', 234) .. 'X'], 'Xone') 11030cc44a9SBram Moolenaar call writefile([repeat('x', 234) .. 'Y'], 'Xtwo') 11130cc44a9SBram Moolenaar call assert_equal(1, assert_equalfile('Xone', 'Xtwo')) 11230cc44a9SBram Moolenaar let xes = repeat('x', 134) 11330cc44a9SBram Moolenaar call assert_match('difference at byte 234, line 1 after "' .. xes .. 'X" vs "' .. xes .. 'Y"', v:errors[0]) 114d96ff165SBram Moolenaar call remove(v:errors, 0) 115d96ff165SBram Moolenaar 116fb517bacSBram Moolenaar call assert_equal(1, assert_equalfile('Xone', 'Xtwo', 'a message')) 11730cc44a9SBram Moolenaar call assert_match("a message: difference at byte 234, line 1 after", v:errors[0]) 118fb517bacSBram Moolenaar call remove(v:errors, 0) 119fb517bacSBram Moolenaar 120d96ff165SBram Moolenaar call delete('Xone') 121d96ff165SBram Moolenaar call delete('Xtwo') 122d96ff165SBram Moolenaarendfunc 123d96ff165SBram Moolenaar 124b50e5f56SBram Moolenaarfunc Test_assert_notequal() 125b50e5f56SBram Moolenaar let n = 4 12665a54649SBram Moolenaar call assert_equal(0, assert_notequal('foo', n)) 127b50e5f56SBram Moolenaar let s = 'foo' 12865a54649SBram Moolenaar call assert_equal(0, assert_notequal([1, 2, 3], s)) 129b50e5f56SBram Moolenaar 13065a54649SBram Moolenaar call assert_equal(1, assert_notequal('foo', s)) 1315869cf06SBram Moolenaar call assert_match("Expected not equal to 'foo'", v:errors[0]) 132b50e5f56SBram Moolenaar call remove(v:errors, 0) 13343345546SBram Moolenaarendfunc 1342d820808SBram Moolenaar 13537175409SBram Moolenaarfunc Test_assert_report() 13665a54649SBram Moolenaar call assert_equal(1, assert_report('something is wrong')) 13737175409SBram Moolenaar call assert_match('something is wrong', v:errors[0]) 13837175409SBram Moolenaar call remove(v:errors, 0) 139e49fbff3SBram Moolenaar call assert_equal(1, 'also wrong'->assert_report()) 140e49fbff3SBram Moolenaar call assert_match('also wrong', v:errors[0]) 141e49fbff3SBram Moolenaar call remove(v:errors, 0) 14237175409SBram Moolenaarendfunc 14337175409SBram Moolenaar 144da5dcd93SBram Moolenaarfunc Test_assert_exception() 145da5dcd93SBram Moolenaar try 146da5dcd93SBram Moolenaar nocommand 147da5dcd93SBram Moolenaar catch 14865a54649SBram Moolenaar call assert_equal(0, assert_exception('E492:')) 149da5dcd93SBram Moolenaar endtry 150da5dcd93SBram Moolenaar 151da5dcd93SBram Moolenaar try 152da5dcd93SBram Moolenaar nocommand 153da5dcd93SBram Moolenaar catch 1547177da9dSBram Moolenaar call assert_equal(1, assert_exception('E12345:')) 1557177da9dSBram Moolenaar endtry 1567177da9dSBram Moolenaar call assert_match("Expected 'E12345:' but got 'Vim:E492: ", v:errors[0]) 1577177da9dSBram Moolenaar call remove(v:errors, 0) 1587177da9dSBram Moolenaar 1597177da9dSBram Moolenaar try 1607177da9dSBram Moolenaar nocommand 1617177da9dSBram Moolenaar catch 162da5dcd93SBram Moolenaar try 163da5dcd93SBram Moolenaar " illegal argument, get NULL for error 16465a54649SBram Moolenaar call assert_equal(1, assert_exception([])) 165da5dcd93SBram Moolenaar catch 16665a54649SBram Moolenaar call assert_equal(0, assert_exception('E730:')) 167da5dcd93SBram Moolenaar endtry 168da5dcd93SBram Moolenaar endtry 1697177da9dSBram Moolenaar 1707177da9dSBram Moolenaar call assert_equal(1, assert_exception('E492:')) 1717177da9dSBram Moolenaar call assert_match('v:exception is not set', v:errors[0]) 1727177da9dSBram Moolenaar call remove(v:errors, 0) 173da5dcd93SBram Moolenaarendfunc 174da5dcd93SBram Moolenaar 175a542c680SBram Moolenaarfunc Test_wrong_error_type() 176a542c680SBram Moolenaar let save_verrors = v:errors 177a542c680SBram Moolenaar let v:['errors'] = {'foo': 3} 178a542c680SBram Moolenaar call assert_equal('yes', 'no') 179a542c680SBram Moolenaar let verrors = v:errors 180a542c680SBram Moolenaar let v:errors = save_verrors 181a542c680SBram Moolenaar call assert_equal(type([]), type(verrors)) 182a542c680SBram Moolenaarendfunc 183a542c680SBram Moolenaar 184f1551964SBram Moolenaarfunc Test_compare_fail() 185f1551964SBram Moolenaar let s:v = {} 186f1551964SBram Moolenaar let s:x = {"a": s:v} 187f1551964SBram Moolenaar let s:v["b"] = s:x 188f1551964SBram Moolenaar let s:w = {"c": s:x, "d": ''} 189f1551964SBram Moolenaar try 190f1551964SBram Moolenaar call assert_equal(s:w, '') 191f1551964SBram Moolenaar catch 19265a54649SBram Moolenaar call assert_equal(0, assert_exception('E724:')) 193ea6553beSBram Moolenaar call assert_match("Expected NULL but got ''", v:errors[0]) 194f1551964SBram Moolenaar call remove(v:errors, 0) 195f1551964SBram Moolenaar endtry 196f1551964SBram Moolenaarendfunc 197f1551964SBram Moolenaar 198ea6553beSBram Moolenaarfunc Test_match() 19965a54649SBram Moolenaar call assert_equal(0, assert_match('^f.*b.*r$', 'foobar')) 200ea6553beSBram Moolenaar 20165a54649SBram Moolenaar call assert_equal(1, assert_match('bar.*foo', 'foobar')) 202ea6553beSBram Moolenaar call assert_match("Pattern 'bar.*foo' does not match 'foobar'", v:errors[0]) 203ea6553beSBram Moolenaar call remove(v:errors, 0) 204ea6553beSBram Moolenaar 20565a54649SBram Moolenaar call assert_equal(1, assert_match('bar.*foo', 'foobar', 'wrong')) 206ea6553beSBram Moolenaar call assert_match('wrong', v:errors[0]) 207ea6553beSBram Moolenaar call remove(v:errors, 0) 20824278d24SBram Moolenaar 20924278d24SBram Moolenaar call assert_equal(1, 'foobar'->assert_match('bar.*foo', 'wrong')) 21024278d24SBram Moolenaar call assert_match('wrong', v:errors[0]) 21124278d24SBram Moolenaar call remove(v:errors, 0) 212ea6553beSBram Moolenaarendfunc 213ea6553beSBram Moolenaar 214b50e5f56SBram Moolenaarfunc Test_notmatch() 21565a54649SBram Moolenaar call assert_equal(0, assert_notmatch('foo', 'bar')) 21665a54649SBram Moolenaar call assert_equal(0, assert_notmatch('^foobar$', 'foobars')) 217b50e5f56SBram Moolenaar 21865a54649SBram Moolenaar call assert_equal(1, assert_notmatch('foo', 'foobar')) 219b50e5f56SBram Moolenaar call assert_match("Pattern 'foo' does match 'foobar'", v:errors[0]) 220b50e5f56SBram Moolenaar call remove(v:errors, 0) 22124278d24SBram Moolenaar 22224278d24SBram Moolenaar call assert_equal(1, 'foobar'->assert_notmatch('foo')) 22324278d24SBram Moolenaar call assert_match("Pattern 'foo' does match 'foobar'", v:errors[0]) 22424278d24SBram Moolenaar call remove(v:errors, 0) 225b50e5f56SBram Moolenaarendfunc 226b50e5f56SBram Moolenaar 2271abb5026SBram Moolenaarfunc Test_assert_fail_fails() 2282b6ef856SBram Moolenaar call assert_equal(1, assert_fails('xxx', 'E12345')) 2292b6ef856SBram Moolenaar call assert_match("Expected 'E12345' but got 'E492:", v:errors[0]) 2301abb5026SBram Moolenaar call remove(v:errors, 0) 2311307d1c0SBram Moolenaar 2322b6ef856SBram Moolenaar call assert_equal(1, assert_fails('xxx', 'E9876', 'stupid')) 2332b6ef856SBram Moolenaar call assert_match("stupid: Expected 'E9876' but got 'E492:", v:errors[0]) 2341307d1c0SBram Moolenaar call remove(v:errors, 0) 2351307d1c0SBram Moolenaar 2367177da9dSBram Moolenaar call assert_equal(1, assert_fails('xxx', ['E9876'])) 237631e8f93SBram Moolenaar call assert_match("Expected 'E9876' but got 'E492:", v:errors[0]) 2387177da9dSBram Moolenaar call remove(v:errors, 0) 2397177da9dSBram Moolenaar 2407177da9dSBram Moolenaar call assert_equal(1, assert_fails('xxx', ['E492:', 'E9876'])) 241631e8f93SBram Moolenaar call assert_match("Expected 'E9876' but got 'E492:", v:errors[0]) 2427177da9dSBram Moolenaar call remove(v:errors, 0) 2437177da9dSBram Moolenaar 2441307d1c0SBram Moolenaar call assert_equal(1, assert_fails('echo', '', 'echo command')) 2451307d1c0SBram Moolenaar call assert_match("command did not fail: echo command", v:errors[0]) 2461307d1c0SBram Moolenaar call remove(v:errors, 0) 24724278d24SBram Moolenaar 24824278d24SBram Moolenaar call assert_equal(1, 'echo'->assert_fails('', 'echo command')) 24924278d24SBram Moolenaar call assert_match("command did not fail: echo command", v:errors[0]) 25024278d24SBram Moolenaar call remove(v:errors, 0) 2517177da9dSBram Moolenaar 2527177da9dSBram Moolenaar try 2537177da9dSBram Moolenaar call assert_equal(1, assert_fails('xxx', [])) 2547177da9dSBram Moolenaar catch 2557177da9dSBram Moolenaar let exp = v:exception 2567177da9dSBram Moolenaar endtry 2577707228aSBram Moolenaar call assert_match("E856: \"assert_fails()\" second argument", exp) 2587177da9dSBram Moolenaar 2597177da9dSBram Moolenaar try 2607177da9dSBram Moolenaar call assert_equal(1, assert_fails('xxx', ['1', '2', '3'])) 2617177da9dSBram Moolenaar catch 2627177da9dSBram Moolenaar let exp = v:exception 2637177da9dSBram Moolenaar endtry 2647707228aSBram Moolenaar call assert_match("E856: \"assert_fails()\" second argument", exp) 2657177da9dSBram Moolenaar 2667177da9dSBram Moolenaar try 2677177da9dSBram Moolenaar call assert_equal(1, assert_fails('xxx', #{one: 1})) 2687177da9dSBram Moolenaar catch 2697177da9dSBram Moolenaar let exp = v:exception 2707177da9dSBram Moolenaar endtry 271*4490ec4eSYegappan Lakshmanan call assert_match("E1222: String or List required for argument 2", exp) 27244d6652dSBram Moolenaar 27344d6652dSBram Moolenaar try 27444d6652dSBram Moolenaar call assert_equal(1, assert_fails('xxx', 'E492', '', 'burp')) 27544d6652dSBram Moolenaar catch 27644d6652dSBram Moolenaar let exp = v:exception 27744d6652dSBram Moolenaar endtry 278a764e73dSYegappan Lakshmanan call assert_match("E1210: Number required for argument 4", exp) 27944d6652dSBram Moolenaar 28044d6652dSBram Moolenaar try 28144d6652dSBram Moolenaar call assert_equal(1, assert_fails('xxx', 'E492', '', 54, 123)) 28244d6652dSBram Moolenaar catch 28344d6652dSBram Moolenaar let exp = v:exception 28444d6652dSBram Moolenaar endtry 285a764e73dSYegappan Lakshmanan call assert_match("E1174: String required for argument 5", exp) 2861abb5026SBram Moolenaarendfunc 2871abb5026SBram Moolenaar 2887780e5c1SBram Moolenaarfunc Test_assert_fails_in_try_block() 2897780e5c1SBram Moolenaar try 2907780e5c1SBram Moolenaar call assert_equal(0, assert_fails('throw "error"')) 2917780e5c1SBram Moolenaar endtry 2927780e5c1SBram Moolenaarendfunc 2937780e5c1SBram Moolenaar 294b48e96f6SBram Moolenaarfunc Test_assert_beeps() 295b48e96f6SBram Moolenaar new 29665a54649SBram Moolenaar call assert_equal(0, assert_beeps('normal h')) 297b48e96f6SBram Moolenaar 29865a54649SBram Moolenaar call assert_equal(1, assert_beeps('normal 0')) 299b48e96f6SBram Moolenaar call assert_match("command did not beep: normal 0", v:errors[0]) 300b48e96f6SBram Moolenaar call remove(v:errors, 0) 30124278d24SBram Moolenaar 30224278d24SBram Moolenaar call assert_equal(0, 'normal h'->assert_beeps()) 30324278d24SBram Moolenaar call assert_equal(1, 'normal 0'->assert_beeps()) 30424278d24SBram Moolenaar call assert_match("command did not beep: normal 0", v:errors[0]) 30524278d24SBram Moolenaar call remove(v:errors, 0) 30624278d24SBram Moolenaar 307b48e96f6SBram Moolenaar bwipe 308b48e96f6SBram Moolenaarendfunc 309b48e96f6SBram Moolenaar 31061c04493SBram Moolenaarfunc Test_assert_inrange() 31165a54649SBram Moolenaar call assert_equal(0, assert_inrange(7, 7, 7)) 31265a54649SBram Moolenaar call assert_equal(0, assert_inrange(5, 7, 5)) 31365a54649SBram Moolenaar call assert_equal(0, assert_inrange(5, 7, 6)) 31465a54649SBram Moolenaar call assert_equal(0, assert_inrange(5, 7, 7)) 31561c04493SBram Moolenaar 31665a54649SBram Moolenaar call assert_equal(1, assert_inrange(5, 7, 4)) 31761c04493SBram Moolenaar call assert_match("Expected range 5 - 7, but got 4", v:errors[0]) 31861c04493SBram Moolenaar call remove(v:errors, 0) 31965a54649SBram Moolenaar call assert_equal(1, assert_inrange(5, 7, 8)) 32061c04493SBram Moolenaar call assert_match("Expected range 5 - 7, but got 8", v:errors[0]) 32161c04493SBram Moolenaar call remove(v:errors, 0) 32234215663SBram Moolenaar 32324278d24SBram Moolenaar call assert_equal(0, 5->assert_inrange(5, 7)) 32424278d24SBram Moolenaar call assert_equal(0, 7->assert_inrange(5, 7)) 32524278d24SBram Moolenaar call assert_equal(1, 8->assert_inrange(5, 7)) 32624278d24SBram Moolenaar call assert_match("Expected range 5 - 7, but got 8", v:errors[0]) 32724278d24SBram Moolenaar call remove(v:errors, 0) 32824278d24SBram Moolenaar 32934215663SBram Moolenaar call assert_fails('call assert_inrange(1, 1)', 'E119:') 33038f08e76SBram Moolenaar 33138f08e76SBram Moolenaar if has('float') 33238f08e76SBram Moolenaar call assert_equal(0, assert_inrange(7.0, 7, 7)) 33338f08e76SBram Moolenaar call assert_equal(0, assert_inrange(7, 7.0, 7)) 33438f08e76SBram Moolenaar call assert_equal(0, assert_inrange(7, 7, 7.0)) 33538f08e76SBram Moolenaar call assert_equal(0, assert_inrange(5, 7, 5.0)) 33638f08e76SBram Moolenaar call assert_equal(0, assert_inrange(5, 7, 6.0)) 33738f08e76SBram Moolenaar call assert_equal(0, assert_inrange(5, 7, 7.0)) 33838f08e76SBram Moolenaar 33938f08e76SBram Moolenaar call assert_equal(1, assert_inrange(5, 7, 4.0)) 34038f08e76SBram Moolenaar call assert_match("Expected range 5.0 - 7.0, but got 4.0", v:errors[0]) 34138f08e76SBram Moolenaar call remove(v:errors, 0) 34238f08e76SBram Moolenaar call assert_equal(1, assert_inrange(5, 7, 8.0)) 34338f08e76SBram Moolenaar call assert_match("Expected range 5.0 - 7.0, but got 8.0", v:errors[0]) 34438f08e76SBram Moolenaar call remove(v:errors, 0) 34538f08e76SBram Moolenaar endif 34661c04493SBram Moolenaarendfunc 347f1551964SBram Moolenaar 348c7b831caSBram Moolenaarfunc Test_assert_with_msg() 349c7b831caSBram Moolenaar call assert_equal('foo', 'bar', 'testing') 350c7b831caSBram Moolenaar call assert_match("testing: Expected 'foo' but got 'bar'", v:errors[0]) 351c7b831caSBram Moolenaar call remove(v:errors, 0) 352c7b831caSBram Moolenaarendfunc 353c7b831caSBram Moolenaar 354eb992cb9SBram Moolenaarfunc Test_override() 355eb992cb9SBram Moolenaar call test_override('char_avail', 1) 356ce90e36fSBram Moolenaar eval 1->test_override('redraw') 357eb992cb9SBram Moolenaar call test_override('ALL', 0) 358e2e4075fSBram Moolenaar call assert_fails("call test_override('xxx', 1)", 'E475:') 359e2e4075fSBram Moolenaar call assert_fails("call test_override('redraw', 'yes')", 'E474:') 360eb992cb9SBram Moolenaarendfunc 361eb992cb9SBram Moolenaar 362b0f94c1fSBram Moolenaarfunc Test_mouse_position() 363b0f94c1fSBram Moolenaar let save_mouse = &mouse 364b0f94c1fSBram Moolenaar set mouse=a 365b0f94c1fSBram Moolenaar new 366b0f94c1fSBram Moolenaar call setline(1, ['line one', 'line two']) 367b0f94c1fSBram Moolenaar call assert_equal([0, 1, 1, 0], getpos('.')) 368b0f94c1fSBram Moolenaar call test_setmouse(1, 5) 369b0f94c1fSBram Moolenaar call feedkeys("\<LeftMouse>", "xt") 370b0f94c1fSBram Moolenaar call assert_equal([0, 1, 5, 0], getpos('.')) 371b0f94c1fSBram Moolenaar call test_setmouse(2, 20) 372b0f94c1fSBram Moolenaar call feedkeys("\<LeftMouse>", "xt") 373b0f94c1fSBram Moolenaar call assert_equal([0, 2, 8, 0], getpos('.')) 374b0f94c1fSBram Moolenaar call test_setmouse(5, 1) 375b0f94c1fSBram Moolenaar call feedkeys("\<LeftMouse>", "xt") 376b0f94c1fSBram Moolenaar call assert_equal([0, 2, 1, 0], getpos('.')) 3777237cab8SYegappan Lakshmanan call assert_fails('call test_setmouse("", 2)', 'E474:') 3787237cab8SYegappan Lakshmanan call assert_fails('call test_setmouse(1, "")', 'E474:') 379b0f94c1fSBram Moolenaar bwipe! 380b0f94c1fSBram Moolenaar let &mouse = save_mouse 381b0f94c1fSBram Moolenaarendfunc 382b0f94c1fSBram Moolenaar 3832d820808SBram Moolenaarfunc Test_user_is_happy() 3842d820808SBram Moolenaar smile 3852d820808SBram Moolenaar sleep 300m 3862d820808SBram Moolenaarendfunc 3878903676dSBram Moolenaar 3888903676dSBram Moolenaar" Must be last. 3898903676dSBram Moolenaarfunc Test_zz_quit_detected() 3908903676dSBram Moolenaar " Verify that if a test function ends Vim the test script detects this. 3918903676dSBram Moolenaar quit 3928903676dSBram Moolenaarendfunc 3936d91bcb4SBram Moolenaar 3946d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 395