Mercurial > vim
view src/testdir/test_changelist.vim @ 28413:1170b35651a5 v8.2.4731
patch 8.2.4731: the changelist index is not remembered per buffer
Commit: https://github.com/vim/vim/commit/db0ea7f2b00c84d84f188c9e9953c4f1887528e7
Author: LemonBoy <thatlemon@gmail.com>
Date: Sun Apr 10 17:59:26 2022 +0100
patch 8.2.4731: the changelist index is not remembered per buffer
Problem: The changelist index is not remembered per buffer.
Solution: Keep the changelist index per window and buffer. (closes https://github.com/vim/vim/issues/10135,
closes #2173)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 10 Apr 2022 19:00:03 +0200 |
parents | 255bc9a08e58 |
children | 5baf5e50049b |
line wrap: on
line source
" Tests for the changelist functionality " Tests for the getchangelist() function func Test_changelist_index() edit Xfile1.txt exe "normal iabc\<C-G>u\ndef\<C-G>u\nghi" call assert_equal(3, getchangelist('%')[1]) " Move one step back in the changelist. normal 2g; hide edit Xfile2.txt exe "normal iabcd\<C-G>u\ndefg\<C-G>u\nghij" call assert_equal(3, getchangelist('%')[1]) " Move to the beginning of the changelist. normal 99g; " Check the changelist indices. call assert_equal(0, getchangelist('%')[1]) call assert_equal(1, getchangelist('#')[1]) bwipe! call delete('Xfile1.txt') call delete('Xfile2.txt') endfunc func Test_getchangelist() bwipe! enew call assert_equal([], 10->getchangelist()) call assert_equal([[], 0], getchangelist()) call writefile(['line1', 'line2', 'line3'], 'Xfile1.txt') call writefile(['line1', 'line2', 'line3'], 'Xfile2.txt') edit Xfile1.txt let buf_1 = bufnr() exe "normal 1Goline\<C-G>u1.1" exe "normal 3Goline\<C-G>u2.1" exe "normal 5Goline\<C-G>u3.1" normal g; call assert_equal([[ \ {'lnum' : 2, 'col' : 4, 'coladd' : 0}, \ {'lnum' : 4, 'col' : 4, 'coladd' : 0}, \ {'lnum' : 6, 'col' : 4, 'coladd' : 0}], 2], \ getchangelist('%')) hide edit Xfile2.txt let buf_2 = bufnr() exe "normal 1GOline\<C-G>u1.0" exe "normal 2Goline\<C-G>u2.0" call assert_equal([[ \ {'lnum' : 1, 'col' : 6, 'coladd' : 0}, \ {'lnum' : 3, 'col' : 6, 'coladd' : 0}], 2], \ getchangelist('%')) hide enew call assert_equal([[ \ {'lnum' : 2, 'col' : 4, 'coladd' : 0}, \ {'lnum' : 4, 'col' : 4, 'coladd' : 0}, \ {'lnum' : 6, 'col' : 4, 'coladd' : 0}], 2], \ getchangelist(buf_1)) call assert_equal([[ \ {'lnum' : 1, 'col' : 6, 'coladd' : 0}, \ {'lnum' : 3, 'col' : 6, 'coladd' : 0}], 2], \ getchangelist(buf_2)) bwipe! call delete('Xfile1.txt') call delete('Xfile2.txt') endfunc " vim: shiftwidth=2 sts=2 expandtab