public function expectreplacedBehavior() { $mock = new ClassMethodReplacementGuard(); $mock->replace('StaticMock\\MethodReplacer\\A', 'a', function () { return 3; }); $mock->replace('StaticMock\\MethodReplacer\\B', 'b', function () { return 4; }); $this->assertEquals(3, A::a()); $this->assertEquals(4, B::b()); $this->assertEquals(3, C::bar()); }
public function testMock() { $manager = ClassManager::getInstance(); $manager->register('StaticMock\\MethodReplacer\\A', 'a', function () { return 3; }); $manager->register('StaticMock\\MethodReplacer\\B', 'b', function () { return 4; }); $this->assertEquals(3, A::a()); $this->assertEquals(4, B::b()); $manager->deregister('StaticMock\\MethodReplacer\\A', 'a'); $manager->deregister('StaticMock\\MethodReplacer\\B', 'b'); $this->assertEquals(1, A::a()); $this->assertEquals(2, B::b()); }
public static function hacklib_initialize_statics() { self::$b = new \HH\Vector(array("do", "re", "mi")); }
function a() { echo $this->a++; } } class B extends A { protected $a = 10; function b() { echo $this->a++; $this->a(); } } $b = new B(); $b->b(); //10111213 // -------------------------------------------------- /* class myClass { public $member = "ABC"; static function showMember(){ var_dump($this->member); } } myClass::showMember();//Fatal error: Using $this when not in object context */ // -------------------------------------------------- class Me { const NAME = "Ricardo";