move looksLikeLatLonPair into lib.php, basic PHP test suite using phpunit

This commit is contained in:
Marc Tobias Metten
2014-09-23 22:53:20 +02:00
parent aae90ea5cb
commit d6f298f033
8 changed files with 214 additions and 30 deletions

View File

@@ -542,35 +542,9 @@
}
// Do we have anything that looks like a lat/lon pair?
if (preg_match('/\\b([NS])[ ]+([0-9]+[0-9.]*)[ ]+([0-9.]+)?[, ]+([EW])[ ]+([0-9]+)[ ]+([0-9]+[0-9.]*)?\\b/', $sQuery, $aData))
{
$fQueryLat = ($aData[1]=='N'?1:-1) * ($aData[2] + $aData[3]/60);
$fQueryLon = ($aData[4]=='E'?1:-1) * ($aData[5] + $aData[6]/60);
if ($fQueryLat <= 90.1 && $fQueryLat >= -90.1 && $fQueryLon <= 180.1 && $fQueryLon >= -180.1)
{
$this->setNearPoint(array($fQueryLat, $fQueryLon));
$sQuery = trim(str_replace($aData[0], ' ', $sQuery));
}
}
elseif (preg_match('/\\b([0-9]+)[ ]+([0-9]+[0-9.]*)?[ ]+([NS])[, ]+([0-9]+)[ ]+([0-9]+[0-9.]*)?[ ]+([EW])\\b/', $sQuery, $aData))
{
$fQueryLat = ($aData[3]=='N'?1:-1) * ($aData[1] + $aData[2]/60);
$fQueryLon = ($aData[6]=='E'?1:-1) * ($aData[4] + $aData[5]/60);
if ($fQueryLat <= 90.1 && $fQueryLat >= -90.1 && $fQueryLon <= 180.1 && $fQueryLon >= -180.1)
{
$this->setNearPoint(array($fQueryLat, $fQueryLon));
$sQuery = trim(str_replace($aData[0], ' ', $sQuery));
}
}
elseif (preg_match('/(\\[|^|\\b)(-?[0-9]+[0-9]*\\.[0-9]+)[, ]+(-?[0-9]+[0-9]*\\.[0-9]+)(\\]|$|\\b)/', $sQuery, $aData))
{
$fQueryLat = $aData[2];
$fQueryLon = $aData[3];
if ($fQueryLat <= 90.1 && $fQueryLat >= -90.1 && $fQueryLon <= 180.1 && $fQueryLon >= -180.1)
{
$this->setNearPoint(array($fQueryLat, $fQueryLon));
$sQuery = trim(str_replace($aData[0], ' ', $sQuery));
}
if ( $aLooksLike = looksLikeLatLonPair($sQuery) ){
$this->setNearPoint(array($aLooksLike['lat'], $aLooksLike['lon']));
$sQuery = $aLooksLike['query'];
}
$aSearchResults = array();