Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
318 lines
12 KiB
VimL
318 lines
12 KiB
VimL
source plugin/javacomplete.vim
|
|
source autoload/javacomplete.vim
|
|
source autoload/javacomplete/newclass.vim
|
|
source t/javacomplete.vim
|
|
|
|
call vspec#hint({'sid': 'g:SID("newclass")', 'scope': 'SScope()'})
|
|
|
|
describe 'javacomplete-test'
|
|
before
|
|
let b:currentPath = reverse(split('/home/foo/project/src/kg/foo/bar/CurrentClass.java', '/')[:-2])
|
|
end
|
|
|
|
it 'ParseInput same package class test'
|
|
Expect Call('s:ParseInput',
|
|
\ 'NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.bar'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput root path search test'
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz'
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz'
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/.org.foo.baz.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../../../org/foo/baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'org.foo.baz'
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/.foo.baz.bar.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz/bar',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz.bar'
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/bar.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.bar'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput relative path test'
|
|
Expect Call('s:ParseInput',
|
|
\ 'foo.baz.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : 'foo/baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.bar.foo.baz'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput relative path test'
|
|
let currentPath = reverse(split('/home/foo/project/src/kg/foo/bar/baz/bad/bas/CurrentClass.java', '/')[:-2])
|
|
Expect Call('s:ParseInput',
|
|
\ '/bar.fee.NewClass',
|
|
\ currentPath,
|
|
\ split('kg.foo.bar.baz.bad.bas', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../../../fee',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.bar.fee'
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/bad.NewClass',
|
|
\ currentPath,
|
|
\ split('kg.foo.bar.baz.bad.bas', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.bar.baz.bad'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput wrong package'
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kf.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : 'foo/baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kf.foo.bar.foo.baz'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput class with fields'
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass(String foo, public static Integer bar, public final static int CONSTANT)',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'fields' : {
|
|
\ '1' : {
|
|
\ 'mod' : 'private',
|
|
\ 'type' : 'String',
|
|
\ 'name' : 'foo'
|
|
\ },
|
|
\ '2' : {
|
|
\ 'mod' : 'public static',
|
|
\ 'type' : 'Integer',
|
|
\ 'name' : 'bar'
|
|
\ },
|
|
\ '3' : {
|
|
\ 'mod' : 'public final static',
|
|
\ 'type' : 'int',
|
|
\ 'name' : 'CONSTANT'
|
|
\ }
|
|
\ }
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput class extends/implements'
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass extends kg.FooClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'extends' : 'kg.FooClass'
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass implements kg.FooClassIFace',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'implements' : 'kg.FooClassIFace'
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass extends FooClass implements kg.FooClassIFace',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'extends' : 'FooClass',
|
|
\ 'implements' : 'kg.FooClassIFace'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput class with methods'
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass:constructor',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'methods' : {
|
|
\ 'constructor' : []
|
|
\ }
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass:constructor(*)',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'methods' : {
|
|
\ 'constructor' : ['*']
|
|
\ }
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass(String one, Integer two):constructor(1,2)',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'fields' : {
|
|
\ '1' : {
|
|
\ 'mod' : 'private',
|
|
\ 'type' : 'String',
|
|
\ 'name' : 'one'
|
|
\ },
|
|
\ '2' : {
|
|
\ 'mod' : 'private',
|
|
\ 'type' : 'Integer',
|
|
\ 'name' : 'two'
|
|
\ }
|
|
\ },
|
|
\ 'methods' : {
|
|
\ 'constructor' : [1, 2]
|
|
\ }
|
|
\ }
|
|
Expect Call('s:ParseInput',
|
|
\ '/foo.baz.NewClass(String one, Integer two):constructor:toString(2):hashCode(1)',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'fields' : {
|
|
\ '1' : {
|
|
\ 'mod' : 'private',
|
|
\ 'type' : 'String',
|
|
\ 'name' : 'one'
|
|
\ },
|
|
\ '2' : {
|
|
\ 'mod' : 'private',
|
|
\ 'type' : 'Integer',
|
|
\ 'name' : 'two'
|
|
\ }
|
|
\ },
|
|
\ 'methods' : {
|
|
\ 'constructor' : [],
|
|
\ 'toString' : [2],
|
|
\ 'hashCode' : [1]
|
|
\ }
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput template test'
|
|
Expect Call('s:ParseInput',
|
|
\ 'interface:foo.baz.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : 'foo/baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.bar.foo.baz',
|
|
\ 'template' : 'interface'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput subdir test'
|
|
Expect Call('s:ParseInput',
|
|
\ '[test]:NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../../../test/java/kg/foo/bar/',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.bar'
|
|
\ }
|
|
end
|
|
|
|
it 'ParseInput template with subdir test'
|
|
Expect Call('s:ParseInput',
|
|
\ 'junit5:[test]:/foo.baz.NewClass',
|
|
\ b:currentPath,
|
|
\ split('kg.foo.bar', '\.'))
|
|
\ ==
|
|
\ {
|
|
\ 'path' : '../../../test/java/kg/foo/bar/../baz',
|
|
\ 'class' : 'NewClass',
|
|
\ 'package' : 'kg.foo.baz',
|
|
\ 'template' : 'junit5'
|
|
\ }
|
|
end
|
|
end
|