diff -r c71a7d863c2e -r b8d72909d593 tests/subfiles.py --- a/tests/subfiles.py Mon Jun 24 11:48:52 2019 +0300 +++ b/tests/subfiles.py Mon Jun 24 17:31:47 2019 +0300 @@ -141,6 +141,20 @@ severity = 'warning', message = 'flat subfile unnecessarily inverted using BFC INVERTNEXT' ) +@problem_type('mirrored-studs', + severity = 'warning', + message = lambda primitive: str.format( + '"{primitive}" should not be mirrored', + primitive = primitive, + ) +) +@problem_type('mirrored-studs-indirect', + severity = 'warning', + message = lambda primitive: str.format( + '"{primitive}" should not be mirrored because it contains studs', + primitive = primitive, + ) +) def dependent_subfile_tests(model): ''' Tests subfile references for such qualities that are dependent on the @@ -209,6 +223,21 @@ 'unnecessary-invertnext', bad_object = subfile_reference, ) + from filecache import is_logo_stud_name + # Test whether any stud subfile is mirrored. + if is_logo_stud_name(subfile_reference.subfile_path) \ + and subfile_reference.matrix.is_mirrored(): + yield report_problem( + 'mirrored-studs', + bad_object = subfile_reference, + primitive = subfile_reference.subfile_path, + ) + elif subfile.has_studs and subfile_reference.matrix.is_mirrored(): + yield report_problem( + 'mirrored-studs-indirect', + bad_object = subfile_reference, + primitive = subfile_reference.subfile_path, + ) def dimensions_description(dimensions): if isinstance(dimensions, str):