comparison src/testdir/test_signs.vim @ 29994:86eb4aba16c3 v9.0.0335

patch 9.0.0335: checks for Dictionary argument often give a vague error Commit: https://github.com/vim/vim/commit/04c4c5746e15884768d2cb41370c3276a196cd4c Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Tue Aug 30 19:48:24 2022 +0100 patch 9.0.0335: checks for Dictionary argument often give a vague error Problem: Checks for Dictionary argument often give a vague error message. Solution: Give a useful error message. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/11009)
author Bram Moolenaar <Bram@vim.org>
date Tue, 30 Aug 2022 21:00:05 +0200
parents 84d60deb8f82
children adb0de8be4ce
comparison
equal deleted inserted replaced
29993:8dd1900432a0 29994:86eb4aba16c3
447 447
448 " Tests for invalid arguments to sign_define() 448 " Tests for invalid arguments to sign_define()
449 call assert_fails('call sign_define("sign4", {"text" : "===>"})', 'E239:') 449 call assert_fails('call sign_define("sign4", {"text" : "===>"})', 'E239:')
450 call assert_fails('call sign_define("sign5", {"text" : ""})', 'E239:') 450 call assert_fails('call sign_define("sign5", {"text" : ""})', 'E239:')
451 call assert_fails('call sign_define({})', 'E731:') 451 call assert_fails('call sign_define({})', 'E731:')
452 call assert_fails('call sign_define("sign6", [])', 'E715:') 452 call assert_fails('call sign_define("sign6", [])', 'E1206:')
453 453
454 " Tests for sign_getdefined() 454 " Tests for sign_getdefined()
455 call assert_equal([], sign_getdefined("none")) 455 call assert_equal([], sign_getdefined("none"))
456 call assert_fails('call sign_getdefined({})', 'E731:') 456 call assert_fails('call sign_getdefined({})', 'E731:')
457 457
474 \ sign_getplaced('', {'id' : 10})) 474 \ sign_getplaced('', {'id' : 10}))
475 475
476 " Tests for invalid arguments to sign_place() 476 " Tests for invalid arguments to sign_place()
477 call assert_fails('call sign_place([], "", "mySign", 1)', 'E745:') 477 call assert_fails('call sign_place([], "", "mySign", 1)', 'E745:')
478 call assert_fails('call sign_place(5, "", "mySign", -1)', 'E158:') 478 call assert_fails('call sign_place(5, "", "mySign", -1)', 'E158:')
479 call assert_fails('call sign_place(-1, "", "sign1", "Xsign", [])', 479 call assert_fails('call sign_place(-1, "", "sign1", "Xsign", [])', 'E1206:')
480 \ 'E715:')
481 call assert_fails('call sign_place(-1, "", "sign1", "Xsign", 480 call assert_fails('call sign_place(-1, "", "sign1", "Xsign",
482 \ {"lnum" : 30})', 'E474:') 481 \ {"lnum" : 30})', 'E474:')
483 call assert_fails('call sign_place(10, "", "xsign1x", "Xsign", 482 call assert_fails('call sign_place(10, "", "xsign1x", "Xsign",
484 \ {"lnum" : 30})', 'E155:') 483 \ {"lnum" : 30})', 'E155:')
485 call assert_fails('call sign_place(10, "", "", "Xsign", 484 call assert_fails('call sign_place(10, "", "", "Xsign",
510 \ 'priority' : 10}]}], 509 \ 'priority' : 10}]}],
511 \ sign_getplaced()) 510 \ sign_getplaced())
512 call assert_fails("call sign_getplaced('dummy.sign')", 'E158:') 511 call assert_fails("call sign_getplaced('dummy.sign')", 'E158:')
513 call assert_fails('call sign_getplaced("&")', 'E158:') 512 call assert_fails('call sign_getplaced("&")', 'E158:')
514 call assert_fails('call sign_getplaced(-1)', 'E158:') 513 call assert_fails('call sign_getplaced(-1)', 'E158:')
515 call assert_fails('call sign_getplaced("Xsign", [])', 'E715:') 514 call assert_fails('call sign_getplaced("Xsign", [])', 'E1206:')
516 call assert_equal([{'bufnr' : bufnr(''), 'signs' : []}], 515 call assert_equal([{'bufnr' : bufnr(''), 'signs' : []}],
517 \ sign_getplaced('Xsign', {'lnum' : 1000000})) 516 \ sign_getplaced('Xsign', {'lnum' : 1000000}))
518 call assert_fails("call sign_getplaced('Xsign', {'lnum' : []})", 517 call assert_fails("call sign_getplaced('Xsign', {'lnum' : []})",
519 \ 'E745:') 518 \ 'E745:')
520 call assert_equal([{'bufnr' : bufnr(''), 'signs' : []}], 519 call assert_equal([{'bufnr' : bufnr(''), 'signs' : []}],
533 \ {'id' : 20, 'buffer' : 'buffer.c'})", 'E158:') 532 \ {'id' : 20, 'buffer' : 'buffer.c'})", 'E158:')
534 call assert_fails("call sign_unplace('', 533 call assert_fails("call sign_unplace('',
535 \ {'id' : 20, 'buffer' : '&'})", 'E158:') 534 \ {'id' : 20, 'buffer' : '&'})", 'E158:')
536 call assert_fails("call sign_unplace('g1', 535 call assert_fails("call sign_unplace('g1',
537 \ {'id' : 20, 'buffer' : 200})", 'E158:') 536 \ {'id' : 20, 'buffer' : 200})", 'E158:')
538 call assert_fails("call sign_unplace('g1', 'mySign')", 'E715:') 537 call assert_fails("call sign_unplace('g1', 'mySign')", 'E1206:')
539 538
540 call sign_unplace('*') 539 call sign_unplace('*')
541 540
542 " Test for modifying a placed sign 541 " Test for modifying a placed sign
543 call assert_equal(15, sign_place(15, '', 'sign1', 'Xsign', {'lnum' : 20})) 542 call assert_equal(15, sign_place(15, '', 'sign1', 'Xsign', {'lnum' : 20}))
1552 \ {'id' : 1, 'name' : 'sign2', 'lnum' : 5, 'group' : '', 1551 \ {'id' : 1, 'name' : 'sign2', 'lnum' : 5, 'group' : '',
1553 \ 'priority' : 5}], 1552 \ 'priority' : 5}],
1554 \ s[0].signs) 1553 \ s[0].signs)
1555 1554
1556 " Error case 1555 " Error case
1557 call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign', 1556 call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign', [])", 'E1206:')
1558 \ [])", 'E715:')
1559 call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign', 1557 call assert_fails("call sign_place(1, 'g1', 'sign1', 'Xsign',
1560 \ {'priority' : []})", 'E745:') 1558 \ {'priority' : []})", 'E745:')
1561 call sign_unplace('*') 1559 call sign_unplace('*')
1562 1560
1563 " Tests for the :sign place command with priority 1561 " Tests for the :sign place command with priority