1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 06:20:05 +08:00
SpaceVim/bundle/phpcomplete.vim-vim7/tests/GetCurrentSymbolWithContext_test.vim

95 lines
4.0 KiB
VimL

fun! SetUp()
" normalize g:phpcomplete_min_num_of_chars_for_namespace_completion option
let g:phpcomplete_min_num_of_chars_for_namespace_completion = 2
" disable built-in classes
let g:php_builtin_classnames = {}
" disable built-in interfaces
let g:php_builtin_interfaces = {}
" disable built-in interfaces
let g:php_builtin_interfacenames = {}
" disable tags
exe ':set tags='
endf
fun! TestCase_returns_empty_strings_when_outside_php_block()
call SetUp()
let path = expand('%:p:h')."/".'fixtures/GetCurrentSymbolWithContext/foo.php'
below 1new
exe ":silent! edit ".path
call cursor(26, 1)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['', '', '', ''], res)
silent! bw! %
endf
fun! TestCase_returns_current_symbol_under_cursor()
call SetUp()
let path = expand('%:p:h')."/".'fixtures/GetCurrentSymbolWithContext/foo.php'
below 1new
exe ":silent! edit ".path
call cursor(18, 5)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['get_foo', '', '', {}], res)
call cursor(18, 13)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['baz', 'get_foo()->', '', {}], res)
call cursor(20, 1)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['Foo', '', '', {}], res)
call cursor(20, 8)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['baz', 'Foo::', '', {}], res)
call cursor(23, 29)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['returnFoo2', '$f2->returnBaz2()->', '', {}], res)
silent! bw! %
endf
fun! TestCase_returns_current_symbol_with_the_current_namespace_and_imports()
call SetUp()
exe ':set tags='.expand('%:p:h').'/'.'fixtures/GetCurrentSymbolWithContext/namespaced_tags'
let path = expand('%:p:h')."/".'fixtures/GetCurrentSymbolWithContext/namespaced_foo.php'
below 1new
exe ":silent! edit ".path
call cursor(21, 5)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['get_foo', '', 'NS1', {'RenamedFoo2': {'cmd': '/^class Foo2 {$/', 'static': 0, 'name': 'Foo2', 'namespace': 'NS2', 'kind': 'c', 'builtin': 0, 'filename': 'fixtures/GetCurrentSymbolWithContext/namespaced_foo2.php'}}], res)
call cursor(21, 13)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['baz', 'get_foo()->', 'NS1', {'RenamedFoo2': {'cmd': '/^class Foo2 {$/', 'static': 0, 'name': 'Foo2', 'namespace': 'NS2', 'kind': 'c', 'builtin': 0, 'filename': 'fixtures/GetCurrentSymbolWithContext/namespaced_foo2.php'}}], res)
call cursor(23, 18)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['Foo2', 'new \NS2\', 'NS2', {'RenamedFoo2': {'cmd': '/^class Foo2 {$/', 'static': 0, 'name': 'Foo2', 'namespace': 'NS2', 'kind': 'c', 'builtin': 0, 'filename': 'fixtures/GetCurrentSymbolWithContext/namespaced_foo2.php'}}], res)
call cursor(27, 18)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['Foo2', 'new', 'NS2', {'RenamedFoo2': {'cmd': '/^class Foo2 {$/', 'static': 0, 'name': 'Foo2', 'namespace': 'NS2', 'kind': 'c', 'builtin': 0, 'filename': 'fixtures/GetCurrentSymbolWithContext/namespaced_foo2.php'}}], res)
call cursor(3, 10)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['Foo2', 'use NS2\', 'NS2', {'RenamedFoo2': {'cmd': '/^class Foo2 {$/', 'static': 0, 'name': 'Foo2', 'namespace': 'NS2', 'kind': 'c', 'builtin': 0, 'filename': 'fixtures/GetCurrentSymbolWithContext/namespaced_foo2.php'}}], res)
call cursor(3, 20)
let res = phpcomplete#GetCurrentSymbolWithContext()
call VUAssertEquals(['Foo2', 'use NS2\Foo2 as', 'NS2', {'RenamedFoo2': {'cmd': '/^class Foo2 {$/', 'static': 0, 'name': 'Foo2', 'namespace': 'NS2', 'kind': 'c', 'builtin': 0, 'filename': 'fixtures/GetCurrentSymbolWithContext/namespaced_foo2.php'}}], res)
silent! bw! %
endf
" vim: foldmethod=marker:expandtab:ts=4:sts=4