Browse Source

Ruby and Python forms designer now generates the correct code for System.Environment.SpecialFolder.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@6256 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Matt Ward 16 years ago
parent
commit
2f281b20cb
  1. 3
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCodeDomSerializer.cs
  2. 70
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/GenerateFolderBrowserDialogRootFolderTestFixture.cs
  3. 1
      src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj
  4. 4
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyCodeDomSerializer.cs
  5. 70
      src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/GenerateFolderBrowserDialogRootFolderTestFixture.cs
  6. 1
      src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj

3
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCodeDomSerializer.cs

@ -229,7 +229,8 @@ namespace ICSharpCode.PythonBinding
void AppendTypeReference(CodeTypeReference typeRef) void AppendTypeReference(CodeTypeReference typeRef)
{ {
codeBuilder.Append(typeRef.BaseType); string typeRefText = typeRef.BaseType.Replace('+', '.');
codeBuilder.Append(typeRefText);
} }
/// <summary> /// <summary>

70
src/AddIns/BackendBindings/Python/PythonBinding/Test/Designer/GenerateFolderBrowserDialogRootFolderTestFixture.cs

@ -0,0 +1,70 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.PythonBinding;
using NUnit.Framework;
using PythonBinding.Tests.Utils;
namespace PythonBinding.Tests.Designer
{
[TestFixture]
public class GenerateFolderBrowserDialogRootFolderTestFixture
{
string generatedPythonCode;
[TestFixtureSetUp]
public void SetUpFixture()
{
using (DesignSurface designSurface = new DesignSurface(typeof(Form))) {
IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost));
IEventBindingService eventBindingService = new MockEventBindingService(host);
Form form = (Form)host.RootComponent;
form.ClientSize = new Size(200, 300);
PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form);
PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false);
namePropertyDescriptor.SetValue(form, "MainForm");
FolderBrowserDialog dialog = (FolderBrowserDialog)host.CreateComponent(typeof(FolderBrowserDialog), "folderBrowserDialog1");
dialog.RootFolder = Environment.SpecialFolder.ApplicationData;
DesignerSerializationManager serializationManager = new DesignerSerializationManager(host);
using (serializationManager.CreateSession()) {
PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" ");
generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager);
}
}
}
[Test]
public void GeneratedCode()
{
string expectedCode =
"self._folderBrowserDialog1 = System.Windows.Forms.FolderBrowserDialog()\r\n" +
"self.SuspendLayout()\r\n" +
"# \r\n" +
"# folderBrowserDialog1\r\n" +
"# \r\n" +
"self._folderBrowserDialog1.RootFolder = System.Environment.SpecialFolder.ApplicationData\r\n" +
"# \r\n" +
"# MainForm\r\n" +
"# \r\n" +
"self.ClientSize = System.Drawing.Size(200, 300)\r\n" +
"self.Name = \"MainForm\"\r\n" +
"self.ResumeLayout(False)\r\n";
Assert.AreEqual(expectedCode, generatedPythonCode, generatedPythonCode);
}
}
}

1
src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj

@ -223,6 +223,7 @@
<Compile Include="Designer\GenerateDoubleBufferedFormTestFixture.cs" /> <Compile Include="Designer\GenerateDoubleBufferedFormTestFixture.cs" />
<Compile Include="Designer\GenerateEventHandlerFormTestFixture.cs" /> <Compile Include="Designer\GenerateEventHandlerFormTestFixture.cs" />
<Compile Include="Designer\GenerateEventLogTestFixture.cs" /> <Compile Include="Designer\GenerateEventLogTestFixture.cs" />
<Compile Include="Designer\GenerateFolderBrowserDialogRootFolderTestFixture.cs" />
<Compile Include="Designer\GenerateFormColorTestFixture.cs" /> <Compile Include="Designer\GenerateFormColorTestFixture.cs" />
<Compile Include="Designer\GenerateFormLocationTestFixture.cs" /> <Compile Include="Designer\GenerateFormLocationTestFixture.cs" />
<Compile Include="Designer\GenerateFormPaddingTestFixture.cs" /> <Compile Include="Designer\GenerateFormPaddingTestFixture.cs" />

