view src/testdir/test_source_utf8.vim @ 33924:ccdb948c7273 v9.0.2160

patch 9.0.2160: instanceof() should use varargs as second arg Commit: https://github.com/vim/vim/commit/2025af165ec68d831f0f0f668a3ceac3f39142ef Author: Ernie Rael <errael@raelity.com> Date: Tue Dec 12 16:58:00 2023 +0100 patch 9.0.2160: instanceof() should use varargs as second arg Problem: instanceof() should use varargs as second arg Solution: Modify `instanceof()` to use varargs instead of list Modify `instanceof()` to use varargs instead of list Valid `instanceof()` arguments are `type`s. A `type` is not a value; it cannot be added to a list. This change is non-compatible with the current usage of instanceof; but instanceof is relatively new and it's a trivial change. fixes: #13421 closes: #13644 Signed-off-by: Ernie Rael <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 12 Dec 2023 17:15:03 +0100
parents ae10b91ac6b3
children
line wrap: on
line source

" Test the :source! command

source check.vim

func Test_source_utf8()
  " check that sourcing a script with 0x80 as second byte works
  new
  call setline(1, [':%s/àx/--à1234--/g', ':%s/Àx/--À1234--/g'])
  write! Xscript
  bwipe!
  new
  call setline(1, [' àx ', ' Àx '])
  source! Xscript | echo
  call assert_equal(' --à1234-- ', getline(1))
  call assert_equal(' --À1234-- ', getline(2))
  bwipe!
  call delete('Xscript')
endfunc

func Test_source_latin()
  " check that sourcing a latin1 script with a 0xc0 byte works
  new
  call setline(1, ["call feedkeys('r')", "call feedkeys('\xc0', 'xt')"])
  write! Xscript
  bwipe!
  new
  call setline(1, ['xxx'])
  source Xscript
  call assert_equal("\u00c0xx", getline(1))
  bwipe!
  call delete('Xscript')
endfunc

" Test for sourcing a file with CTRL-V's at the end of the line
func Test_source_ctrl_v()
  call writefile(['map __1 afirst',
        \ 'map __2 asecond',
        \ 'map __3 athird',
        \ 'map __4 afourth',
        \ 'map __5 afifth',
        \ "map __1 asd\<C-V>",
        \ "map __2 asd\<C-V>\<C-V>",
        \ "map __3 asd\<C-V>\<C-V>",
        \ "map __4 asd\<C-V>\<C-V>\<C-V>",
        \ "map __5 asd\<C-V>\<C-V>\<C-V>",
        \ ], 'Xtestfile', 'D')
  source Xtestfile
  enew!
  exe "normal __1\<Esc>\<Esc>__2\<Esc>__3\<Esc>\<Esc>__4\<Esc>__5\<Esc>"
  exe "%s/\<C-J>/0/g"
  call assert_equal(['sd',
        \ "map __2 asd\<Esc>secondsd\<Esc>sd0map __5 asd0fifth"],
        \ getline(1, 2))

  enew!
  unmap __1
  unmap __2
  unmap __3
  unmap __4
  unmap __5
endfunc

" vim: shiftwidth=2 sts=2 expandtab