mirror of
https://github.com/vim/vim.git
synced 2025-07-25 10:54:51 -04:00
patch 9.0.0169: insufficient testing for line2byte() with text properties
Problem: Insufficient testing for line2byte() with text properties. Solution: Add tests with a lot of text.
This commit is contained in:
parent
25463610df
commit
cf85d97baf
@ -904,6 +904,30 @@ func Test_prop_multiline()
|
|||||||
call prop_type_delete('comment')
|
call prop_type_delete('comment')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Run_test_with_line2byte(add_props)
|
||||||
|
new
|
||||||
|
setlocal ff=unix
|
||||||
|
if a:add_props
|
||||||
|
call prop_type_add('textprop', #{highlight: 'Search'})
|
||||||
|
endif
|
||||||
|
for nr in range(1, 1000)
|
||||||
|
call setline(nr, 'some longer text here')
|
||||||
|
if a:add_props && nr % 17 == 0
|
||||||
|
call prop_add(nr, 13, #{type: 'textprop', length: 4})
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
call assert_equal(21935, line2byte(998))
|
||||||
|
for nr in range(1, 1000, 7)
|
||||||
|
exe nr .. "s/longer/much more/"
|
||||||
|
endfor
|
||||||
|
call assert_equal(22364, line2byte(998))
|
||||||
|
|
||||||
|
if a:add_props
|
||||||
|
call prop_type_delete('textprop')
|
||||||
|
endif
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_prop_line2byte()
|
func Test_prop_line2byte()
|
||||||
call prop_type_add('comment', {'highlight': 'Directory'})
|
call prop_type_add('comment', {'highlight': 'Directory'})
|
||||||
new
|
new
|
||||||
@ -935,6 +959,11 @@ func Test_prop_line2byte()
|
|||||||
call assert_equal(1489, line2byte(400))
|
call assert_equal(1489, line2byte(400))
|
||||||
bwipe!
|
bwipe!
|
||||||
|
|
||||||
|
" Add many lines so that the data block is split.
|
||||||
|
" With and without props should give the same result.
|
||||||
|
call Run_test_with_line2byte(0)
|
||||||
|
call Run_test_with_line2byte(1)
|
||||||
|
|
||||||
call prop_type_delete('comment')
|
call prop_type_delete('comment')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
@ -9,10 +9,6 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Text properties implementation. See ":help text-properties".
|
* Text properties implementation. See ":help text-properties".
|
||||||
*
|
|
||||||
* TODO:
|
|
||||||
* - Also test line2byte() with many lines, so that ml_updatechunk() is taken
|
|
||||||
* into account.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "vim.h"
|
#include "vim.h"
|
||||||
|
@ -735,6 +735,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
169,
|
||||||
/**/
|
/**/
|
||||||
168,
|
168,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user