4
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyCodeDomSerializer.cs

@ -251,7 +251,9 @@ namespace ICSharpCode.RubyBinding
void AppendTypeReference(CodeTypeReference typeRef) void AppendTypeReference(CodeTypeReference typeRef)
{ {
string typeName = typeRef.BaseType.Replace(".", "::"); string baseTypeName = typeRef.BaseType;
string typeName = baseTypeName.Replace(".", "::");
typeName = typeName.Replace("+", "::");
codeBuilder.Append(typeName); codeBuilder.Append(typeName);
} }

70
src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Designer/GenerateFolderBrowserDialogRootFolderTestFixture.cs

@ -0,0 +1,70 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.RubyBinding;
using NUnit.Framework;
using RubyBinding.Tests.Utils;
namespace RubyBinding.Tests.Designer
{
[TestFixture]
public class GenerateFolderBrowserDialogRootFolderTestFixture
{
string generatedRubyCode;
[TestFixtureSetUp]
public void SetUpFixture()
{
using (DesignSurface designSurface = new DesignSurface(typeof(Form))) {
IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost));
IEventBindingService eventBindingService = new MockEventBindingService(host);
Form form = (Form)host.RootComponent;
form.ClientSize = new Size(200, 300);
PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form);
PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false);
namePropertyDescriptor.SetValue(form, "MainForm");
FolderBrowserDialog dialog = (FolderBrowserDialog)host.CreateComponent(typeof(FolderBrowserDialog), "folderBrowserDialog1");
dialog.RootFolder = Environment.SpecialFolder.ApplicationData;
DesignerSerializationManager serializationManager = new DesignerSerializationManager(host);
using (serializationManager.CreateSession()) {
RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" ");
generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager);
}
}
}
[Test]
public void GeneratedCode()
{
string expectedCode =
"@folderBrowserDialog1 = System::Windows::Forms::FolderBrowserDialog.new()\r\n" +
"self.SuspendLayout()\r\n" +
"# \r\n" +
"# folderBrowserDialog1\r\n" +
"# \r\n" +
"@folderBrowserDialog1.RootFolder = System::Environment::SpecialFolder.ApplicationData\r\n" +
"# \r\n" +
"# MainForm\r\n" +
"# \r\n" +
"self.ClientSize = System::Drawing::Size.new(200, 300)\r\n" +
"self.Name = \"MainForm\"\r\n" +
"self.ResumeLayout(false)\r\n";
Assert.AreEqual(expectedCode, generatedRubyCode, generatedRubyCode);
}
}
}

1
src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj

@ -212,6 +212,7 @@
<Compile Include="Designer\GenerateDoubleBufferedFormTestFixture.cs" /> <Compile Include="Designer\GenerateDoubleBufferedFormTestFixture.cs" />
<Compile Include="Designer\GenerateEventHandlerFormTestFixture.cs" /> <Compile Include="Designer\GenerateEventHandlerFormTestFixture.cs" />
<Compile Include="Designer\GenerateEventLogTestFixture.cs" /> <Compile Include="Designer\GenerateEventLogTestFixture.cs" />
<Compile Include="Designer\GenerateFolderBrowserDialogRootFolderTestFixture.cs" />
<Compile Include="Designer\GenerateFormColorTestFixture.cs" /> <Compile Include="Designer\GenerateFormColorTestFixture.cs" />
<Compile Include="Designer\GenerateFormLocationTestFixture.cs" /> <Compile Include="Designer\GenerateFormLocationTestFixture.cs" />
<Compile Include="Designer\GenerateFormPaddingTestFixture.cs" /> <Compile Include="Designer\GenerateFormPaddingTestFixture.cs" />

Loading…
Cancel
Save