diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/NRefactoryToRubyConverter.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/NRefactoryToRubyConverter.cs index e06ee1b01a..5e890e7476 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/NRefactoryToRubyConverter.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/NRefactoryToRubyConverter.cs @@ -607,6 +607,7 @@ namespace ICSharpCode.RubyBinding AppendIndented(variableDeclaration.Name + " = "); // Generate the variable initializer. + AddTypeToArrayInitializerIfMissing(variableDeclaration); variableDeclaration.Initializer.AcceptVisitor(this, data); AppendLine(); } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/LocalVariableDefinitionsOnSameLineTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/LocalVariableDefinitionsOnSameLineTests.cs index fbace33d0d..0de8b18d52 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/LocalVariableDefinitionsOnSameLineTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/LocalVariableDefinitionsOnSameLineTests.cs @@ -36,5 +36,29 @@ namespace RubyBinding.Tests.Converter Assert.AreEqual(expectedRuby, Ruby); } + + string vnetClassWithTwoArrayLocalVariablesOnSameLine = + "class Foo\r\n" + + " Public Sub New()\r\n" + + " Dim i(10), j(20) as integer\r\n" + + " End Sub\r\n" + + "end class"; + + [Test] + public void ConvertVBNetClassWithTwoArrayVariablesOnSameLine() + { + NRefactoryToRubyConverter converter = new NRefactoryToRubyConverter(SupportedLanguage.VBNet); + converter.IndentString = " "; + string ruby = converter.Convert(vnetClassWithTwoArrayLocalVariablesOnSameLine); + string expectedRuby = + "class Foo\r\n" + + " def initialize()\r\n" + + " i = Array.CreateInstance(System::Int32, 10)\r\n" + + " j = Array.CreateInstance(System::Int32, 20)\r\n" + + " end\r\n" + + "end"; + + Assert.AreEqual(expectedRuby, ruby); + } } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/MultipleFieldsOnSameLineTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/MultipleFieldsOnSameLineTests.cs index 7709ba19c0..76cee919c9 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/MultipleFieldsOnSameLineTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Converter/MultipleFieldsOnSameLineTests.cs @@ -100,8 +100,8 @@ namespace RubyBinding.Tests.Converter { NRefactoryToRubyConverter converter = new NRefactoryToRubyConverter(SupportedLanguage.VBNet); converter.IndentString = " "; - string python = converter.Convert(vnetClassWithTwoArrayFieldsOnSameLine); - string expectedPython = + string ruby = converter.Convert(vnetClassWithTwoArrayFieldsOnSameLine); + string expectedRuby = "class Foo\r\n" + " def initialize()\r\n" + " @i = Array.CreateInstance(System::Int32, 10)\r\n" + @@ -109,7 +109,7 @@ namespace RubyBinding.Tests.Converter " end\r\n" + "end"; - Assert.AreEqual(expectedPython, python); + Assert.AreEqual(expectedRuby, ruby); } } }