@@ -4972,79 +4972,81 @@ defmodule ElixirLS.LanguageServer.Providers.Completion.SuggestionTest do
4972
4972
] = suggestions |> Enum . filter ( & ( & 1 . name == "user" ) )
4973
4973
end
4974
4974
4975
- test "records fields" do
4976
- buffer = """
4977
- defmodule SomeSchema do
4978
- require ElixirSenseExample.ModuleWithRecord, as: R
4979
-
4980
- def d() do
4981
- w = R.user()
4982
- w = R.user(n)
4983
- R.user(w, n)
4984
- R.user(w, name: "1", a)
4975
+ if Version . match? ( System . version ( ) , ">= 1.18.0" ) do
4976
+ test "records fields" do
4977
+ buffer = """
4978
+ defmodule SomeSchema do
4979
+ require ElixirSenseExample.ModuleWithRecord, as: R
4980
+
4981
+ def d() do
4982
+ w = R.user()
4983
+ w = R.user(n)
4984
+ R.user(w, n)
4985
+ R.user(w, name: "1", a)
4986
+ end
4985
4987
end
4986
- end
4987
- """
4988
+ """
4988
4989
4989
- suggestions = Suggestion . suggestions ( buffer , 5 , 16 )
4990
+ suggestions = Suggestion . suggestions ( buffer , 5 , 16 )
4990
4991
4991
- assert [
4992
- % {
4993
- name: "age" ,
4994
- origin: "ElixirSenseExample.ModuleWithRecord.user" ,
4995
- type: :field ,
4996
- call?: false ,
4997
- subtype: :record_field ,
4998
- type_spec: "integer()"
4999
- } ,
5000
- % {
5001
- name: "name" ,
5002
- origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5003
- type: :field ,
5004
- call?: false ,
5005
- subtype: :record_field ,
5006
- type_spec: "String.t()"
5007
- }
5008
- ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
4992
+ assert [
4993
+ % {
4994
+ name: "age" ,
4995
+ origin: "ElixirSenseExample.ModuleWithRecord.user" ,
4996
+ type: :field ,
4997
+ call?: false ,
4998
+ subtype: :record_field ,
4999
+ type_spec: "integer()"
5000
+ } ,
5001
+ % {
5002
+ name: "name" ,
5003
+ origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5004
+ type: :field ,
5005
+ call?: false ,
5006
+ subtype: :record_field ,
5007
+ type_spec: "String.t()"
5008
+ }
5009
+ ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
5009
5010
5010
- suggestions = Suggestion . suggestions ( buffer , 6 , 17 )
5011
+ suggestions = Suggestion . suggestions ( buffer , 6 , 17 )
5011
5012
5012
- assert [
5013
- % {
5014
- name: "name" ,
5015
- origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5016
- type: :field ,
5017
- call?: false ,
5018
- subtype: :record_field ,
5019
- type_spec: "String.t()"
5020
- }
5021
- ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
5013
+ assert [
5014
+ % {
5015
+ name: "name" ,
5016
+ origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5017
+ type: :field ,
5018
+ call?: false ,
5019
+ subtype: :record_field ,
5020
+ type_spec: "String.t()"
5021
+ }
5022
+ ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
5022
5023
5023
- suggestions = Suggestion . suggestions ( buffer , 7 , 16 )
5024
+ suggestions = Suggestion . suggestions ( buffer , 7 , 16 )
5024
5025
5025
- assert [
5026
- % {
5027
- name: "name" ,
5028
- origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5029
- type: :field ,
5030
- call?: false ,
5031
- subtype: :record_field ,
5032
- type_spec: "String.t()"
5033
- }
5034
- ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
5026
+ assert [
5027
+ % {
5028
+ name: "name" ,
5029
+ origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5030
+ type: :field ,
5031
+ call?: false ,
5032
+ subtype: :record_field ,
5033
+ type_spec: "String.t()"
5034
+ }
5035
+ ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
5035
5036
5036
- suggestions = Suggestion . suggestions ( buffer , 8 , 27 )
5037
+ suggestions = Suggestion . suggestions ( buffer , 8 , 27 )
5037
5038
5038
- assert [
5039
- % {
5040
- name: "age" ,
5041
- origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5042
- type: :field ,
5043
- call?: false ,
5044
- subtype: :record_field ,
5045
- type_spec: "integer()"
5046
- }
5047
- ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
5039
+ assert [
5040
+ % {
5041
+ name: "age" ,
5042
+ origin: "ElixirSenseExample.ModuleWithRecord.user" ,
5043
+ type: :field ,
5044
+ call?: false ,
5045
+ subtype: :record_field ,
5046
+ type_spec: "integer()"
5047
+ }
5048
+ ] = suggestions |> Enum . filter ( & ( & 1 . type == :field ) )
5049
+ end
5048
5050
end
5049
5051
5050
5052
test "records from metadata fields" do
0 commit comments