spacevim/bundle/vim-javacomplete2/t/newclass.vim
JIe 2bb7059579
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
init
2024-08-21 14:17:26 +08:00

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