Problem
Running the tests in the attached suite throws an error:
There was 1 error: 1) Flow\Tests\SpamFilter\AbuseFilterTest::testSpam with data set #0 (MediaWiki\Title\Title Object (...), MediaWiki\Title\Title Object (...), array(), null, true) Error: Call to a member function lazyLoadMethods() on null
This appears to be because Hooks.php refers directly to the static self::$abuseFilter variable instead of using the singleton getter self::getAbuseFilter(). If a test that comes before AbuseFilterTest in the suite calls resetFlowExtension(), the $abuseFilter variable will be null.
Expected behaviour
The AbuseFilterTests pass, regardless of what test suites have been run before in the same process.