fun! SetUp() " disable builtin information let g:php_builtin_classnames = {} let g:php_builtin_classes = {} let g:php_builtin_interfaces = {} let g:php_builtin_interfacenames = {} " disable tag files exe ':set tags=' endf fun! TestCase_return_VIMPHP_BUILTINOBJECT_when_classname_in_builtin_classes() call SetUp() let g:php_builtin_classnames = {'datetime': ''} let g:php_builtin_classes = { \'datetime':{} \} let res = phpcomplete#GetClassLocation('DateTime', '') call VUAssertEquals('VIMPHP_BUILTINOBJECT', res) let res = phpcomplete#GetClassLocation('DateTime', '\') call VUAssertEquals('VIMPHP_BUILTINOBJECT', res) endf fun! TestCase_return_current_file_path_when_classname_found_in_previous_lines_of_current_buffer() call SetUp() let path = expand('%:p:h').'/'.'fixtures/GetClassLocation/foo.class.php' below 1new exe ":silent! edit ".path exe ':6' let res = phpcomplete#GetClassLocation('Foo', '') call VUAssertEquals(path, res) exe ':14' let res = phpcomplete#GetClassLocation('Foo2', '') call VUAssertEquals(path, res) exe ':21' let res = phpcomplete#GetClassLocation('Foo3', '') call VUAssertEquals(path, res) silent! bw! % endf fun! TestCase_return_class_location_from_tags() call SetUp() let tags_path = expand('%:p:h').'/'.'fixtures/GetClassLocation/tags' let old_style_tags_path = expand('%:p:h').'/'.'fixtures/GetClassLocation/old_style_tags' let path = expand('%:p:h').'/'.'fixtures/GetClassLocation/empty.php' exe ':set tags='.tags_path below 1new exe ":silent! edit ".path exe ':3' let res = phpcomplete#GetClassLocation('Foo', '') call VUAssertEquals('fixtures/GetClassLocation/foo.class.php', res) let res = phpcomplete#GetClassLocation('FooInterface', '') call VUAssertEquals('fixtures/GetClassLocation/foo.class.php', res) let res = phpcomplete#GetClassLocation('FooTrait', '') call VUAssertEquals('fixtures/GetClassLocation/foo.class.php', res) " when there are no namespaces to match for the classes from the tags file " should return the first class's location where the name matches exe ':set tags='.old_style_tags_path let res = phpcomplete#GetClassLocation('Foo', '') call VUAssertEquals('fixtures/GetClassLocation/foo.class.php', res) let res = phpcomplete#GetClassLocation('FooInterface', '') call VUAssertEquals('fixtures/GetClassLocation/foo.class.php', res) silent! bw! % endf " vim: foldmethod=marker:expandtab:ts=4:sts=4