model: tag groups as tests
[nit.git] / src / model / model_visitor.nit
index 59d3e61..9244055 100644 (file)
@@ -104,13 +104,20 @@ abstract class ModelVisitor
        # Should we accept nitunit test suites?
        #
        # Default is `false`.
-       var include_test_suite = false is writable
+       var include_test = false is writable
 
        # Can we accept this `mentity` regarding its test suite status?
-       fun accept_test_suite(mentity: MEntity): Bool do
-               if include_test_suite then return true
-               if not mentity isa MModule then return true
-               return not mentity.is_test_suite
+       fun accept_test(mentity: MEntity): Bool do
+               if include_test then return true
+               if mentity isa MProperty then
+                       if mentity.is_before or mentity.is_before_all then return false
+                       if mentity.is_after or mentity.is_after_all then return false
+               end
+               if mentity isa MPropDef then
+                       if mentity.is_before or mentity.is_before_all then return false
+                       if mentity.is_after or mentity.is_after_all then return false
+               end
+               return not mentity.is_test
        end
 
        # Should we accept `MAttribute` instances?
@@ -131,7 +138,7 @@ abstract class ModelVisitor
                if not accept_visibility(mentity) then return false
                if not accept_fictive(mentity) then return false
                if not accept_empty_doc(mentity) then return false
-               if not accept_test_suite(mentity) then return false
+               if not accept_test(mentity) then return false
                if not accept_attribute(mentity) then return false
                return true
        end