mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 02:20:03 +08:00
63 lines
2.7 KiB
VimL
63 lines
2.7 KiB
VimL
|
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
|