/** * Retrieve a specific component from a parsed URL array. * * @internal * * @since 4.7.0 * * @param array|false $url_parts The parsed URL. Can be false if the URL failed to parse. * @param int $component The specific component to retrieve. Use one of the PHP * predefined constants to specify which one. * Defaults to -1 (= return all parts as an array). * @see http://php.net/manual/en/function.parse-url.php * @return mixed False on parse failure; Array of URL components on success; * When a specific component has been requested: null if the component * doesn't exist in the given URL; a sting or - in the case of * PHP_URL_PORT - integer when it does. See parse_url()'s return values. */ function _get_component_from_parsed_url_array($url_parts, $component = -1) { if (-1 === $component) { return $url_parts; } $key = _wp_translate_php_url_constant_to_key($component); if (false !== $key && is_array($url_parts) && isset($url_parts[$key])) { return $url_parts[$key]; } else { return null; } }
/** * @ticket 36356 * * @dataProvider wp_translate_php_url_constant_to_key_testcases */ function test_wp_translate_php_url_constant_to_key($input, $expected) { $actual = _wp_translate_php_url_constant_to_key($input); $this->assertSame($expected, $actual); }