Skip to content

Instantly share code, notes, and snippets.

@KendallHopkins
Created May 20, 2010 13:45
Show Gist options
  • Save KendallHopkins/407565 to your computer and use it in GitHub Desktop.
Save KendallHopkins/407565 to your computer and use it in GitHub Desktop.
<?php
$test_array = array(
'<a href="/test">' =>
'<a href="/test">',
'<a href="path/relative">' =>
'<a href="basepath/path/relative">',
'<a href="path/relative ">' =>
'<a href="basepath/path/relative ">',
'<a href="path/ relative">' =>
'<a href="basepath/path/ relative">',
'<a href=" path/ relative ">' =>
'<a href="basepath/ path/relative ">',
'<a href=" ">' =>
'<a href="basepath/ ">',
'<a href=>' =>
'<a href="basepath/">',
'<a href="test" href="test">' =>
'<a href="basepath/test" href="basepath/test">',
'<tag href="/test">' =>
'<tag href="/test">',
'<a href="http://test.com/test">' =>
'<a href="http://test.com/test">',
'<a href="proto://x.y/test#a">' =>
'<a href="proto://x.y/test#a">',
'<a href="/test#a">' =>
'<a href="/test#a">',
'<a href="test">' =>
'<a href="basepath/test">',
'<a href="test">' =>
'<a href="basepath/test">',
'<a href=test>' =>
'<a href="basepath/test">',
'<a href=test test>' =>
'<a href="basepath/test" test>',
'<a href=#test>' =>
'<a href=#test>',
'<a href=\'#test\'>' =>
'<a href=\'#test\'>',
'<a href="#test">' =>
'<a href="#test">',
'<a href="#test/some/a/path">' =>
'<a href="#test/some/a/path">',
'<a href=\'path#test\'>' =>
'<a href="basepath/path#test">',
'<a href="test" >' =>
'<a href="basepath/test" >',
'<href="test">' =>
'<href="test">',
'< href="test">' =>
'< href="test">',
'<a something="a" href="test" something2="b">' =>
'<a something="a" href="basepath/test" something2="b">',
'<a something="a" href="test" something2="b">href="something"<a something="a" href="test" something2="b">' =>
'<a something="a" href="basepath/test" something2="b">href="something"<a something="a" href="basepath/test" something2="b">',
);
$failed_test_count = 0;
$failed_test_array = array();
$i = 1;
foreach( $test_array as $input => $correct_output ) {
$output = preg_replace(
"/(<.+?href=[\"']+)([^#]{1}.*?>)/",
'$1' . "basepath/" . '$2',
$input
);
if( $output !== $correct_output ) {
$failed_test_count++;
$failed_test_array[] = $i;
print
"\n".
"Failed test:\n".
"\t"."Input: \t".$input."\n".
"\t"."Output: \t".$output."\n".
"\t"."Correct: \t".$correct_output."\n";
}
$i++;
}
print
"\n".
"Failed Test Count: $failed_test_count\n".
"Failed Test Array: ".implode(",",$failed_test_array)."\n";
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment