X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2a39bc6e68a114a02cc57e4bab95cd316f6aa5cf..6106f1a32e450fdadd0da8f8c977bcd6f3062018:/test/php/Nominatim/TokenListTest.php?ds=sidebyside diff --git a/test/php/Nominatim/TokenListTest.php b/test/php/Nominatim/TokenListTest.php index 4016a839..fdee3723 100644 --- a/test/php/Nominatim/TokenListTest.php +++ b/test/php/Nominatim/TokenListTest.php @@ -2,14 +2,12 @@ namespace Nominatim; -// require_once(CONST_BasePath.'/lib/db.php'); -// require_once(CONST_BasePath.'/lib/cmd.php'); -require_once(CONST_BasePath.'/lib/TokenList.php'); +require_once(CONST_LibDir.'/TokenList.php'); -class TokenTest extends \PHPUnit\Framework\TestCase +class TokenListTest extends \PHPUnit\Framework\TestCase { - protected function setUp() + protected function setUp(): void { $this->oNormalizer = $this->getMockBuilder(\MockNormalizer::class) ->setMethods(array('transliterate')) @@ -51,69 +49,4 @@ class TokenTest extends \PHPUnit\Framework\TestCase $this->assertFalse($TL->contains('unknownword')); $this->assertEquals(array(), $TL->get('unknownword')); } - - public function testAddress() - { - $this->expectOutputRegex('/

/'); - - $oDbStub = $this->getMockBuilder(\DB::class) - ->setMethods(array('getAll')) - ->getMock(); - $oDbStub->method('getAll') - ->will($this->returnCallback(function ($sql) { - $aResults = array(); - if (preg_match('/1051/', $sql)) { - $aResults[] = $this->wordResult(array( - 'word_id' => 999, - 'word_token' => '1051', - 'class' => 'place', - 'type' => 'house' - )); - } - if (preg_match('/64286/', $sql)) { - $aResults[] = $this->wordResult(array( - 'word_id' => 999, - 'word_token' => '64286', - 'word' => '64286', - 'class' => 'place', - 'type' => 'postcode' - )); - } - if (preg_match('/darmstadt/', $sql)) { - $aResults[] = $this->wordResult(array( - 'word_id' => 999, - 'word_token' => 'darmstadt', - 'count' => 533 - )); - } - if (preg_match('/alemagne/', $sql)) { - $aResults[] = $this->wordResult(array( - 'word_id' => 999, - 'word_token' => 'alemagne', - 'country_code' => 'de', - )); - } - if (preg_match('/mexico/', $sql)) { - $aResults[] = $this->wordResult(array( - 'word_id' => 999, - 'word_token' => 'mexico', - 'country_code' => 'mx', - )); - } - return $aResults; - })); - - $aCountryCodes = array('de', 'fr'); - $sNormQuery = '1051 hauptstr 64286 darmstadt alemagne mexico'; - $aTokens = explode(' ', $sNormQuery); - - $TL = new TokenList; - $TL->addTokensFromDB($oDbStub, $aTokens, $aCountryCodes, $sNormQuery, $this->oNormalizer); - $this->assertEquals(4, $TL->count()); - - $this->assertEquals(array(new Token\HouseNumber(999, '1051')), $TL->get('1051')); - $this->assertEquals(array(new Token\Country(999, 'de')), $TL->get('alemagne')); - $this->assertEquals(array(new Token\Postcode(999, '64286')), $TL->get('64286')); - $this->assertEquals(array(new Token\Word(999, true, 533)), $TL->get('darmstadt')); - } }