public function testThrowableEquitable() { $class = 'SR\\Util\\Test\\Fixture\\IsInstanceOfThrowableFixture'; $instance = new $class(); $this->assertTrue(ClassInfo::isThrowableEquitable($class)); $this->assertTrue(ClassInfo::isThrowableEquitable($instance)); $class = 'SR\\Util\\Test\\Fixture\\NotInstanceOfThrowableFixture'; $instance = new $class(); $this->assertFalse(ClassInfo::isThrowableEquitable($class)); $this->assertFalse(ClassInfo::isThrowableEquitable($instance)); $this->assertFalse(ClassInfo::isThrowableEquitable(__NAMESPACE__ . '\\This\\Class\\Does\\Not\\Exist')); }
/** * Filters an array of parameters (the values passed to any of this object's variadic methods) of non-throwables * and returns the first found or null if none are found. * * @param mixed[] $from * * @return \Throwable[] */ private final function filterThrowable(array $from) { return array_filter($from, function ($p) { return is_object($p) && ClassInfo::isThrowableEquitable($p); }); }