mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-31 09:09:59 +09:00
17515512: JanRain php-openid library included, normalization fix
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5137 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f541dd59b9
commit
658c0e6dbc
219 changed files with 41415 additions and 10 deletions
|
|
@ -0,0 +1,148 @@
|
|||
<?php
|
||||
|
||||
require_once "Services/Yadis/Yadis.php";
|
||||
require_once "Tests/Services/Yadis/TestUtil.php";
|
||||
|
||||
$testlist = array(
|
||||
// success, input_name, id_name, result_name
|
||||
array(true, "equiv", "equiv", "xrds"),
|
||||
array(true, "header", "header", "xrds"),
|
||||
array(true, "lowercase_header", "lowercase_header", "xrds"),
|
||||
array(true, "xrds", "xrds", "xrds"),
|
||||
array(true, "xrds_ctparam", "xrds_ctparam", "xrds_ctparam"),
|
||||
array(true, "xrds_ctcase", "xrds_ctcase", "xrds_ctcase"),
|
||||
array(false, "xrds_html", "xrds_html", "xrds_html"),
|
||||
array(true, "redir_equiv", "equiv", "xrds"),
|
||||
array(true, "redir_header", "header", "xrds"),
|
||||
array(true, "redir_xrds", "xrds", "xrds"),
|
||||
array(false, "redir_xrds_html", "xrds_html", "xrds_html"),
|
||||
array(true, "redir_redir_equiv", "equiv", "xrds"),
|
||||
array(false, "404_server_response", null, null),
|
||||
array(false, "404_with_header", null, null),
|
||||
array(false, "404_with_meta", null, null),
|
||||
array(false, "201_server_response", null, null),
|
||||
array(false, "500_server_response", null, null)
|
||||
);
|
||||
|
||||
function getExampleXRDS()
|
||||
{
|
||||
return Tests_Services_Yadis_readdata('example-xrds.xml');
|
||||
}
|
||||
|
||||
$example_xrds = getExampleXRDS();
|
||||
$default_test_file = 'test1-discover.txt';
|
||||
|
||||
$discover_tests = array();
|
||||
|
||||
function readTests($filename)
|
||||
{
|
||||
$data = Tests_Services_Yadis_readdata($filename);
|
||||
|
||||
if ($data === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$tests = array();
|
||||
foreach (preg_split("/\f\n/", $data) as $case) {
|
||||
list($name, $content) = explode("\n", $case, 2);
|
||||
$tests[$name] = $content;
|
||||
}
|
||||
return $tests;
|
||||
}
|
||||
|
||||
function getData($filename, $name)
|
||||
{
|
||||
global $discover_tests;
|
||||
if (!array_key_exists($filename, $discover_tests)) {
|
||||
$data = readTests($filename);
|
||||
if ($data === null) {
|
||||
return null;
|
||||
}
|
||||
$discover_tests[$filename] = $data;
|
||||
}
|
||||
|
||||
$file_tests = $discover_tests[$filename];
|
||||
|
||||
if (array_key_exists($name, $file_tests)) {
|
||||
return $file_tests[$name];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function fillTemplate($test_name, $template, $base_url, $example_xrds)
|
||||
{
|
||||
$mapping = array(
|
||||
array('URL_BASE/', $base_url),
|
||||
array('<XRDS Content>', $example_xrds),
|
||||
array('YADIS_HEADER', 'X-XRDS-Location'),
|
||||
array('NAME', $test_name));
|
||||
|
||||
foreach ($mapping as $pair) {
|
||||
list($k, $v) = $pair;
|
||||
$template = str_replace($k, $v, $template);
|
||||
}
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
function generateSample($test_name, $base_url,
|
||||
$_example_xrds = null, $filename = null)
|
||||
{
|
||||
global $example_xrds, $default_test_file;
|
||||
|
||||
if ($_example_xrds === null) {
|
||||
$_example_xrds = $example_xrds;
|
||||
}
|
||||
|
||||
if ($filename === null) {
|
||||
$filename = $default_test_file;
|
||||
}
|
||||
|
||||
$template = getData($filename, $test_name);
|
||||
|
||||
if ($template === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return fillTemplate($test_name, $template, $base_url, $_example_xrds);
|
||||
}
|
||||
|
||||
function generateResult($base_url, $input_name, $id_name, $result_name, $success)
|
||||
{
|
||||
$input_url = $base_url . $input_name; // urlparse.urljoin(base_url, input_name)
|
||||
|
||||
// If the name is null then we expect the protocol to fail, which
|
||||
// we represent by null
|
||||
if ($id_name === null) {
|
||||
// assert result_name is null
|
||||
return array($input_url, null); // DiscoveryFailure
|
||||
}
|
||||
|
||||
$result = generateSample($result_name, $base_url);
|
||||
list($headers, $content) = explode("\n\n", $result, 2);
|
||||
$header_lines = explode("\n", $headers);
|
||||
$ctype = null;
|
||||
foreach ($header_lines as $header_line) {
|
||||
if (strpos($header_line, 'Content-Type:') === 0) {
|
||||
list($temp, $ctype) = explode(":", $header_line, 2);
|
||||
$ctype = trim($ctype);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$id_url = $base_url . $id_name;
|
||||
|
||||
$result = new Services_Yadis_Yadis();
|
||||
$result->uri = $id_url;
|
||||
if ($success) {
|
||||
$result->xrds_uri = $base_url . $result_name;
|
||||
} else {
|
||||
$result->xrds_uri = null;
|
||||
}
|
||||
$result->content_type = $ctype;
|
||||
$result->body = $content;
|
||||
return array($input_url, $result);
|
||||
}
|
||||
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue