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