comparison src/testdir/test_vim9_builtin.vim @ 23604:1816ea68c022 v8.2.2344

patch 8.2.2344: using inclusive index for slice is not always desired Commit: https://github.com/vim/vim/commit/6601b62943a19d4f8818c3638440663d67a17b6a Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 13 21:47:15 2021 +0100 patch 8.2.2344: using inclusive index for slice is not always desired Problem: Using inclusive index for slice is not always desired. Solution: Add the slice() method, which has an exclusive index. (closes #7408)
author Bram Moolenaar <Bram@vim.org>
date Wed, 13 Jan 2021 22:00:04 +0100
parents 7b3317e959e3
children 8dcb2255ff9a
comparison
equal deleted inserted replaced
23603:483d395694b0 23604:1816ea68c022
739 var reginfo = getreginfo('a') 739 var reginfo = getreginfo('a')
740 setreg('a', reginfo) 740 setreg('a', reginfo)
741 getreginfo('a')->assert_equal(reginfo) 741 getreginfo('a')->assert_equal(reginfo)
742 enddef 742 enddef
743 743
744 def Test_slice()
745 assert_equal('12345', slice('012345', 1))
746 assert_equal('123', slice('012345', 1, 4))
747 assert_equal('1234', slice('012345', 1, -1))
748 assert_equal('1', slice('012345', 1, -4))
749 assert_equal('', slice('012345', 1, -5))
750 assert_equal('', slice('012345', 1, -6))
751
752 assert_equal([1, 2, 3, 4, 5], slice(range(6), 1))
753 assert_equal([1, 2, 3], slice(range(6), 1, 4))
754 assert_equal([1, 2, 3, 4], slice(range(6), 1, -1))
755 assert_equal([1], slice(range(6), 1, -4))
756 assert_equal([], slice(range(6), 1, -5))
757 assert_equal([], slice(range(6), 1, -6))
758
759 assert_equal(0z1122334455, slice(0z001122334455, 1))
760 assert_equal(0z112233, slice(0z001122334455, 1, 4))
761 assert_equal(0z11223344, slice(0z001122334455, 1, -1))
762 assert_equal(0z11, slice(0z001122334455, 1, -4))
763 assert_equal(0z, slice(0z001122334455, 1, -5))
764 assert_equal(0z, slice(0z001122334455, 1, -6))
765 enddef
766
744 def Test_spellsuggest() 767 def Test_spellsuggest()
745 if !has('spell') 768 if !has('spell')
746 MissingFeature 'spell' 769 MissingFeature 'spell'
747 else 770 else
748 spellsuggest('marrch', 1, true)->assert_equal(['March']) 771 spellsuggest('marrch', 1, true)->assert_equal(['March'])