Browse Source

Added a fake option so that the build stays healthy since the C++/CLI-back-end does not properly support properties yet.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
pull/77/head
Dimitar Dobrev 12 years ago
parent
commit
19bae92f9b
  1. 4
      src/Generator/Driver.cs
  2. 10
      tests/Basic/Basic.Tests.cs
  3. 1
      tests/CSharpTemp/CSharpTemp.cs
  4. 13
      tests/VTables/VTables.Tests.cs

4
src/Generator/Driver.cs

@ -158,7 +158,8 @@ namespace CppSharp
TranslationUnitPasses.AddPass(new MultipleInheritancePass()); TranslationUnitPasses.AddPass(new MultipleInheritancePass());
TranslationUnitPasses.AddPass(new ParamTypeToInterfacePass()); TranslationUnitPasses.AddPass(new ParamTypeToInterfacePass());
} }
TranslationUnitPasses.AddPass(new GetterSetterToPropertyPass()); if (Options.GenerateProperties)
TranslationUnitPasses.AddPass(new GetterSetterToPropertyPass());
} }
public void ProcessCode() public void ProcessCode()
@ -289,6 +290,7 @@ namespace CppSharp
public bool GenerateVirtualTables; public bool GenerateVirtualTables;
public bool GenerateAbstractImpls; public bool GenerateAbstractImpls;
public bool GenerateInterfacesForMultipleInheritance; public bool GenerateInterfacesForMultipleInheritance;
public bool GenerateProperties;
public bool GenerateInternalImports; public bool GenerateInternalImports;
public string IncludePrefix; public string IncludePrefix;
public bool WriteOnlyWhenChanged; public bool WriteOnlyWhenChanged;

10
tests/Basic/Basic.Tests.cs

@ -112,17 +112,17 @@ public class BasicTests
public void TestAbstractReturnType() public void TestAbstractReturnType()
{ {
var returnsAbstractFoo = new ReturnsAbstractFoo(); var returnsAbstractFoo = new ReturnsAbstractFoo();
var abstractFoo = returnsAbstractFoo.foo; var abstractFoo = returnsAbstractFoo.getFoo();
Assert.AreEqual(abstractFoo.pureFunction, 5); Assert.AreEqual(abstractFoo.pureFunction(), 5);
Assert.AreEqual(abstractFoo.pureFunction1, 10); Assert.AreEqual(abstractFoo.pureFunction1(), 10);
Assert.AreEqual(abstractFoo.pureFunction2, 15); Assert.AreEqual(abstractFoo.pureFunction2(), 15);
} }
[Test] [Test]
public void TestANSI() public void TestANSI()
{ {
Foo foo = new Foo(); Foo foo = new Foo();
Assert.That(foo.ANSI, Is.EqualTo("ANSI")); Assert.That(foo.GetANSI(), Is.EqualTo("ANSI"));
} }
} }

1
tests/CSharpTemp/CSharpTemp.cs

@ -13,6 +13,7 @@ namespace CppSharp.Tests
public override void SetupPasses(Driver driver) public override void SetupPasses(Driver driver)
{ {
driver.Options.GenerateInterfacesForMultipleInheritance = true; driver.Options.GenerateInterfacesForMultipleInheritance = true;
driver.Options.GenerateProperties = true;
} }
static class Program static class Program

13
tests/VTables/VTables.Tests.cs

@ -4,13 +4,10 @@ using VTables;
public class FooDerived : Foo public class FooDerived : Foo
{ {
public override int vfoo public override int vfoo()
{ {
get Console.WriteLine("Hello from FooDerived");
{ return 10;
Console.WriteLine("Hello from FooDerived");
return 10;
}
} }
} }
@ -21,8 +18,8 @@ public class VTablesTests
public void TestFoo() public void TestFoo()
{ {
var foo = new Foo(); var foo = new Foo();
Assert.That(foo.vfoo, Is.EqualTo(5)); Assert.That(foo.vfoo(), Is.EqualTo(5));
Assert.That(foo.Vbar, Is.EqualTo(3)); Assert.That(foo.Vbar(), Is.EqualTo(3));
Assert.That(foo.CallFoo(), Is.EqualTo(7)); Assert.That(foo.CallFoo(), Is.EqualTo(7));
var foo2 = new FooDerived(); var foo2 = new FooDerived();

Loading…
Cancel
Save