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:
Sarah Hoffmann
2020-02-09 15:45:38 +01:00
parent 3737712044
commit 57ae3d03a1
2 changed files with 58 additions and 1 deletions

View 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>'
);
}
}