@@ -177,9 +177,10 @@ def test_specs(self, uri):
177
177
allowed_keys = ['desc' , 'genfile' , 'xor' , 'requires' , 'desc' ,
178
178
'nohash' , 'argstr' , 'position' , 'mandatory' ,
179
179
'copyfile' , 'usedefault' , 'sep' , 'hash_files' ,
180
- 'deprecated' , 'default' , 'min_ver' , 'max_ver' ,
181
- 'name_source' , 'units' ]
182
- in_built = ['type' , 'copy' , 'parent' , 'instance_handler' ]
180
+ 'deprecated' , 'new_name' , 'min_ver' , 'max_ver' ,
181
+ 'name_source' , 'keep_extension' , 'units' ]
182
+ in_built = ['type' , 'copy' , 'parent' , 'instance_handler' ,
183
+ 'comparison_mode' , 'array' , 'default' , 'editor' ]
183
184
bad_specs = []
184
185
for c in classes :
185
186
__import__ (uri )
@@ -198,16 +199,24 @@ def test_specs(self, uri):
198
199
for key in trait .__dict__ :
199
200
if key in in_built :
200
201
continue
201
- if key not in allowed_keys + classinst ._additional_metadata :
202
- bad_specs .append ([uri , c , traitname , key ])
202
+ parent_metadata = []
203
+ if 'parent' in trait .__dict__ :
204
+ parent_metadata = getattr (trait , 'parent' ).__dict__ .keys ()
205
+ if key not in allowed_keys + classinst ._additional_metadata \
206
+ + parent_metadata :
207
+ bad_specs .append ([uri , c , 'Inputs' , traitname , key ])
203
208
if not classinst .output_spec :
204
209
continue
205
210
for traitname , trait in classinst .output_spec ().traits (transient = None ).items ():
206
211
for key in trait .__dict__ :
207
212
if key in in_built :
208
213
continue
209
- if key not in allowed_keys + classinst ._additional_metadata :
210
- bad_specs .append ([uri , c , traitname , key ])
214
+ parent_metadata = []
215
+ if 'parent' in trait .__dict__ :
216
+ parent_metadata = getattr (trait , 'parent' ).__dict__ .keys ()
217
+ if key not in allowed_keys + classinst ._additional_metadata \
218
+ + parent_metadata :
219
+ bad_specs .append ([uri , c , 'Outputs' , traitname , key ])
211
220
return bad_specs
212
221
213
222
0 commit comments