<?php
require('../rel2abs.php'); require('../url_to_absolute.php'); require('phpuri.php');
$tests=array( array('rel' => 'g:h', 'result' => 'g:h'), array('rel' => 'g', 'result' => 'http://a/b/c/g'), array('rel' => './g', 'result' => 'http://a/b/c/g'), array('rel' => 'g/', 'result' => 'http://a/b/c/g/'), array('rel' => '/g', 'result' => 'http://a/g'), array('rel' => '//g', 'result' => 'http://g'), array('rel' => 'g?y', 'result' => 'http://a/b/c/g?y'), array('rel' => '#s', 'result' => 'http://a/b/c/d;p?q#s'), array('rel' => 'g#s', 'result' => 'http://a/b/c/g#s'), array('rel' => 'g?y#s', 'result' => 'http://a/b/c/g?y#s'), array('rel' => ';x', 'result' => 'http://a/b/c/;x'), array('rel' => 'g;x', 'result' => 'http://a/b/c/g;x'), array('rel' => 'g;x?y#s', 'result' => 'http://a/b/c/g;x?y#s'), array('rel' => '.', 'result' => 'http://a/b/c/'), array('rel' => './', 'result' => 'http://a/b/c/'), array('rel' => '..', 'result' => 'http://a/b/'), array('rel' => '../', 'result' => 'http://a/b/'), array('rel' => '../g', 'result' => 'http://a/b/g'), array('rel' => '../..', 'result' => 'http://a/'), array('rel' => '../../', 'result' => 'http://a/'), array('rel' =>'../../g','result' =>'http://a/g'), array('rel' =>'g.','result' =>'http://a/b/c/g.'), array('rel' =>'.g','result' =>'http://a/b/c/.g'), array('rel' =>'g..','result' =>'http://a/b/c/g..'), array('rel' =>'..g','result' =>'http://a/b/c/..g'), array('rel' =>'./../g','result' =>'http://a/b/g'), array('rel' =>'./g/.','result' =>'http://a/b/c/g/'), array('rel' =>'g/./h','result' =>'http://a/b/c/g/h'), array('rel' =>'g/../h','result' =>'http://a/b/c/h'), array('rel' =>'g;x=1/./y','result' =>'http://a/b/c/g;x=1/y'), array('rel' =>'g;x=1/../y','result' =>'http://a/b/c/y'), array('rel' =>'g?y/./x','result' =>'http://a/b/c/g?y/./x'), array('rel' =>'g?y/../x','result' =>'http://a/b/c/g?y/../x'), array('rel' =>'g#s/./x','result' =>'http://a/b/c/g#s/./x'), array('rel' =>'g#s/../x','result' =>'http://a/b/c/g#s/../x') );
# rel2abs $start = microtime(); $base = 'http://a/b/c/d;p?q'; list($successes, $failures) = array(0,0); foreach($tests as $test){ if(($r = rel2abs($test['rel'], $base)) == $test['result']){ $successes++; } else { $failures++; } }
$elapsed = microtime() - $start; echo "rel2abs: successes -> $successes, failures => $failures, elapsed time: $elapsed\n";
# url_to_absolute $start = microtime(); $base = 'http://a/b/c/d;p?q'; list($successes, $failures) = array(0,0); foreach($tests as $test){ if(($r = url_to_absolute($base, $test['rel'])) == $test['result']){ $successes++; } else { $failures++; } }
$elapsed = microtime() - $start; echo "url_to_absolute: successes -> $successes, failures => $failures, elapsed time: $elapsed\n";
# phpuri $start = microtime(); $base = phpUri::parse('http://a/b/c/d;p?q'); list($successes, $failures) = array(0,0); foreach($tests as $test){ if(($r = $base->join($test['rel'])) == $test['result']){ $successes++; } else { $failures++; echo "failure: $r instead of " . $test['result'] . " \n"; } } $elapsed = microtime() - $start; echo "phpuri: successes -> $successes, failures => $failures, elapsed time: $elapsed\n"; ?>
|