Mercurial > vim
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 |