/** * testGetTypePackageReturnsExpectedExtensionNameForClassPrefixedWithBackslash * * @return void * @covers PHP_Depend_Util_Type::getTypePackage * @group pdepend * @group pdepend::util * @group unittest */ public function testGetTypePackageReturnsExpectedExtensionNameForClassPrefixedWithBackslash() { $extensionName = PHP_Depend_Util_Type::getTypePackage('\\LogicException'); $this->assertEquals('+spl', $extensionName); }
/** * Extracts the package name of a qualified PHP 5.3 class identifier. * * If the class name doesn't contain a package identifier this method will * return the default identifier. * * <code> * $packageName = $this->extractPackageName('foo\bar\foobar'); * var_dump($packageName); * // Results in: * // string(8) "foo\bar" * * $packageName = $this->extractPackageName('foobar'); * var_dump($packageName); * // Results in: * // string(6) "+global" * </code> * * @param string $qualifiedName The qualified PHP 5.3 class identifier. * * @return string */ protected function extractPackageName($qualifiedName) { if (($pos = strrpos($qualifiedName, '\\')) !== false) { // Extract namespace part from qualified name $namespaceName = substr($qualifiedName, 0, $pos); // Check for leading backslash if (strpos($namespaceName, '\\') === 0) { return substr($namespaceName, 1); } return $namespaceName; } else { if (PHP_Depend_Util_Type::isInternalType($qualifiedName)) { return PHP_Depend_Util_Type::getTypePackage($qualifiedName); } } return self::DEFAULT_PACKAGE; }
/** * Extracts the package name of a qualified PHP 5.3 class identifier. * * If the class name doesn't contain a package identifier this method will * return the default identifier. * * <code> * $packageName = $this->extractPackageName('foo\bar\foobar'); * var_dump($packageName); * // Results in: * // string(8) "foo\bar" * * $packageName = $this->extractPackageName('foobar'); * var_dump($packageName); * // Results in: * // string(6) "+global" * </code> * * @param string $qualifiedName The qualified PHP 5.3 class identifier. * * @return string */ protected function extractPackageName($qualifiedName) { if (($pos = strrpos($qualifiedName, '\\')) !== false) { return ltrim(substr($qualifiedName, 0, $pos), '\\'); } else { if (PHP_Depend_Util_Type::isInternalType($qualifiedName)) { return PHP_Depend_Util_Type::getTypePackage($qualifiedName); } } return self::DEFAULT_PACKAGE; }