X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a5d35d6e84d5de5f6ae98d09a7863cf50a84f586..fedc8ed4740686e396fb21c495d887d8ee23609a:/test/php/Nominatim/TokenListTest.php diff --git a/test/php/Nominatim/TokenListTest.php b/test/php/Nominatim/TokenListTest.php index ad91dff1..fdee3723 100644 --- a/test/php/Nominatim/TokenListTest.php +++ b/test/php/Nominatim/TokenListTest.php @@ -2,17 +2,16 @@ namespace Nominatim; -@define('CONST_BasePath', '../../'); +require_once(CONST_LibDir.'/TokenList.php'); -require_once '../../lib/db.php'; -require_once '../../lib/cmd.php'; -require_once '../../lib/TokenList.php'; -class TokenTest extends \PHPUnit\Framework\TestCase +class TokenListTest extends \PHPUnit\Framework\TestCase { - protected function setUp() + protected function setUp(): void { - $this->oNormalizer = $this->getMock(\MockNormalizer::class, array('transliterate')); + $this->oNormalizer = $this->getMockBuilder(\MockNormalizer::class) + ->setMethods(array('transliterate')) + ->getMock(); $this->oNormalizer->method('transliterate') ->will($this->returnCallback(function ($text) { return strtolower($text); @@ -50,67 +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->getMock(\DB::class, array('getAll')); - $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')); - } }