# HG changeset patch
# User Teemu Piippo <teemu@hecknology.net>
# Date 1561235931 -10800
# Node ID c19dd0d3248ef821ebedc3c40ccec60e93ec6928
# Parent  afaa4d3bc3e57759f239b5d5cf78ca6f71714d3f
complain about missing BFC declarations

diff -r afaa4d3bc3e5 -r c19dd0d3248e tests/misc.py
--- a/tests/misc.py	Sat Jun 22 23:35:03 2019 +0300
+++ b/tests/misc.py	Sat Jun 22 23:38:51 2019 +0300
@@ -92,13 +92,24 @@
     severity = 'hold',
     message = 'primitives must have CCW winding',
 )
-def primitive_ccw_test(model):
-    if model.header.valid \
+@problem_type('no-bfc-line',
+    severity = 'hold',
+    message = 'BFC declaration is missing',
+)
+def header_bfc_test(model):
+    def find_the_bfc_object(model):
+        return model.body[model.header.first_occurrence['bfc']],
+    if model.header.valid and not model.header.bfc:
+        yield report_problem(
+            'no-bfc-line',
+            bad_object = model.body[0],
+        )
+    elif model.header.valid \
     and model.header.filetype.endswith('Primitive') \
     and model.header.bfc != 'CERTIFY CCW':
         yield report_problem(
             'primitive-bfc-ccw',
-            bad_object = model.body[model.header.first_occurrence['bfc']],
+            bad_object = find_the_bfc_object(model),
         )
 
 manifest = {
@@ -109,6 +120,6 @@
         nocertify_test,
         physical_colours_test,
         unofficiality_test,
-        primitive_ccw_test,
+        header_bfc_test,
     ],
 }