/** * @covers RecordsMan\Record::callTrigger */ public function testCallTrigger() { $testClass = $this; $trigger1WasCalled = false; $trigger2WasCalled = false; $trigger3WasCalled = false; Item::addTrigger('testTrigger', function () use($testClass, &$trigger1WasCalled) { $trigger1WasCalled = true; // $testClass->assertInstanceOf('\Test\Item', $this); // $testClass->assertEquals('test item', $this->title); }); Item::addTrigger('testTrigger', function () use($testClass, &$trigger2WasCalled) { $trigger2WasCalled = true; return false; }); Item::addTrigger('testTrigger', function () use($testClass, &$trigger3WasCalled) { $trigger3WasCalled = true; }); $item = Item::create(['title' => 'test item']); $this->assertFalse($trigger1WasCalled); $item->callTrigger('testTrigger'); $this->assertTrue($trigger1WasCalled); $this->assertTrue($trigger2WasCalled); $this->assertFalse($trigger3WasCalled); }