assertNull(Deprecation::notice('2.0', 'Deprecation test failed')); } /** * @expectedException PHPUnit_Framework_Error */ public function testEqualVersionTriggersNotice() { Deprecation::notification_version('2.0.0'); Deprecation::notice('2.0.0', 'Deprecation test passed'); } public function testBetaVersionDoesntTriggerNoticeWhenDeprecationDoesntSpecifyReleasenum() { Deprecation::notification_version('2.0.0-beta1'); $this->assertNull(Deprecation::notice('2.0', 'Deprecation test failed')); $this->assertNull(Deprecation::notice('2.0.0', 'Deprecation test failed')); } /** * @expectedException PHPUnit_Framework_Error */ public function testGreaterVersionTriggersNotice() { Deprecation::notification_version('3.0.0'); Deprecation::notice('2.0', 'Deprecation test passed'); } public function testNonMatchingModuleNotifcationVersionDoesntAffectNotice() { Deprecation::notification_version('1.0.0'); Deprecation::notification_version('3.0.0', 'my-unrelated-module'); $this->callThatOriginatesFromFramework(); } /** * @expectedException PHPUnit_Framework_Error */ public function testMatchingModuleNotifcationVersionAffectsNotice() { Deprecation::notification_version('1.0.0'); Deprecation::notification_version('3.0.0', FRAMEWORK_DIR); $this->callThatOriginatesFromFramework(); } public function testMethodNameCalculation() { $this->assertEquals( TestDeprecation::get_method(), static::class.'->testMethodNameCalculation' ); } /** * @expectedException PHPUnit_Framework_Error * @expectedExceptionMessage DeprecationTest->testScopeMethod is deprecated. Method scope */ public function testScopeMethod() { Deprecation::notification_version('2.0.0'); Deprecation::notice('2.0.0', 'Method scope', Deprecation::SCOPE_METHOD); } /** * @expectedException PHPUnit_Framework_Error * @expectedExceptionMessage DeprecationTest is deprecated. Class scope */ public function testScopeClass() { Deprecation::notification_version('2.0.0'); Deprecation::notice('2.0.0', 'Class scope', Deprecation::SCOPE_CLASS); } /** * @expectedException PHPUnit_Framework_Error * @expectedExceptionMessage Global scope */ public function testScopeGlobal() { Deprecation::notification_version('2.0.0'); Deprecation::notice('2.0.0', 'Global scope', Deprecation::SCOPE_GLOBAL); } protected function callThatOriginatesFromFramework() { $this->assertEquals('silverstripe/framework', TestDeprecation::get_module()->getName()); $this->assertNull(Deprecation::notice('2.0', 'Deprecation test passed')); } }