diff --git a/SWIG/Examples/test-suite/csharp/imports_runme.cs b/SWIG/Examples/test-suite/csharp/imports_runme.cs index e720e5568..579dc8afb 100644 --- a/SWIG/Examples/test-suite/csharp/imports_runme.cs +++ b/SWIG/Examples/test-suite/csharp/imports_runme.cs @@ -7,5 +7,12 @@ public class runme B b = new B(); b.hello(); //call member function in A which is in a different SWIG generated library. b.bye(); + + if (b.member_virtual_test(A.MemberEnum.memberenum1) != A.MemberEnum.memberenum2) + throw new Exception("Test 1 failed"); + if (b.global_virtual_test(GlobalEnum.globalenum1) != GlobalEnum.globalenum2) + throw new Exception("Test 2 failed"); + + imports_b.global_test(A.MemberEnum.memberenum1); } } diff --git a/SWIG/Examples/test-suite/imports_a.h b/SWIG/Examples/test-suite/imports_a.h index ea006b12c..b8d46ece1 100644 --- a/SWIG/Examples/test-suite/imports_a.h +++ b/SWIG/Examples/test-suite/imports_a.h @@ -1,7 +1,15 @@ +enum GlobalEnum { globalenum1=1, globalenum2 }; + +GlobalEnum global_test(GlobalEnum e) { return e; } + class A { public: A() {} - void hello() - {} + void hello() {} + + enum MemberEnum { memberenum1=10, memberenum2 }; + virtual MemberEnum member_virtual_test(MemberEnum e) { return e; } + virtual GlobalEnum global_virtual_test(GlobalEnum e) { return e; } }; + diff --git a/SWIG/Examples/test-suite/imports_b.h b/SWIG/Examples/test-suite/imports_b.h index ecc8d4e2f..f8d91ad1c 100644 --- a/SWIG/Examples/test-suite/imports_b.h +++ b/SWIG/Examples/test-suite/imports_b.h @@ -5,7 +5,11 @@ class B : public A public: B() {}; - void bye() - {} ; + void bye() {} ; + + virtual MemberEnum member_virtual_test(MemberEnum e) { return memberenum2; } + virtual GlobalEnum global_virtual_test(GlobalEnum e) { return globalenum2; } }; +A::MemberEnum global_test(A::MemberEnum e) { return e; } + diff --git a/SWIG/Examples/test-suite/imports_b.i b/SWIG/Examples/test-suite/imports_b.i index 48c51c625..153ff25f2 100644 --- a/SWIG/Examples/test-suite/imports_b.i +++ b/SWIG/Examples/test-suite/imports_b.i @@ -1,7 +1,10 @@ /* This file is part of a test for SF bug #231619. It shows that the %import directive does not work properly in SWIG 1.3a5: Type information is not properly generated if a base class - comes from an %import-ed file. */ + comes from an %import-ed file. + + Extra tests added for enums to test languages that have enum types. +*/ %module imports_b