Mercurial > vim
comparison src/testdir/test_signs.vim @ 17805:313f498c646e v8.1.1899
patch 8.1.1899: sign_place() does not work as documented
Commit: https://github.com/vim/vim/commit/42aff46d9783d6c80519a35350065c34372fbf70
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Aug 21 13:20:29 2019 +0200
patch 8.1.1899: sign_place() does not work as documented
Problem: sign_place() does not work as documented.
Solution: Make accept line numbers like line(). (Yegappan Lakshmanan,
closes #4848)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 21 Aug 2019 13:30:03 +0200 |
parents | 45c1dc353321 |
children | b38fa4d37b7c |
comparison
equal
deleted
inserted
replaced
17804:5f09328ccc88 | 17805:313f498c646e |
---|---|
455 call assert_fails('call sign_place(5, "", "sign1", "@", {"lnum" : 10})', | 455 call assert_fails('call sign_place(5, "", "sign1", "@", {"lnum" : 10})', |
456 \ 'E158:') | 456 \ 'E158:') |
457 call assert_fails('call sign_place(5, "", "sign1", [], {"lnum" : 10})', | 457 call assert_fails('call sign_place(5, "", "sign1", [], {"lnum" : 10})', |
458 \ 'E158:') | 458 \ 'E158:') |
459 call assert_fails('call sign_place(21, "", "sign1", "Xsign", | 459 call assert_fails('call sign_place(21, "", "sign1", "Xsign", |
460 \ {"lnum" : -1})', 'E885:') | 460 \ {"lnum" : -1})', 'E474:') |
461 call assert_fails('call sign_place(22, "", "sign1", "Xsign", | 461 call assert_fails('call sign_place(22, "", "sign1", "Xsign", |
462 \ {"lnum" : 0})', 'E885:') | 462 \ {"lnum" : 0})', 'E474:') |
463 call assert_fails('call sign_place(22, "", "sign1", "Xsign", | 463 call assert_fails('call sign_place(22, "", "sign1", "Xsign", |
464 \ {"lnum" : []})', 'E745:') | 464 \ {"lnum" : []})', 'E474:') |
465 call assert_equal(-1, sign_place(1, "*", "sign1", "Xsign", {"lnum" : 10})) | 465 call assert_equal(-1, sign_place(1, "*", "sign1", "Xsign", {"lnum" : 10})) |
466 | 466 |
467 " Tests for sign_getplaced() | 467 " Tests for sign_getplaced() |
468 call assert_equal([{'bufnr' : bufnr(''), 'signs' : | 468 call assert_equal([{'bufnr' : bufnr(''), 'signs' : |
469 \ [{'id' : 10, 'group' : '', 'lnum' : 20, 'name' : 'sign1', | 469 \ [{'id' : 10, 'group' : '', 'lnum' : 20, 'name' : 'sign1', |
514 " Tests for sign_undefine() | 514 " Tests for sign_undefine() |
515 call assert_equal(0, sign_undefine("sign1")) | 515 call assert_equal(0, sign_undefine("sign1")) |
516 call assert_equal([], sign_getdefined("sign1")) | 516 call assert_equal([], sign_getdefined("sign1")) |
517 call assert_fails('call sign_undefine("none")', 'E155:') | 517 call assert_fails('call sign_undefine("none")', 'E155:') |
518 call assert_fails('call sign_undefine({})', 'E731:') | 518 call assert_fails('call sign_undefine({})', 'E731:') |
519 | |
520 " Test for using '.' as the line number for sign_place() | |
521 call sign_define("sign1", attr) | |
522 call cursor(22, 1) | |
523 call assert_equal(15, sign_place(15, '', 'sign1', 'Xsign', | |
524 \ {'lnum' : '.'})) | |
525 call assert_equal([{'bufnr' : bufnr(''), 'signs' : | |
526 \ [{'id' : 15, 'group' : '', 'lnum' : 22, 'name' : 'sign1', | |
527 \ 'priority' : 10}]}], | |
528 \ sign_getplaced('%', {'lnum' : 22})) | |
519 | 529 |
520 call delete("Xsign") | 530 call delete("Xsign") |
521 call sign_unplace('*') | 531 call sign_unplace('*') |
522 call sign_undefine() | 532 call sign_undefine() |
523 enew | only | 533 enew | only |
1926 \ {'id' : 5, 'name' : 'sign1', 'buffer' : 'Xsign'}])) | 1936 \ {'id' : 5, 'name' : 'sign1', 'buffer' : 'Xsign'}])) |
1927 let s = sign_getplaced('Xsign', {'id' : 5, 'group' : ''}) | 1937 let s = sign_getplaced('Xsign', {'id' : 5, 'group' : ''}) |
1928 call assert_equal([{'id' : 5, 'name' : 'sign1', 'lnum' : 11, | 1938 call assert_equal([{'id' : 5, 'name' : 'sign1', 'lnum' : 11, |
1929 \ 'group' : '', 'priority' : 10}], s[0].signs) | 1939 \ 'group' : '', 'priority' : 10}], s[0].signs) |
1930 | 1940 |
1941 " Place a sign using '.' as the line number | |
1942 call cursor(23, 1) | |
1943 call assert_equal([7], sign_placelist([ | |
1944 \ {'id' : 7, 'name' : 'sign1', 'buffer' : '%', 'lnum' : '.'}])) | |
1945 let s = sign_getplaced('%', {'lnum' : '.'}) | |
1946 call assert_equal([{'id' : 7, 'name' : 'sign1', 'lnum' : 23, | |
1947 \ 'group' : '', 'priority' : 10}], s[0].signs) | |
1948 | |
1931 " Place sign without a sign name | 1949 " Place sign without a sign name |
1932 call assert_equal([-1], sign_placelist([{'id' : 10, 'buffer' : 'Xsign', | 1950 call assert_equal([-1], sign_placelist([{'id' : 10, 'buffer' : 'Xsign', |
1933 \ 'lnum' : 12, 'group' : ''}])) | 1951 \ 'lnum' : 12, 'group' : ''}])) |
1934 | 1952 |
1935 " Place sign without a buffer | 1953 " Place sign without a buffer |