Add nested_inheritance_interface test
This commit is contained in:
parent
22c27cf216
commit
84e310402a
3 changed files with 44 additions and 0 deletions
|
|
@ -324,6 +324,7 @@ CPP_TEST_CASES += \
|
|||
nested_directors \
|
||||
nested_comment \
|
||||
nested_ignore \
|
||||
nested_inheritance_interface \
|
||||
nested_in_template \
|
||||
nested_scope \
|
||||
nested_template_base \
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
import nested_inheritance_interface.*;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class nested_inheritance_interface_runme {
|
||||
|
||||
static {
|
||||
try {
|
||||
System.loadLibrary("nested_inheritance_interface");
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String argv[]) {
|
||||
Class[] BNInterfaces = B.N.class.getInterfaces();
|
||||
String expectedInterfacesString = "[interface nested_inheritance_interface.IASwigInterface]";
|
||||
String actualInterfacesString = Arrays.toString(BNInterfaces);
|
||||
if (!expectedInterfacesString.equals(actualInterfacesString))
|
||||
throw new RuntimeException("Expected interfaces for " + B.N.class.getName() + ": \n" + expectedInterfacesString + "\n" + "Actual interfaces: \n" + actualInterfacesString);
|
||||
|
||||
if (!IASwigInterface.class.isInterface())
|
||||
throw new RuntimeException(IASwigInterface.class.getName() + " should be an interface but is not");
|
||||
|
||||
// overloaded methods check
|
||||
B.N d = new B.N();
|
||||
}
|
||||
}
|
||||
15
Examples/test-suite/nested_inheritance_interface.i
Normal file
15
Examples/test-suite/nested_inheritance_interface.i
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
%module nested_inheritance_interface
|
||||
|
||||
%warnfilter(SWIGWARN_RUBY_MULTIPLE_INHERITANCE,
|
||||
SWIGWARN_D_MULTIPLE_INHERITANCE,
|
||||
SWIGWARN_PHP_MULTIPLE_INHERITANCE); /* languages not supporting multiple inheritance or %interface */
|
||||
|
||||
#if defined(SWIGJAVA) || defined(SWIGCSHARP)
|
||||
%include "swiginterface.i"
|
||||
%interface(IA)
|
||||
#endif
|
||||
|
||||
%inline %{
|
||||
struct IA {};
|
||||
struct B { struct N : IA {}; };
|
||||
%}
|
||||
Loading…
Add table
Add a link
Reference in a new issue