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, |