Skip to content

Commit 0162e5d

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 57d0a68 commit 0162e5d

11 files changed

+170
-203
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
build/
22
*.o
3+
subprojects/lstf

meson.build

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ if get_option('active_parameter')
3434
add_project_arguments(['--define=VALA_FEATURE_INITIAL_ARGUMENT_COUNT'], language: 'vala')
3535
endif
3636

37-
executable('vala-language-server',
37+
vls = executable('vala-language-server',
3838
dependencies: deps,
3939
sources: [vls_src, conf_file, extra_vala_sources],
4040
c_args: ['-DG_LOG_DOMAIN="vls"'],

subprojects/lstf.wrap

Lines changed: 6 additions & 0 deletions
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

Lines changed: 0 additions & 8 deletions
This file was deleted.

test/testclient.vala

Lines changed: 0 additions & 193 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
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);
Lines changed: 35 additions & 0 deletions
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);
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
label: 'void foo(int arg1, int arg2)',
27+
parameters: [ { label: 'int arg1' } ]
28+
],
29+
activeParameter: 0
30+
} <=> await signatureHelp(f, 4, 9);
Lines changed: 49 additions & 0 deletions
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

Lines changed: 22 additions & 0 deletions
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)