Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.4.5
-
None
Description
When StaticTypeCheckingTestCase#shouldFailWithMessages(String, String...) is called with multiple message arguments, the call returns successfully if both of the following are true:
1) at least one argument is contained in a collected error message
2) the number of message arguments equals the number of collected errors
This causes tests to erroneously pass, even if they don't result in all of the desired errors. For example, TypeCheckingExtensionsTest#testPrecompiledExtensionNotExtendingTypeCheckingDSL currently passes even though PrecompiledExtensionNotExtendingTypeCheckingDSL#onMethodSelection throws a MissingPropertyException (which is converted to a compilation error in CompilationUnit#applyToPrimaryClassNodes) instead of actually adding the intended static type error.