Skip to content

Commit 0d47e2a

Browse files
committed
Add tests.
1 parent cfe0f89 commit 0d47e2a

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
open Test.Import
2+
3+
let change_config client params = Client.notification client (ChangeConfiguration params)
4+
5+
let codelens client textDocument =
6+
Client.request
7+
client
8+
(TextDocumentCodeLens
9+
{ textDocument; workDoneToken = None; partialResultToken = None })
10+
;;
11+
12+
let%expect_test "enable only codelens for toplevel let binding 1" =
13+
let source =
14+
{ocaml|
15+
let toplevel = "Hello"
16+
17+
let func x = x
18+
19+
let f x =
20+
let y = 10 in
21+
let z = 3 in
22+
x + y + z
23+
|ocaml}
24+
in
25+
let req client =
26+
let text_document = TextDocumentIdentifier.create ~uri:Helpers.uri in
27+
let* () =
28+
change_config
29+
client
30+
(DidChangeConfigurationParams.create
31+
~settings:(`Assoc [ "codelens", `Assoc [ "only_toplevel", `Bool true ] ]))
32+
in
33+
let* resp_codelens_toplevel = codelens client text_document in
34+
print_endline ("CodeLens found: " ^ string_of_int (List.length resp_codelens_toplevel));
35+
Fiber.return ()
36+
in
37+
Helpers.test source req;
38+
[%expect {| CodeLens found: 3 |}]
39+
;;
40+
41+
let%expect_test "enable only codelens for toplevel let binding 2" =
42+
let source =
43+
{ocaml|
44+
let x =
45+
let y = 10 in
46+
"Hello"
47+
48+
let () = ()
49+
|ocaml}
50+
in
51+
let req client =
52+
let text_document = TextDocumentIdentifier.create ~uri:Helpers.uri in
53+
let* () =
54+
change_config
55+
client
56+
(DidChangeConfigurationParams.create
57+
~settings:(`Assoc [ "codelens", `Assoc [ "only_toplevel", `Bool true ] ]))
58+
in
59+
let* resp_codelens_toplevel = codelens client text_document in
60+
print_endline ("CodeLens found: " ^ string_of_int (List.length resp_codelens_toplevel));
61+
Fiber.return ()
62+
in
63+
Helpers.test source req;
64+
[%expect {| CodeLens found: 1 |}]
65+
;;

ocaml-lsp-server/test/e2e-new/dune

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
action_inline
4545
action_mark_remove
4646
code_actions
47+
code_lens
4748
completion
4849
completions
4950
construct

0 commit comments

Comments
 (0)