Mercurial > vim
view src/testdir/test_changelist.vim @ 17444:f4ce361bb1e5 v8.1.1720
patch 8.1.1720: crash with very long %[] pattern
commit https://github.com/vim/vim/commit/2a5b52758bb327b89d22660cc28c157ec29782e5
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 20 18:56:06 2019 +0200
patch 8.1.1720: crash with very long %[] pattern
Problem: Crash with very long %[] pattern. (Reza Mirzazade farkhani)
Solution: Check for reg_toolong. (closes https://github.com/vim/vim/issues/4703)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 20 Jul 2019 19:00:06 +0200 |
parents | 3f3d9ed211b2 |
children | 4935244c1128 |
line wrap: on
line source
" 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('%')) 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('%')) 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('%')) 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