tests/misc.py

changeset 68
c19dd0d3248e
parent 66
e28b249b4422
child 69
a24c4490d9f2
equal deleted inserted replaced
67:afaa4d3bc3e5 68:c19dd0d3248e
90 90
91 @problem_type('primitive-ccw', 91 @problem_type('primitive-ccw',
92 severity = 'hold', 92 severity = 'hold',
93 message = 'primitives must have CCW winding', 93 message = 'primitives must have CCW winding',
94 ) 94 )
95 def primitive_ccw_test(model): 95 @problem_type('no-bfc-line',
96 if model.header.valid \ 96 severity = 'hold',
97 message = 'BFC declaration is missing',
98 )
99 def header_bfc_test(model):
100 def find_the_bfc_object(model):
101 return model.body[model.header.first_occurrence['bfc']],
102 if model.header.valid and not model.header.bfc:
103 yield report_problem(
104 'no-bfc-line',
105 bad_object = model.body[0],
106 )
107 elif model.header.valid \
97 and model.header.filetype.endswith('Primitive') \ 108 and model.header.filetype.endswith('Primitive') \
98 and model.header.bfc != 'CERTIFY CCW': 109 and model.header.bfc != 'CERTIFY CCW':
99 yield report_problem( 110 yield report_problem(
100 'primitive-bfc-ccw', 111 'primitive-bfc-ccw',
101 bad_object = model.body[model.header.first_occurrence['bfc']], 112 bad_object = find_the_bfc_object(model),
102 ) 113 )
103 114
104 manifest = { 115 manifest = {
105 'tests': [ 116 'tests': [
106 colours_test, 117 colours_test,
107 syntax_errors, 118 syntax_errors,
108 bad_header, 119 bad_header,
109 nocertify_test, 120 nocertify_test,
110 physical_colours_test, 121 physical_colours_test,
111 unofficiality_test, 122 unofficiality_test,
112 primitive_ccw_test, 123 header_bfc_test,
113 ], 124 ],
114 } 125 }

mercurial