Browse Source

Moved unnamed enums test to generator tests.

pull/229/head
Elias Holzer 12 years ago
parent
commit
6fa7077dbd
  1. 20
      src/Generator.Tests/Passes/TestPasses.cs
  2. 9
      tests/Basic/Basic.Tests.cs
  3. 4
      tests/Basic/Basic.h
  4. 4
      tests/Native/Passes.h

20
src/Generator.Tests/Passes/TestPasses.cs

@ -95,6 +95,26 @@ namespace CppSharp.Generator.Tests.Passes
Assert.That(@enum.Items[0].Name, Is.EqualTo("_0")); Assert.That(@enum.Items[0].Name, Is.EqualTo("_0"));
} }
[Test]
public void TestUnnamedEnumSupport()
{
passBuilder.AddPass(new CleanInvalidDeclNamesPass());
passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext));
var unnamedEnum1 = AstContext.FindEnum("Unnamed_Enum_1").Single();
var unnamedEnum2 = AstContext.FindEnum("Unnamed_Enum_2").Single();
Assert.IsNotNull(unnamedEnum1);
Assert.IsNotNull(unnamedEnum2);
Assert.AreEqual(2, unnamedEnum1.Items.Count);
Assert.AreEqual(2, unnamedEnum2.Items.Count);
Assert.AreEqual(1, unnamedEnum1.Items[0].Value);
Assert.AreEqual(2, unnamedEnum1.Items[1].Value);
Assert.AreEqual(3, unnamedEnum2.Items[0].Value);
Assert.AreEqual(4, unnamedEnum2.Items[1].Value);
}
[Test] [Test]
public void TestStructInheritance() public void TestStructInheritance()
{ {

9
tests/Basic/Basic.Tests.cs

@ -302,14 +302,5 @@ public class BasicTests : GeneratorTestFixture
ClassC classC = (ClassC)classB; ClassC classC = (ClassC)classB;
Assert.AreEqual(classB.Value, classC.Value); Assert.AreEqual(classB.Value, classC.Value);
} }
[Test]
public unsafe void TestUnnamedEnums()
{
Assert.AreEqual(1, (int)Unnamed_Enum_1.Unnamed_Enum_1_A);
Assert.AreEqual(2, (int)Unnamed_Enum_1.Unnamed_Enum_1_B);
Assert.AreEqual(3, (int)Unnamed_Enum_2.Unnamed_Enum_2_A);
Assert.AreEqual(4, (int)Unnamed_Enum_2.Unnamed_Enum_2_B);
}
} }

4
tests/Basic/Basic.h

@ -86,10 +86,6 @@ enum Enum
F = -9 F = -9
}; };
// Tests unnamed enums
enum { Unnamed_Enum_1_A = 1, Unnamed_Enum_1_B = 2 };
enum { Unnamed_Enum_2_A = 3, Unnamed_Enum_2_B = 4 };
class DLL_API Hello class DLL_API Hello
{ {
union NestedPrivate { union NestedPrivate {

4
tests/Native/Passes.h

@ -33,3 +33,7 @@ struct TestRename
// TestStructInheritance // TestStructInheritance
struct S1 { int F1, F2; }; struct S1 { int F1, F2; };
struct S2 : S1 { int F3; }; struct S2 : S1 { int F3; };
// Tests unnamed enums
enum { Unnamed_Enum_1_A = 1, Unnamed_Enum_1_B = 2 };
enum { Unnamed_Enum_2_A = 3, Unnamed_Enum_2_B = 4 };

Loading…
Cancel
Save