diff --git a/Examples/test-suite/php/rename_camel_runme.php b/Examples/test-suite/php/rename_camel_runme.php new file mode 100644 index 000000000..becd20d47 --- /dev/null +++ b/Examples/test-suite/php/rename_camel_runme.php @@ -0,0 +1,13 @@ +getConstants(); + unset($extra['swig_runtime_data_type_pointer']); + foreach($constants as $constant) { + if (! defined($constant)) $missing[]=$constant; + else unset($extra[$constant]); + } + if ($missing) $message[]=sprintf("Constants missing: %s",join(",",$missing)); + if ($message) return check::fail(join("\n ",$message)); + if ($extra) $message[]=sprintf("These extra constants are defined: %s",join(",",array_keys($extra))); + if ($message) return check::warn(join("\n ",$message)); + return TRUE; + } + static function functionref($a,$type,$message) { if (! preg_match("/^_[a-f0-9]+$type$/i", $a)) return check::fail($message); @@ -167,6 +190,7 @@ class check { static function warn($pattern) { $args=func_get_args(); + if (self::$_werror) self::fail($pattern); print("Warning on: ".call_user_func_array("sprintf",$args)."\n"); return FALSE; } diff --git a/Examples/test-suite/rename_camel.i b/Examples/test-suite/rename_camel.i index 0f4ae11a1..76d44b8a8 100644 --- a/Examples/test-suite/rename_camel.i +++ b/Examples/test-suite/rename_camel.i @@ -4,47 +4,62 @@ %rename("%(ctitle)s",%$isvariable,%$ismember) ""; %inline { - struct GeometryFactory - { + struct GeometryFactory { void createPointFromInternalCoord(int); - void BIG_METHOD(int); + void BIG_METHOD(int) {} }; class ByteOrderValues { public: - void readHEX(); + void readHEX() {} static int ENDIAN_BIG; }; + int ByteOrderValues::ENDIAN_BIG = 4321; } - %rename(CamelCase1) camel_case_1; %rename("%(camelcase)s") camel_case_2; +// ctitle is an alias for camelcase. %rename("%(ctitle)s") camel_case_3; +%rename(lowerCamelCase1) Lower_camel_case_1; +%rename("%(lowercamelcase)s") Lower_camel_case_2; +// lctitle is an alias for lowercamelcase. +%rename("%(lctitle)s") Lower_camel_case_3; -%rename("%(utitle)s") CamelCase_5; +%rename(under_case1) UnderCase1; +%rename("%(undercase)s") UnderCase2; +// utitle is an alias for undercase. +%rename("%(utitle)s") UnderCase3; -%rename("%(regex:/\\(.*i.*\\)/\\U\\1/)s") ""; +// This should upper-case "import", but "hi_there" should be handled by the +// rule below and become "Hi_there". +%rename("%(regex:/(.*i.*)/\\U\\1/)s") ""; %rename("%(title)s",regexmatch$parentNode$type="enum .*") ""; %inline { + int CamelCase(int); int camel_case_1(int); int camel_case_2(int); int camel_case_3(int); - int camel_case_4(int); - int camel_case(int); - int CamelCase_5(int); - int also_works_here(int); + + int under_case(int); + int UnderCase1(int); + int UnderCase2(int); + int UnderCase3(int); + + int lowerCamelCase(int); + int Lower_camel_case_1(int); + int Lower_camel_case_2(int); + int Lower_camel_case_3(int); enum HelloEnum { hello, hi_there }; - enum ChaoEnum { bye, see_you