0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-09-19 18:55:19 +00:00

Fix PHP 4 problems with references.

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@211 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
Edward Z. Yang 2006-08-12 04:07:06 +00:00
parent c2ec56b872
commit 77f2833f36
2 changed files with 10 additions and 10 deletions

View File

@ -43,15 +43,15 @@ class HTMLPurifier_AttrDef_URI extends HTMLPurifier_AttrDef
$registry = HTMLPurifier_URISchemeRegistry::instance();
$registry =& HTMLPurifier_URISchemeRegistry::instance();
if ($scheme !== null) {
// no need to validate the scheme's fmt since we do that when we
// retrieve the specific scheme object from the registry
$scheme = ctype_lower($scheme) ? $scheme : strtolower($scheme);
$scheme_obj = $registry->getScheme($scheme);
$scheme_obj =& $registry->getScheme($scheme);
if (!$scheme_obj) return ''; // invalid scheme, clean it out
} else {
$scheme_obj = $registry->getScheme($config->get('URI', 'DefaultScheme'));
$scheme_obj =& $registry->getScheme($config->get('URI', 'DefaultScheme'));
}
@ -141,4 +141,4 @@ class HTMLPurifier_AttrDef_URI extends HTMLPurifier_AttrDef
}
?>
?>

View File

@ -117,7 +117,7 @@ class HTMLPurifier_AttrDef_URITest extends HTMLPurifier_AttrDefHarness
// test overlarge port (max is 65535, although this isn't official)
$uri[13] = 'http://example.com:65536';
$components[13] = array('example.com', '', null, null);
$uri[13] = 'http://example.com';
$expect_uri[13] = 'http://example.com';
// some spec abnf tests
@ -157,14 +157,14 @@ class HTMLPurifier_AttrDef_URITest extends HTMLPurifier_AttrDefHarness
// I cannot set a default value to function parameters that are passed
// by reference. So we use the value instance() returns.
$fake_registry = new HTMLPurifier_URISchemeRegistryMock($this);
$registry = HTMLPurifier_URISchemeRegistry::instance($fake_registry);
$registry =& HTMLPurifier_URISchemeRegistry::instance($fake_registry);
// now, let's at a pseudo-scheme to the registry
$scheme = new HTMLPurifier_URISchemeMock($this);
$scheme =& new HTMLPurifier_URISchemeMock($this);
// here are the schemes we will support with overloaded mocks
$registry->setReturnValue('getScheme', $scheme, array('http'));
$registry->setReturnValue('getScheme', $scheme, array('mailto'));
$registry->setReturnReference('getScheme', $scheme, array('http'));
$registry->setReturnReference('getScheme', $scheme, array('mailto'));
// default return value is false (meaning no scheme defined: reject)
$registry->setReturnValue('getScheme', false, array('*'));
@ -184,7 +184,7 @@ class HTMLPurifier_AttrDef_URITest extends HTMLPurifier_AttrDefHarness
}
$result = $def->validate($value);
$scheme->tally();
$this->assertIdentical($expect_uri[$i], $result);
$this->assertIdentical($expect_uri[$i], $result, "Test $i: %s");
}