view src/testdir/test_expand_func.vim @ 19013:dd9ab0674eec v8.2.0067

patch 8.2.0067: ERROR_UNKNOWN clashes on some systems Commit: https://github.com/vim/vim/commit/ef140544f6703a7a4c0f6a15f610508ed6b09e89 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Dec 31 21:27:13 2019 +0100 patch 8.2.0067: ERROR_UNKNOWN clashes on some systems Problem: ERROR_UNKNOWN clashes on some systems. Solution: Rename ERROR_ to FCERR_. (Ola S?der, closes https://github.com/vim/vim/issues/5415)
author Bram Moolenaar <Bram@vim.org>
date Tue, 31 Dec 2019 21:30:04 +0100
parents 73ddc462979d
children 6d3c683466f4
line wrap: on
line source

" Tests for expand()

let s:sfile = expand('<sfile>')
let s:slnum = str2nr(expand('<slnum>'))
let s:sflnum = str2nr(expand('<sflnum>'))

func s:expand_sfile()
  return expand('<sfile>')  
endfunc

func s:expand_slnum()
  return str2nr(expand('<slnum>'))  
endfunc

func s:expand_sflnum()
  return str2nr(expand('<sflnum>'))  
endfunc

func Test_expand_sfile()
  call assert_match('test_expand_func\.vim$', s:sfile)
  call assert_match('^function .*\.\.Test_expand_sfile$', expand('<sfile>'))

  " Call in script-local function
  call assert_match('^function .*\.\.Test_expand_sfile\[5\]\.\.<SNR>\d\+_expand_sfile$', s:expand_sfile())

  " Call in command
  command Sfile echo expand('<sfile>')
  call assert_match('^function .*\.\.Test_expand_sfile$', trim(execute('Sfile')))
  delcommand Sfile
endfunc

func Test_expand_slnum()
  call assert_equal(4, s:slnum)
  call assert_equal(2, str2nr(expand('<slnum>')))

  " Line-continuation
  call assert_equal(
        \ 5,
        \ str2nr(expand('<slnum>')))

  " Call in script-local function
  call assert_equal(1, s:expand_slnum())

  " Call in command
  command Slnum echo expand('<slnum>')
  call assert_equal(14, str2nr(trim(execute('Slnum'))))
  delcommand Slnum
endfunc

func Test_expand_sflnum()
  call assert_equal(5, s:sflnum)
  call assert_equal(52, str2nr(expand('<sflnum>')))

  " Line-continuation
  call assert_equal(
        \ 55,
        \ str2nr(expand('<sflnum>')))

  " Call in script-local function
  call assert_equal(16, s:expand_sflnum())

  " Call in command
  command Flnum echo expand('<sflnum>')
  call assert_equal(64, str2nr(trim(execute('Flnum'))))
  delcommand Flnum
endfunc

func Test_expand()
  new
  call assert_equal("",  expand('%:S'))
  call assert_equal('3', '<slnum>'->expand())
  call assert_equal(['4'], expand('<slnum>', v:false, v:true))
  " Don't add any line above this, otherwise <slnum> will change.
  quit
endfunc