@@ -4972,79 +4972,81 @@ defmodule ElixirLS.LanguageServer.Providers.Completion.SuggestionTest do
49724972 ] = suggestions |> Enum . filter ( & ( & 1 . name == "user" ) )
49734973 end
49744974
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
49854987 end
4986- end
4987- """
4988+ """
49884989
4989- suggestions = Suggestion . suggestions ( buffer , 5 , 16 )
4990+ suggestions = Suggestion . suggestions ( buffer , 5 , 16 )
49904991
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 ) )
50095010
5010- suggestions = Suggestion . suggestions ( buffer , 6 , 17 )
5011+ suggestions = Suggestion . suggestions ( buffer , 6 , 17 )
50115012
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 ) )
50225023
5023- suggestions = Suggestion . suggestions ( buffer , 7 , 16 )
5024+ suggestions = Suggestion . suggestions ( buffer , 7 , 16 )
50245025
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 ) )
50355036
5036- suggestions = Suggestion . suggestions ( buffer , 8 , 27 )
5037+ suggestions = Suggestion . suggestions ( buffer , 8 , 27 )
50375038
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
50485050 end
50495051
50505052 test "records from metadata fields" do
0 commit comments