@@ -715,183 +715,3 @@ pub fn foo(_input: TokenStream) -> TokenStream {
715
715
let value = res. get ( "contents" ) . unwrap ( ) . get ( "value" ) . unwrap ( ) . to_string ( ) ;
716
716
assert_eq ! ( value, r#""```rust\nfoo::Bar\n```\n\n```rust\nfn bar()\n```""# )
717
717
}
718
-
719
- #[ test]
720
- fn test_client_support_hover_actions ( ) {
721
- if skip_slow_tests ( ) {
722
- return ;
723
- }
724
-
725
- let server = Project :: with_fixture (
726
- r#"
727
- //- Cargo.toml
728
- [package]
729
- name = "foo"
730
- version = "0.0.0"
731
-
732
- //- src/lib.rs
733
- struct Foo(u32);
734
-
735
- struct NoImpl(u32);
736
-
737
- impl Foo {
738
- fn new() -> Self {
739
- Self(1)
740
- }
741
- }
742
- "# ,
743
- )
744
- . with_config ( |config| {
745
- config. client_caps . hover_actions = true ;
746
- } )
747
- . server ( ) ;
748
-
749
- server. wait_until_workspace_is_loaded ( ) ;
750
-
751
- // has 1 implementation
752
- server. request :: < HoverRequest > (
753
- HoverParams {
754
- text_document_position_params : TextDocumentPositionParams :: new (
755
- server. doc_id ( "src/lib.rs" ) ,
756
- Position :: new ( 0 , 9 ) ,
757
- ) ,
758
- work_done_progress_params : Default :: default ( ) ,
759
- } ,
760
- json ! ( {
761
- "actions" : [ {
762
- "commands" : [ {
763
- "arguments" : [
764
- "file:///[..]src/lib.rs" ,
765
- {
766
- "character" : 7 ,
767
- "line" : 0
768
- } ,
769
- [ {
770
- "range" : { "end" : { "character" : 1 , "line" : 8 } , "start" : { "character" : 0 , "line" : 4 } } ,
771
- "uri" : "file:///[..]src/lib.rs"
772
- } ]
773
- ] ,
774
- "command" : "rust-analyzer.showReferences" ,
775
- "title" : "1 implementation" ,
776
- "tooltip" : "Go to implementations"
777
- } ]
778
- } ] ,
779
- "contents" : { "kind" : "markdown" , "value" : "```rust\n foo\n ```\n \n ```rust\n struct Foo\n ```" } ,
780
- "range" : { "end" : { "character" : 10 , "line" : 0 } , "start" : { "character" : 7 , "line" : 0 } }
781
- } )
782
- ) ;
783
-
784
- // no hover
785
- server. request :: < HoverRequest > (
786
- HoverParams {
787
- text_document_position_params : TextDocumentPositionParams :: new (
788
- server. doc_id ( "src/lib.rs" ) ,
789
- Position :: new ( 1 , 0 ) ,
790
- ) ,
791
- work_done_progress_params : Default :: default ( ) ,
792
- } ,
793
- json ! ( null) ,
794
- ) ;
795
-
796
- // no implementations
797
- server. request :: < HoverRequest > (
798
- HoverParams {
799
- text_document_position_params : TextDocumentPositionParams :: new (
800
- server. doc_id ( "src/lib.rs" ) ,
801
- Position :: new ( 2 , 12 ) ,
802
- ) ,
803
- work_done_progress_params : Default :: default ( ) ,
804
- } ,
805
- json ! ( {
806
- "actions" : [ {
807
- "commands" : [ {
808
- "arguments" : [
809
- "file:///[..]src/lib.rs" ,
810
- { "character" : 7 , "line" : 2 } ,
811
- [ ]
812
- ] ,
813
- "command" : "rust-analyzer.showReferences" ,
814
- "title" : "0 implementations" ,
815
- "tooltip" : "Go to implementations"
816
- } ]
817
- } ] ,
818
- "contents" : { "kind" : "markdown" , "value" : "```rust\n foo\n ```\n \n ```rust\n struct NoImpl\n ```" } ,
819
- "range" : { "end" : { "character" : 13 , "line" : 2 } , "start" : { "character" : 7 , "line" : 2 } }
820
- } )
821
- ) ;
822
- }
823
-
824
- #[ test]
825
- fn test_client_does_not_support_hover_actions ( ) {
826
- if skip_slow_tests ( ) {
827
- return ;
828
- }
829
-
830
- let server = Project :: with_fixture (
831
- r#"
832
- //- Cargo.toml
833
- [package]
834
- name = "foo"
835
- version = "0.0.0"
836
-
837
- //- src/lib.rs
838
- struct Foo(u32);
839
-
840
- struct NoImpl(u32);
841
-
842
- impl Foo {
843
- fn new() -> Self {
844
- Self(1)
845
- }
846
- }
847
- "# ,
848
- )
849
- . with_config ( |config| {
850
- config. client_caps . hover_actions = false ;
851
- } )
852
- . server ( ) ;
853
-
854
- server. wait_until_workspace_is_loaded ( ) ;
855
-
856
- // has 1 implementation
857
- server. request :: < HoverRequest > (
858
- HoverParams {
859
- text_document_position_params : TextDocumentPositionParams :: new (
860
- server. doc_id ( "src/lib.rs" ) ,
861
- Position :: new ( 0 , 9 ) ,
862
- ) ,
863
- work_done_progress_params : Default :: default ( ) ,
864
- } ,
865
- json ! ( {
866
- "contents" : { "kind" : "markdown" , "value" : "```rust\n foo\n ```\n \n ```rust\n struct Foo\n ```" } ,
867
- "range" : { "end" : { "character" : 10 , "line" : 0 } , "start" : { "character" : 7 , "line" : 0 } }
868
- } )
869
- ) ;
870
-
871
- // no hover
872
- server. request :: < HoverRequest > (
873
- HoverParams {
874
- text_document_position_params : TextDocumentPositionParams :: new (
875
- server. doc_id ( "src/lib.rs" ) ,
876
- Position :: new ( 1 , 0 ) ,
877
- ) ,
878
- work_done_progress_params : Default :: default ( ) ,
879
- } ,
880
- json ! ( null) ,
881
- ) ;
882
-
883
- // no implementations
884
- server. request :: < HoverRequest > (
885
- HoverParams {
886
- text_document_position_params : TextDocumentPositionParams :: new (
887
- server. doc_id ( "src/lib.rs" ) ,
888
- Position :: new ( 2 , 12 ) ,
889
- ) ,
890
- work_done_progress_params : Default :: default ( ) ,
891
- } ,
892
- json ! ( {
893
- "contents" : { "kind" : "markdown" , "value" : "```rust\n foo\n ```\n \n ```rust\n struct NoImpl\n ```" } ,
894
- "range" : { "end" : { "character" : 13 , "line" : 2 } , "start" : { "character" : 7 , "line" : 2 } }
895
- } )
896
- ) ;
897
- }
0 commit comments