diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-13 13:59:59 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-13 13:59:59 +0100 |
commit | 07ad816525da67cab3c0db21d1286d221dbc7477 (patch) | |
tree | 85c9d2cd2a4185426aa04fa78fd4cdc94e1a7c5a /src/testdir/test_changelist.vim | |
parent | 486797413791f6be12dcec6e5faf4f952e4647ae (diff) | |
download | vim-git-07ad816525da67cab3c0db21d1286d221dbc7477.tar.gz |
patch 8.0.1514: getting the list of changes is not easyv8.0.1514
Problem: Getting the list of changes is not easy.
Solution: Add the getchangelist() function. (Yegappan Lakshmanan,
closes #2634)
Diffstat (limited to 'src/testdir/test_changelist.vim')
-rw-r--r-- | src/testdir/test_changelist.vim | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/testdir/test_changelist.vim b/src/testdir/test_changelist.vim new file mode 100644 index 000000000..0880fce84 --- /dev/null +++ b/src/testdir/test_changelist.vim @@ -0,0 +1,48 @@ +" Tests for the changelist functionality + +" Tests for the getchangelist() function +func Test_getchangelist() + if !has("jumplist") + return + endif + + bwipe! + enew + call assert_equal([], getchangelist(10)) + call assert_equal([[], 0], getchangelist(bufnr('%'))) + + call writefile(['line1', 'line2', 'line3'], 'Xfile1.txt') + call writefile(['line1', 'line2', 'line3'], 'Xfile2.txt') + + edit Xfile1.txt + 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(bufnr('%'))) + + hide edit Xfile2.txt + 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(bufnr('%'))) + hide enew + + call assert_equal([[ + \ {'lnum' : 2, 'col' : 4, 'coladd' : 0}, + \ {'lnum' : 4, 'col' : 4, 'coladd' : 0}, + \ {'lnum' : 6, 'col' : 4, 'coladd' : 0}], 3], getchangelist(2)) + call assert_equal([[ + \ {'lnum' : 1, 'col' : 6, 'coladd' : 0}, + \ {'lnum' : 3, 'col' : 6, 'coladd' : 0}], 2], getchangelist(3)) + + bwipe! + call delete('Xfile1.txt') + call delete('Xfile2.txt') +endfunc |