Esempio n. 1
0
 public function testHasMethodParameters()
 {
     $definition = new CompilerDefinition();
     $definition->addDirectory(__DIR__ . '/../TestAsset/ConstructorInjection');
     $definition->addDirectory(__DIR__ . '/../TestAsset/SetterInjection');
     $definition->addDirectory(__DIR__ . '/../TestAsset/CompilerClasses');
     $definition->compile();
     // constructor injection
     $this->assertTrue($definition->hasMethodParameters('ZendTest\\Di\\TestAsset\\ConstructorInjection\\B', '__construct'));
     // setter injection
     $this->assertTrue($definition->hasMethodParameters('ZendTest\\Di\\TestAsset\\SetterInjection\\B', 'setA'));
     // setter injection with method from derived class
     $this->assertTrue($definition->hasMethodParameters('ZendTest\\Di\\TestAsset\\CompilerClasses\\D', 'setB'));
     // class does not exist
     $this->assertFalse($definition->hasMethodParameters('ZendTest\\Di\\TestAsset\\ConstructorInjection\\BB', '__construct'));
     // method not existing
     $this->assertFalse($definition->hasMethodParameters('ZendTest\\Di\\TestAsset\\SetterInjection\\B', 'setB'));
     // method exists but has no parameters
     $this->assertFalse($definition->hasMethodParameters('ZendTest\\Di\\TestAsset\\SetterInjection\\StaticSetter', 'setFoo'));
 }