Skip to content

Commit 81d5e5a

Browse files
committed
DON'T MERGE: adding tests (#26)
Issues covered: - vala-language-server#57 - vala-language-server#106 - vala-language-server#138 - vala-language-server#153
1 parent aabddde commit 81d5e5a

11 files changed

+172
-203
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
build/
22
*.o
3+
subprojects/lstf

meson.build

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,4 @@ endif
6565
subdir('data')
6666
subdir('plugins/gnome-builder')
6767
subdir('src')
68-
subdir('test')
68+
subdir('tests')

src/meson.build

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if get_option('active_parameter')
3030
add_project_arguments(['--define=VALA_FEATURE_INITIAL_ARGUMENT_COUNT'], language: 'vala')
3131
endif
3232

33-
executable('vala-language-server',
33+
vls = executable('vala-language-server',
3434
dependencies: deps,
3535
sources: [vls_src, conf_file, extra_vala_sources],
3636
c_args: ['-DG_LOG_DOMAIN="vls"'],

subprojects/lstf.wrap

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[wrap-git]
2+
url = https://github.com/Prince781/lstf
3+
revision = head
4+
5+
# [provide]
6+
# program_names = lstf

test/meson.build

-8
This file was deleted.

test/testclient.vala

-193
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// issue: vala-language-server#106
2+
server_path = option('server-path');
3+
4+
let f = file(`
5+
void main() {
6+
print ("this is a string");
7+
}
8+
`);
9+
10+
project_files = [ f ];
11+
12+
13+
14+
await change(f, {
15+
range: {
16+
start: { line: 2, character: 29 },
17+
end: { line: 2, character: 29 }
18+
},
19+
text: '.'
20+
});
21+
22+
assert {
23+
isIncomplete: false,
24+
items: []
25+
} <=> await completion(f, 2, 29);
+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// issue: vala-language-server#138
2+
server_path = options('server-path');
3+
4+
let f = file(`
5+
interface Iface {
6+
public abstract void must_override();
7+
}
8+
class Sas : Iface, Object {
9+
10+
}
11+
`);
12+
13+
project_files = [ f ];
14+
15+
16+
17+
await change(f, {
18+
range: {
19+
start: { line: 7, character: 5 },
20+
end: { line: 7, character: 5 }
21+
},
22+
text: '\n p'
23+
});
24+
25+
assert {
26+
isIncomplete: false,
27+
completions: [
28+
{
29+
label: 'public void must_override()',
30+
kind: CompletionItemKind.Method,
31+
insertText: 'public void must_override()$0',
32+
insertTextFormat: InsertTextFormat.Snippet
33+
}
34+
]
35+
} <=> await completion(f, 8, 6);
+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// issue: vala-language-server#153
2+
server_path = option('server-path');
3+
4+
let f = file(`
5+
void foo (int arg1, int arg2) {
6+
}
7+
void main() {
8+
foo
9+
}
10+
`);
11+
12+
project_files = [ f ];
13+
14+
15+
16+
await change(f, {
17+
range: {
18+
start: { line: 4, character: 7 },
19+
end: { line: 4, character: 7 }
20+
},
21+
text: ' ('
22+
});
23+
24+
assert {
25+
signatures: [
26+
{
27+
label: 'void foo(int arg1, int arg2)',
28+
parameters: [ { label: 'int arg1' } ]
29+
}
30+
],
31+
activeParameter: 0
32+
} <=> await signatureHelp(f, 4, 9);
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// issue: vala-language-server#57
2+
server_path = option('server-path');
3+
4+
let f = file(`
5+
interface Iface {
6+
public abstract void must_override1();
7+
public abstract void must_override2(int arg1);
8+
public abstract void must_override3(int arg1, bool arg2);
9+
}
10+
class Sas : Iface, Object {
11+
12+
}
13+
`);
14+
15+
project_files = [ f ];
16+
17+
18+
19+
await change(f, {
20+
range: {
21+
start: { line: 7, character: 5 },
22+
end: { line: 7, character: 5 }
23+
},
24+
text: 'p'
25+
});
26+
27+
assert {
28+
isIncomplete: false,
29+
completions: [
30+
{
31+
label: 'public void must_override1()',
32+
kind: CompletionItemKind.Method,
33+
insertText: 'public void must_override1()$0',
34+
insertTextFormat: InsertTextFormat.Snippet,
35+
},
36+
{
37+
label: 'public void must_override2(int arg1)',
38+
kind: CompletionItemKind.Method,
39+
insertText: 'public void must_override2(int ${1:arg1})$0',
40+
insertTextFormat: InsertTextFormat.Snippet,
41+
},
42+
{
43+
label: 'public void must_override3(int arg1, bool arg2)',
44+
kind: CompletionItemKind.Method,
45+
insertText: 'public void must_override3(int ${1:arg1}, bool ${2:arg2})$0',
46+
insertTextFormat: InsertTextFormat.Snippet
47+
}
48+
]
49+
} <=> await completion(f, 7, 5);

tests/meson.build

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
lstf = find_program('lstf', required: false)
2+
3+
if not lstf.found()
4+
meson.override_find_program('lstf', subproject('lstf').get_variable('lstf'))
5+
lstf = find_program('lstf')
6+
endif
7+
8+
test('57-suggest-overridable-symbols', lstf,
9+
workdir: meson.current_source_dir(),
10+
args: ['57-suggest-overridable-symbols.lstf', '--server-path', vls])
11+
12+
test('106-autocompletion-in-string-literals', lstf,
13+
workdir: meson.current_source_dir(),
14+
args: ['106-autocompletion-in-string-literals.lstf', '--server-path', vls])
15+
16+
test('138-suggest-overridable-symbols', lstf,
17+
workdir: meson.current_source_dir(),
18+
args: ['138-suggest-overridable-symbols.lstf', '--server-path', vls])
19+
20+
test('153-signaturehelp-shared-prefix', lstf,
21+
workdir: meson.current_source_dir(),
22+
args: ['153-signaturehelp-shared-prefix.lstf', '--server-path', vls])

0 commit comments

Comments
 (0)