@@ -621,6 +621,62 @@ defmodule ElixirLS.LanguageServer.ServerTest do
621
621
end )
622
622
end
623
623
624
+ test "returns code lenses for runnable tests" , % { server: server } do
625
+ in_fixture ( __DIR__ , "test_code_lens" , fn ->
626
+ file_path = "test/fixture_test.exs"
627
+ file_uri = SourceFile . path_to_uri ( file_path )
628
+ file_absolute_path = SourceFile . path_from_uri ( file_uri )
629
+ text = File . read! ( file_path )
630
+
631
+ initialize ( server )
632
+ Server . receive_packet ( server , did_open ( file_uri , "elixir" , 1 , text ) )
633
+
634
+ Server . receive_packet (
635
+ server ,
636
+ code_lens_req ( 4 , file_uri )
637
+ )
638
+
639
+ # :timer.sleep(1000)
640
+ # %{"result" => resp} = assert_received(%{"id" => 4})
641
+ resp = assert_receive ( % { "id" => 4 } , 5000 )
642
+
643
+ assert response ( 4 , [
644
+ % {
645
+ "command" => % {
646
+ "arguments" => [
647
+ % {
648
+ "filePath" => ^ file_absolute_path ,
649
+ "testName" => "fixture test"
650
+ }
651
+ ] ,
652
+ "command" => "elixir.lens.test.run" ,
653
+ "title" => "Run test"
654
+ } ,
655
+ "range" => % {
656
+ "end" => % { "character" => 0 , "line" => 3 } ,
657
+ "start" => % { "character" => 0 , "line" => 3 }
658
+ }
659
+ } ,
660
+ % {
661
+ "command" => % {
662
+ "arguments" => [
663
+ % {
664
+ "filePath" => file_absolute_path ,
665
+ "module" => "Elixir.TestCodeLensTest"
666
+ }
667
+ ] ,
668
+ "command" => "elixir.lens.test.run" ,
669
+ "title" => "Run tests in module"
670
+ } ,
671
+ "range" => % {
672
+ "end" => % { "character" => 0 , "line" => 0 } ,
673
+ "start" => % { "character" => 0 , "line" => 0 }
674
+ }
675
+ }
676
+ ] ) = resp
677
+ end )
678
+ end
679
+
624
680
defp with_new_server ( func ) do
625
681
server = start_supervised! ( { Server , nil } )
626
682
packet_capture = start_supervised! ( { PacketCapture , self ( ) } )
0 commit comments