<?php
-// $Id: SpamPickupTest.php,v 1.5 2008/12/27 11:50:55 henoheno Exp $
+// $Id: SpamPickupTest.php,v 1.6 2008/12/30 11:13:49 henoheno Exp $
// Copyright (C) 2007 heno
//
// Design test case for spam.php (called from runner.php)
//$results = uri_pickup_normalize(uri_pickup($test_string));
//$this->assertEquals('percent-encoded.org', $results[0]['host']);
+ // Host: Without path
+ $test_string = ' http://nopathstring.com ';
+ $results = uri_pickup($test_string);
+ $this->assertEquals('', $results[0]['path']);
+ $this->assertEquals('', $results[0]['file']);
+ $results[0]['path'] = '/';
+ $this->assertEquals('', $results[0]['file'], '[Seems referense trouble]');
+ //
+ $results = uri_pickup($test_string);
+ $results = uri_pickup_normalize($results);
+ $this->assertEquals('/',$results[0]['path']);
+ $this->assertEquals('', $results[0]['file']);
+
// Host: Underscore
$test_string = ' http://under_score.org/fobar.html ';
$results = uri_pickup_normalize(uri_pickup($test_string));
<?php
-// $Id: spam_pickup.php,v 1.63 2008/12/27 11:50:21 henoheno Exp $
+// $Id: spam_pickup.php,v 1.64 2008/12/30 11:13:49 henoheno Exp $
// Copyright (C) 2006-2007 PukiWiki Developers Team
// License: GPL v2 or (at your option) any later version
//
$string, $array, PREG_SET_ORDER | PREG_OFFSET_CAPTURE
);
- // Format the $array
+ // Reformat the $array
static $parts = array(
1 => 'scheme', 2 => 'userinfo', 3 => 'host', 4 => 'port',
5 => 'path', 6 => 'file', 7 => 'query', 8 => 'fragment'
);
- $default = array('');
+ $default = array(0 => '', 1 => -1);
foreach(array_keys($array) as $uri) {
$_uri = & $array[$uri];
array_rename_keys($_uri, $parts, TRUE, $default);
$offset = $_uri['scheme'][1]; // Scheme's offset = URI's offset
foreach(array_keys($_uri) as $part) {
- $_uri[$part] = & $_uri[$part][0]; // Remove offsets
+ $_uri[$part] = $_uri[$part][0]; // Remove offsets
}
}
}
// Remove 'offset's for area_measure()
- foreach(array_keys($array) as $key)
+ foreach(array_keys($array) as $key) {
unset($array[$key]['area']['offset']);
+ }
return $array;
}