mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-06 18:14:16 +00:00
return place_id link to details when not an OSM object
Stop-gap solution to find the right object for Tiger and interpolation objects.
This commit is contained in:
@@ -48,5 +48,5 @@ function detailsPermaLink($aFeature, $sRefText = false)
|
|||||||
$sLabel = $sRefText ? $sRefText : $sOSMType.' '.$aFeature['osm_id'];
|
$sLabel = $sRefText ? $sRefText : $sOSMType.' '.$aFeature['osm_id'];
|
||||||
return '<a href="details.php?osmtype='.$aFeature['osm_type'].'&osmid='.$aFeature['osm_id'].'&class='.$aFeature['class'].'">'.$sLabel.'</a>';
|
return '<a href="details.php?osmtype='.$aFeature['osm_type'].'&osmid='.$aFeature['osm_id'].'&class='.$aFeature['class'].'">'.$sLabel.'</a>';
|
||||||
}
|
}
|
||||||
return '';
|
return detailsLink($aFeature, $sRefText);
|
||||||
}
|
}
|
||||||
|
|||||||
57
test/php/Nominatim/OutputTest.php
Normal file
57
test/php/Nominatim/OutputTest.php
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Nominatim;
|
||||||
|
|
||||||
|
require_once(CONST_BasePath.'/lib/output.php');
|
||||||
|
|
||||||
|
class OutputTest extends \PHPUnit\Framework\TestCase
|
||||||
|
{
|
||||||
|
public function testDetailsPermaLinkNode()
|
||||||
|
{
|
||||||
|
$aFeature = array('osm_type' => 'N', 'osm_id'=> 38274, 'class' => 'place');
|
||||||
|
$this->assertSame(
|
||||||
|
detailsPermaLink($aFeature),
|
||||||
|
'<a href="details.php?osmtype=N&osmid=38274&class=place">node 38274</a>'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDetailsPermaLinkWay()
|
||||||
|
{
|
||||||
|
$aFeature = array('osm_type' => 'W', 'osm_id'=> 65, 'class' => 'highway');
|
||||||
|
$this->assertSame(
|
||||||
|
detailsPermaLink($aFeature),
|
||||||
|
'<a href="details.php?osmtype=W&osmid=65&class=highway">way 65</a>'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDetailsPermaLinkRelation()
|
||||||
|
{
|
||||||
|
$aFeature = array('osm_type' => 'R', 'osm_id'=> 9908, 'class' => 'waterway');
|
||||||
|
$this->assertSame(
|
||||||
|
detailsPermaLink($aFeature),
|
||||||
|
'<a href="details.php?osmtype=R&osmid=9908&class=waterway">relation 9908</a>'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDetailsPermaLinkTiger()
|
||||||
|
{
|
||||||
|
$aFeature = array('osm_type' => 'T', 'osm_id'=> 2, 'place_id' => 334);
|
||||||
|
$this->assertSame(
|
||||||
|
detailsPermaLink($aFeature, 'foo'),
|
||||||
|
'<a href="details.php?place_id=334">foo</a>'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDetailsPermaLinkInterpolation()
|
||||||
|
{
|
||||||
|
$aFeature = array('osm_type' => 'I', 'osm_id'=> 400, 'place_id' => 3);
|
||||||
|
$this->assertSame(
|
||||||
|
detailsPermaLink($aFeature, 'foo'),
|
||||||
|
'<a href="details.php?place_id=3">foo</a>'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user