enums added for testing across different SWIG generated modules

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

View file

@ -7,5 +7,12 @@ public class runme
B b = new B(); B b = new B();
b.hello(); //call member function in A which is in a different SWIG generated library. b.hello(); //call member function in A which is in a different SWIG generated library.
b.bye(); 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 { class A {
public: public:
A() {} 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: public:
B() {}; 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. /* This file is part of a test for SF bug #231619.
It shows that the %import directive does not work properly in SWIG It shows that the %import directive does not work properly in SWIG
1.3a5: Type information is not properly generated if a base class 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 %module imports_b