@@ -19,29 +19,50 @@ def __init__(self, architecture, *args):
1919 parser_test_case .parser_test_case_t .__init__ (self , * args )
2020 self .architecture = architecture
2121 self .global_ns = None
22+ self .__cxx_std = utils .cxx_standard (self .config .cflags )
2223
2324 def test_enum_patcher (self ):
2425 fix_enum = self .global_ns .free_fun ("fix_enum" )
2526 default_val = fix_enum .arguments [0 ].default_value
26- self .assertEqual (default_val , "::ns1::ns2::apple" )
27+ if self .__cxx_std .is_cxx11_or_greater :
28+ val = "::ns1::ns2::fruit::apple"
29+ else :
30+ val = "::ns1::ns2::apple"
31+ self .assertEqual (default_val , val )
2732
2833 if 32 == self .architecture or "CastXML" in utils .xml_generator :
2934 fix_enum2 = self .global_ns .free_fun ("fix_enum2" )
3035 default_val = fix_enum2 .arguments [0 ].default_value
31- self .assertEqual (default_val , "::ns1::ns2::apple" )
36+ self .assertEqual (default_val , val )
3237
3338 ns1 = self .global_ns .namespace ("ns1" )
3439 ns2 = ns1 .namespace ("ns2" )
3540 fix_enum2 = ns2 .free_fun ("fix_enum2" )
3641 default_val = fix_enum2 .arguments [0 ].default_value
37- self .assertEqual (default_val , "::ns1::ns2::apple" )
42+ self .assertEqual (default_val , val )
3843
3944 fix_enum3 = self .global_ns .free_fun ("fix_enum3" )
4045 default_val = fix_enum3 .arguments [0 ].default_value
41- self .assertEqual (default_val , "::ns1::ns2::orange" )
46+ val = val .replace ("apple" , "orange" )
47+ self .assertEqual (default_val , val )
48+
49+ if self .__cxx_std .is_cxx11_or_greater :
50+ fix_enum4 = self .global_ns .free_fun ("fix_enum4" )
51+ default_val = fix_enum4 .arguments [0 ].default_value
52+ self .assertEqual (default_val , "::ns4::color::blue" )
53+
54+ fix_enum5 = self .global_ns .free_fun ("fix_enum5" )
55+ default_val = fix_enum5 .arguments [0 ].default_value
56+ self .assertEqual (default_val , "::ns4::color::blue" )
4257
43- # double_call = declarations.find_declaration(
44- # decls, type=declarations.free_function_t, name='double_call' )
58+ lpe = self .global_ns .free_fun ("log_priority_enabled" )
59+ default_val = lpe .arguments [0 ].default_value
60+ if self .__cxx_std .is_cxx11_or_greater :
61+ val = "(long int)" + \
62+ "(::ACE_Log_Priority_Index::LM_INVALID_BIT_INDEX)"
63+ else :
64+ val = "(long int)(::LM_INVALID_BIT_INDEX)"
65+ self .assertEqual (default_val , val )
4566
4667 def test_numeric_patcher (self ):
4768 fix_numeric = self .global_ns .free_function ("fix_numeric" )
@@ -126,13 +147,8 @@ def test_unqualified_integral_patcher(self):
126147
127148 def test_unnamed_enum_patcher (self ):
128149 fix_unnamed = self .global_ns .free_fun ("fix_unnamed" )
129- if ("CastXML" in utils .xml_generator and
130- utils .xml_output_version >= 1.137 ):
131- val = "fx::unnamed"
132- else :
133- val = "int(::fx::unnamed)"
134150 self .assertEqual (
135- fix_unnamed .arguments [0 ].default_value , val )
151+ fix_unnamed .arguments [0 ].default_value , "int(::fx::unnamed)" )
136152
137153 def test_function_call_patcher (self ):
138154 fix_function_call = self .global_ns .free_fun ("fix_function_call" )
@@ -150,9 +166,8 @@ def test_function_call_patcher(self):
150166
151167 def test_fundamental_patcher (self ):
152168 fcall = self .global_ns .free_fun ("fix_fundamental" )
153- if ("CastXML" in utils .xml_generator and
154- utils .xml_output_version >= 1.137 ):
155- val = "fundamental::spam::eggs"
169+ if self .__cxx_std .is_cxx11_or_greater :
170+ val = "(unsigned int)(::fundamental::spam::eggs)"
156171 else :
157172 val = "(unsigned int)(::fundamental::eggs)"
158173 self .assertEqual (
@@ -163,14 +178,12 @@ def test_constructor_patcher(self):
163178 default_val = typedef__func .arguments [0 ].default_value
164179 if "0.9" in utils .xml_generator :
165180 val = "typedef_::original_name()"
166- self .assertEqual (default_val , val )
167181 elif "CastXML" in utils .xml_generator :
168182 # Most clean output, no need to patch
169183 val = "typedef_::alias()"
170- self .assertEqual (default_val , val )
171184 else :
172185 val = "::typedef_::alias( )"
173- self .assertEqual (default_val , val )
186+ self .assertEqual (default_val , val )
174187 if 32 == self .architecture :
175188 clone_tree = self .global_ns .free_fun ("clone_tree" )
176189 default_values = []
0 commit comments