comparison src/testdir/test_vim9_builtin.vim @ 23788:d12ef361d9de v8.2.2435

patch 8.2.2435: setline() gives an error for some types Commit: https://github.com/vim/vim/commit/3445320839a38b3b0c253513b125da8298ec27d6 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 31 13:08:38 2021 +0100 patch 8.2.2435: setline() gives an error for some types Problem: setline() gives an error for some types. Solution: Allow any type, convert each item to a string.
author Bram Moolenaar <Bram@vim.org>
date Sun, 31 Jan 2021 13:15:04 +0100
parents 0512923e54e1
children 57f0e3fd7c05
comparison
equal deleted inserted replaced
23787:7b30bc27e54b 23788:d12ef361d9de
765 maxcount: 99, 765 maxcount: 99,
766 incomplete: 0}) 766 incomplete: 0})
767 bwipe! 767 bwipe!
768 enddef 768 enddef
769 769
770 def Test_set_get_bufline()
771 # similar to Test_setbufline_getbufline()
772 var lines =<< trim END
773 new
774 var b = bufnr('%')
775 hide
776 assert_equal(0, setbufline(b, 1, ['foo', 'bar']))
777 assert_equal(['foo'], getbufline(b, 1))
778 assert_equal(['bar'], getbufline(b, '$'))
779 assert_equal(['foo', 'bar'], getbufline(b, 1, 2))
780 exe "bd!" b
781 assert_equal([], getbufline(b, 1, 2))
782
783 split Xtest
784 setline(1, ['a', 'b', 'c'])
785 b = bufnr('%')
786 wincmd w
787
788 assert_equal(1, setbufline(b, 5, 'x'))
789 assert_equal(1, setbufline(b, 5, ['x']))
790 assert_equal(1, setbufline(b, 5, []))
791 assert_equal(1, setbufline(b, 5, test_null_list()))
792
793 assert_equal(1, 'x'->setbufline(bufnr('$') + 1, 1))
794 assert_equal(1, ['x']->setbufline(bufnr('$') + 1, 1))
795 assert_equal(1, []->setbufline(bufnr('$') + 1, 1))
796 assert_equal(1, test_null_list()->setbufline(bufnr('$') + 1, 1))
797
798 assert_equal(['a', 'b', 'c'], getbufline(b, 1, '$'))
799
800 assert_equal(0, setbufline(b, 4, ['d', 'e']))
801 assert_equal(['c'], b->getbufline(3))
802 assert_equal(['d'], getbufline(b, 4))
803 assert_equal(['e'], getbufline(b, 5))
804 assert_equal([], getbufline(b, 6))
805 assert_equal([], getbufline(b, 2, 1))
806
807 setbufline(b, 2, [function('eval'), {key: 123}, test_null_job()])
808 assert_equal(["function('eval')",
809 "{'key': 123}",
810 "no process"],
811 getbufline(b, 2, 4))
812
813 exe 'bwipe! ' .. b
814 END
815 CheckDefAndScriptSuccess(lines)
816 enddef
817
770 def Test_searchdecl() 818 def Test_searchdecl()
771 searchdecl('blah', true, true)->assert_equal(1) 819 searchdecl('blah', true, true)->assert_equal(1)
772 enddef 820 enddef
773 821
774 def Test_setbufvar() 822 def Test_setbufvar()