tests/misc.py

changeset 48
38b0919c1934
parent 47
4da025d0b283
child 50
0193f8820ba8
equal deleted inserted replaced
47:4da025d0b283 48:38b0919c1934
23 model.body[model.header.index], 23 model.body[model.header.index],
24 'bad-header', 24 'bad-header',
25 reason = model.header.reason, 25 reason = model.header.reason,
26 ) 26 )
27 27
28 def nocertify_test(model):
29 import header
30 if model.header.valid and model.header.bfc == 'NOCERTIFY':
31 yield error(
32 model.body[model.header.first_occurrence['bfc']],
33 'bfc-nocertify')
34
35 def physical_colours_test(model):
36 if model.header.valid and 'Physical_Colour' in model.header.qualifiers:
37 yield error(
38 model.body[model.header.first_occurrence['part type']],
39 'physical-colour')
40
41 def unofficiality_test(model):
42 if model.header.valid and not model.header.filetype.startswith('Unofficial_'):
43 yield error(
44 model.body[model.header.first_occurrence['part type']],
45 'unofficial-type')
46
28 manifest = { 47 manifest = {
29 'tests': { 48 'tests': {
30 'colour-validity': colours_test, 49 'colour-validity': colours_test,
31 'syntax-errors': syntax_errors, 50 'syntax-errors': syntax_errors,
32 'header-validity': bad_header, 51 'header-validity': bad_header,
52 'bfc-nocertify': nocertify_test,
53 'physical-colour': physical_colours_test,
54 'unofficial-type': unofficiality_test,
33 }, 55 },
34 'messages': { 56 'messages': {
35 'bad-colour': lambda colour_index: str.format( 57 'bad-colour': lambda colour_index: str.format(
36 'invalid colour {}', 58 'invalid colour {}',
37 colour_index, 59 colour_index,
42 ), 64 ),
43 'bad-header': lambda reason: str.format( 65 'bad-header': lambda reason: str.format(
44 'bad header: {}', 66 'bad header: {}',
45 reason, 67 reason,
46 ), 68 ),
69 'bfc-nocertify': 'all new parts must be BFC certified',
70 'physical-colour': 'no new physical colour parts are accepted',
71 'unofficial-type': 'new parts must be unofficial',
47 }, 72 },
48 } 73 }

mercurial