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

63 lines
2.7 KiB
VimL
Vendored

fun! SetUp()
exe ':set tags='
endf
fun! TestCase_removes_leading_slash()
call SetUp()
let [classname, namespace] = phpcomplete#ExpandClassName('\ArrayObject', '\', {})
call VUAssertEquals('ArrayObject', classname)
let [classname, namespace] = phpcomplete#ExpandClassName('ArrayObject', '\Mahou', {})
call VUAssertEquals('ArrayObject', classname)
call VUAssertEquals('Mahou', namespace)
endf
fun! TestCase_appends_relative_namespace_parts_from_classname_to_current_namespace()
call SetUp()
let [classname, namespace] = phpcomplete#ExpandClassName('Baz\Foo', 'Bor\Bar', {})
call VUAssertEquals('Foo', classname)
call VUAssertEquals('Bor\Bar\Baz', namespace)
endf
fun! TestCase_extracts_namespace_from_classname_when_its_prefixed_with_absolute_namespace()
call SetUp()
let [classname, namespace] = phpcomplete#ExpandClassName('\Bar\Baz\Foo', 'Mahou', {})
call VUAssertEquals('Foo', classname)
call VUAssertEquals('Bar\Baz', namespace)
endf
fun! TestCase_matches_classname_from_imported_names()
call SetUp()
" imported builtin
let [classname, namespace] = phpcomplete#ExpandClassName('AO', 'Mahou', {'AO': {'name': 'ArrayObject', 'kind': 'c', 'builtin': 1,}})
call VUAssertEquals(['ArrayObject', ''], [classname, namespace])
" imported user class
let [classname, namespace] = phpcomplete#ExpandClassName('Foo', 'Mahou', {'Foo': {'name': 'Foo', 'kind': 'c', 'builtin': 0, 'namespace': 'NS1'}})
call VUAssertEquals(['Foo', 'NS1'], [classname, namespace])
" imported user interface
let [classname, namespace] = phpcomplete#ExpandClassName('FooInterface', 'Mahou', {'FooInterface': {'name': 'FooInterface', 'kind': 'i', 'builtin': 0, 'namespace': 'NS1'}})
call VUAssertEquals(['FooInterface', 'NS1'], [classname, namespace])
" imported user trait
let [classname, namespace] = phpcomplete#ExpandClassName('FooTrait', 'Mahou', {'FooTrait': {'name': 'FooTrait', 'kind': 't', 'builtin': 0, 'namespace': 'NS2'}})
call VUAssertEquals(['FooTrait', 'NS2'], [classname, namespace])
endf
fun! TestCase_matches_namespace_from_imported_names()
" class in imported namespace
let [classname, namespace] = phpcomplete#ExpandClassName('SUBNS\FooSub', 'Mahou', {'SUBNS': {'name': 'NS1\SUBNS', 'kind': 'n', 'builtin': 0,}})
call VUAssertEquals(['FooSub', 'NS1\SUBNS'], [classname, namespace])
" class in imported and renamed namespace
let [classname, namespace] = phpcomplete#ExpandClassName('SUB\FooSub', 'Mahou', {'SUB': {'name': 'NS1\SUBNS', 'kind': 'n', 'builtin': 0,}})
call VUAssertEquals(['FooSub', 'NS1\SUBNS'], [classname, namespace])
endf
" vim: foldmethod=marker:expandtab:ts=4:sts=4