1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 06:30:03 +08:00
SpaceVim/bundle/phpcomplete.vim/tests/CompleteBuiltInClass_test.vim

142 lines
3.9 KiB
VimL
Raw Normal View History

fun! TestCase_returns_methods()
" setup
let g:php_builtin_classes = {
\'datetime': {
\ 'name': 'DateTime',
\ 'constants': {
\ },
\ 'properties': {
\ },
\ 'static_properties': {
\ },
\ 'methods': {
\ '__construct': { 'signature': '[ string $time = "now" [, DateTimeZone $timezone = NULL]]', 'return_type': ''},
\ 'add': { 'signature': 'DateInterval $interval | DateTime', 'return_type': 'DateTime'},
\ },
\ 'static_methods': {
\ },
\},
\}
let ret = phpcomplete#CompleteBuiltInClass('$d->', 'DateTime', 'add')
call VUAssertEquals(1, len(ret))
call VUAssertEquals([{
\ 'word': 'add(',
\ 'menu': 'DateInterval $interval | DateTime', 'info': 'DateInterval $interval | DateTime',
\ 'kind': 'f'}],
\ ret)
endfun
fun! TestCase_returns_properties()
" setup
let g:php_builtin_classes = {
\'domdocument': {
\ 'name': 'DOMDocument',
\ 'constants': {
\ },
\ 'properties': {
\ 'encoding': { 'initializer': '', 'type': 'string'},
\ },
\ 'static_properties': {
\ },
\ 'methods': {
\ },
\ 'static_methods': {
\ },
\},
\}
let ret = phpcomplete#CompleteBuiltInClass('$dom->', 'DOMDocument', 'enc')
call VUAssertEquals(1, len(ret))
call VUAssertEquals([{
\ 'word': 'encoding',
\ 'menu': 'string',
\ 'info': 'string',
\ 'kind': 'v'}],
\ ret)
endfun
fun! TestCase_returns_static_methods()
" setup
let g:php_builtin_classes = {
\'datetime': {
\ 'name': 'DateTime',
\ 'constants': {
\ },
\ 'properties': {
\ },
\ 'static_properties': {
\ },
\ 'methods': {
\ },
\ 'static_methods': {
\ 'createFromFormat': { 'signature': 'string $format, string $time [, DateTimeZone $timezone] | DateTime', 'return_type': 'DateTime'},
\ },
\},
\}
let ret = phpcomplete#CompleteBuiltInClass('DateTime::', 'DateTime', 'create')
call VUAssertEquals(1, len(ret))
call VUAssertEquals([{
\ 'word': 'createFromFormat(',
\ 'menu': 'string $format, string $time [, DateTimeZone $timezone] | DateTime',
\ 'info': 'string $format, string $time [, DateTimeZone $timezone] | DateTime',
\ 'kind': 'f'}],
\ ret)
endfun
fun! TestCase_returns_static_properties()
" setup
let g:php_builtin_classes = {
\'mongocursor': {
\ 'name': 'MongoCursor',
\ 'constants': {
\ },
\ 'properties': {
\ },
\ 'static_properties': {
\ '$timeout': { 'initializer': '20000', 'type': 'integer'},
\ },
\ 'methods': {
\ },
\ 'static_methods': {
\ },
\},
\}
let ret = phpcomplete#CompleteBuiltInClass('MongoCursor::', 'MongoCursor', '$tim')
call VUAssertEquals(1, len(ret))
call VUAssertEquals([{
\ 'word': '$timeout',
\ 'menu': 'integer',
\ 'info': 'integer',
\ 'kind': 'v'}],
\ ret)
endfun
fun! TestCase_returns_constants()
" setup
let g:php_builtin_classes = {
\ 'datetime': {
\ 'name': 'DateTime',
\ 'constants': {
\ 'ATOM': '"Y-m-d\TH:i:sP"',
\ },
\ 'properties': {
\ },
\ 'static_properties': {
\ },
\ 'methods': {
\ },
\ 'static_methods': {
\ },
\},
\}
let ret = phpcomplete#CompleteBuiltInClass('Datetime::', 'DateTime', 'ATO')
call VUAssertEquals(1, len(ret))
call VUAssertEquals([{
\ 'word': 'ATOM',
\ 'menu': '"Y-m-d\TH:i:sP"',
\ 'info': '"Y-m-d\TH:i:sP"',
\ 'kind': 'd'}],
\ ret)
endfun
" vim: foldmethod=marker:expandtab:ts=4:sts=4