View source
<?php
namespace Drupal\Tests\snowball_stemmer\Kernel;
use Drupal\KernelTests\KernelTestBase;
use Drupal\Core\Language\LanguageManagerInterface;
class CoreSearchTest extends KernelTestBase {
public static $modules = [
'search',
'snowball_stemmer',
];
protected function setUp() {
parent::setUp();
$this->stemmerService = $this
->getMockBuilder('Drupal\\snowball_stemmer\\Stemmer')
->disableOriginalConstructor()
->getMock();
$this->container
->set('snowball_stemmer.stemmer', $this->stemmerService);
$this->languageManager = $this
->createMock(LanguageManagerInterface::class);
$this->container
->set('language_manager', $this->languageManager);
\Drupal::setContainer($this->container);
}
public function testSearchSimplify() {
$this->stemmerService
->expects($this
->once())
->method('setLanguage')
->with('en')
->willReturn(TRUE);
$this->stemmerService
->expects($this
->exactly(4))
->method('stem')
->withConsecutive([
'the',
], [
'quick',
], [
'brown',
], [
'fox',
]);
$text = 'The quick brown fox';
$language = 'en';
search_simplify($text, $language);
}
public function testSearchStemming() {
$text = 'van de groep 65-plussers is dat 14%.';
$language = 'nl';
$expected = 'van de groep 65-plusser is dat 14%.';
$this->stemmerService
->expects($this
->once())
->method('setLanguage')
->with('nl')
->willReturn(TRUE);
$this->stemmerService
->expects($this
->exactly(8))
->method('stem')
->withConsecutive([
'van',
], [
'de',
], [
'groep',
], [
'65',
], [
'plussers',
], [
'is',
], [
'dat',
], [
'14',
])
->will($this
->onConsecutiveCalls('van', 'de', 'groep', '65', 'plusser', 'is', 'dat', '14'));
$out = snowball_stemmer_search_preprocess($text, $language);
$this
->assertEqual($out, $expected);
}
}