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