Updated test case for naming rules.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8468 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
2b9b6d9732
commit
bc1629d3ed
2 changed files with 97 additions and 37 deletions
|
|
@ -3,29 +3,49 @@
|
||||||
%predicate predicateMethod();
|
%predicate predicateMethod();
|
||||||
%bang bangMethod();
|
%bang bangMethod();
|
||||||
|
|
||||||
|
/* This gets mapped to a constant */
|
||||||
|
%constant int constant1 = 1;
|
||||||
|
|
||||||
/* This gets mapped to a constant */
|
/* This gets mapped to a constant */
|
||||||
%constant bool constant1 = false;
|
#define constant2 2
|
||||||
|
|
||||||
%immutable TestConstants::constant4;
|
|
||||||
|
|
||||||
|
%immutable TestConstants::constant8;
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
|
|
||||||
/* ============ Test Constants Names ============== */
|
/* ============ Test Constants Names ============== */
|
||||||
typedef enum {One, Two, Three, Four, Five} finger;
|
|
||||||
const char BeginString_FIX44a[8] = "FIX.a.a";
|
/* This gets mapped to a constant */
|
||||||
|
#define constant3 3
|
||||||
|
|
||||||
|
/* These are all singleton methods */
|
||||||
|
const int constant4[2] = {10, 20};
|
||||||
|
const int constant5 = 5;
|
||||||
|
static const int constant6 = 6;
|
||||||
|
|
||||||
|
|
||||||
class TestConstants {
|
class TestConstants {
|
||||||
public:
|
public:
|
||||||
|
/* This gets mapped to a method */
|
||||||
|
const int constant7;
|
||||||
|
|
||||||
|
/* This gets mapped to a singleton method, but this is not legal C++ */
|
||||||
|
static const int constant8;
|
||||||
|
|
||||||
|
/* This gets mapped to a method, but this it not legal C++ */
|
||||||
|
/*const int constant9 = 9;*/
|
||||||
|
|
||||||
/* This gets mapped to a constant */
|
/* This gets mapped to a constant */
|
||||||
static const int constant2 = 1;
|
static const int constant10 = 10;
|
||||||
const char *constant3;
|
|
||||||
const char *constant4;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const TestConstants * constant4[5];
|
const int TestConstants::constant8 = 8;
|
||||||
const int constant5[2] = {10, 20};
|
|
||||||
|
const TestConstants * constant11[5];
|
||||||
|
|
||||||
|
|
||||||
|
/* ============ Test Enum ============== */
|
||||||
|
typedef enum {Red, Green, Blue} Colors;
|
||||||
|
|
||||||
|
|
||||||
/* ============ Test Method Names ============== */
|
/* ============ Test Method Names ============== */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
require 'naming'
|
require 'naming'
|
||||||
|
|
||||||
|
# Check class names
|
||||||
if not Naming
|
if not Naming
|
||||||
raise RuntimeError, 'Invalid module name for Naming'
|
raise RuntimeError, 'Invalid module name for Naming'
|
||||||
end
|
end
|
||||||
|
|
@ -10,33 +10,73 @@ if not Naming::MyClass
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# Check constant names / values
|
||||||
|
if Naming::CONSTANT1 != 1
|
||||||
|
raise RuntimeError, "Incorrect value for CONSTANT1"
|
||||||
|
end
|
||||||
|
|
||||||
|
if Naming::CONSTANT2 != 2
|
||||||
|
raise RuntimeError, "Incorrect value for CONSTANT2"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Check constant names / values
|
||||||
|
if Naming::CONSTANT3 != 3
|
||||||
|
raise RuntimeError, "Incorrect value for CONSTANT3"
|
||||||
|
end
|
||||||
|
|
||||||
|
if not Naming::methods.include?("constant4")
|
||||||
|
raise RuntimeError, "Incorrect mapping for constant4"
|
||||||
|
end
|
||||||
|
|
||||||
|
if not Naming::methods.include?("constant5")
|
||||||
|
raise RuntimeError, "Incorrect mapping for constant5"
|
||||||
|
end
|
||||||
|
|
||||||
|
if not Naming::methods.include?("constant6")
|
||||||
|
raise RuntimeError, "Incorrect mapping for constant6"
|
||||||
|
end
|
||||||
|
|
||||||
|
if not Naming::TestConstants.instance_methods.include?("constant7")
|
||||||
|
raise RuntimeError, "Incorrect mapping for constant7"
|
||||||
|
end
|
||||||
|
|
||||||
|
if not Naming::TestConstants.methods.include?("constant8")
|
||||||
|
raise RuntimeError, "Incorrect mapping for constant8"
|
||||||
|
end
|
||||||
|
|
||||||
|
# There is no constant9 because it is illegal C++
|
||||||
|
#if not Naming::TestConstants.instance_methods.include?("constant9")
|
||||||
|
# raise RuntimeError, "Incorrect mapping for constant9"
|
||||||
|
#end
|
||||||
|
|
||||||
|
if Naming::TestConstants::CONSTANT10 != 10
|
||||||
|
raise RuntimeError, "Incorrect value for CONSTANT10"
|
||||||
|
end
|
||||||
|
|
||||||
|
if not Naming::methods.include?("constant11")
|
||||||
|
raise RuntimeError, "Incorrect mapping for constant11"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# Check enums
|
||||||
|
if Naming::constants.include?("Color")
|
||||||
|
raise RuntimeError, "Color enum should not be exposed to Ruby"
|
||||||
|
end
|
||||||
|
|
||||||
|
if Naming::RED != 0
|
||||||
|
raise RuntimeError, "Incorrect value for enum RED"
|
||||||
|
end
|
||||||
|
|
||||||
|
if Naming::GREEN != 1
|
||||||
|
raise RuntimeError, "Incorrect value for enum GREEN"
|
||||||
|
end
|
||||||
|
|
||||||
|
if Naming::BLUE != 2
|
||||||
|
raise RuntimeError, "Incorrect value for enum BLUE"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
# Check method names
|
# Check method names
|
||||||
if not Naming::MyClass.instance_methods.include?('method_one')
|
|
||||||
raise RuntimeError, 'Invalid method name for method_one'
|
|
||||||
end
|
|
||||||
|
|
||||||
if not Naming::MyClass.instance_methods.include?('method_two')
|
|
||||||
raise RuntimeError, 'Invalid method name for method_two'
|
|
||||||
end
|
|
||||||
|
|
||||||
if not Naming::MyClass.instance_methods.include?('method_three')
|
|
||||||
raise RuntimeError, 'Invalid method name for method_three'
|
|
||||||
end
|
|
||||||
|
|
||||||
if not Naming::MyClass.instance_methods.include?('method44_4')
|
|
||||||
raise RuntimeError, 'Invalid method name for method44_4'
|
|
||||||
end
|
|
||||||
|
|
||||||
# Check predicate methods
|
|
||||||
if not Naming::MyClass.instance_methods.include?('predicate_method?')
|
|
||||||
raise RuntimeError, 'Invalid method name for predicate_method?'
|
|
||||||
end
|
|
||||||
|
|
||||||
# Check bang methods
|
|
||||||
if not Naming::MyClass.instance_methods.include?('bang_method!')
|
|
||||||
raise RuntimeError, 'Invalid method name for bang_method!'
|
|
||||||
end
|
|
||||||
|
|
||||||
my_class = Naming::MyClass.new()
|
my_class = Naming::MyClass.new()
|
||||||
|
|
||||||
if my_class.method_one != 1
|
if my_class.method_one != 1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue