enums added for testing across different SWIG generated modules

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5881 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2004-04-22 20:32:48 +00:00
commit 56211014e6
4 changed files with 27 additions and 5 deletions

View file

@ -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);
}
}

View file

@ -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; }
};

View file

@ -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; }

View file

@ -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