Pheasant\Tests\EventsTestCase::testSystemWideInitializeEvent PHP Method

testSystemWideInitializeEvent() public method

    public function testSystemWideInitializeEvent()
    {
        $events = array();
        $ph = $this->pheasant;
        $this->pheasant->events()->register('afterInitialize', function ($e, $schema) use(&$events, $ph) {
            // Issue #49
            // make sure this doesn't trigger recursion
            $mapper = $ph->mapperFor($schema->className());
            $events[] = func_get_args();
        });
        $this->initialize('Pheasant\\Tests\\Examples\\EventTestObject', function ($builder) {
            $builder->properties(array('test' => new Types\StringType()));
        });
        $this->assertCount(1, $events);
        $this->assertEquals('Pheasant\\Tests\\Examples\\EventTestObject', $events[0][1]->className());
        $this->assertEquals('afterInitialize', $events[0][0]);
    }