annotate core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children a9cd425dd02b
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\search\Functional;
Chris@0 4
Chris@0 5 /**
Chris@0 6 * Tests search functionality with diacritics.
Chris@0 7 *
Chris@0 8 * @group search
Chris@0 9 */
Chris@0 10 class SearchNodeDiacriticsTest extends SearchTestBase {
Chris@0 11
Chris@0 12 /**
Chris@0 13 * A user with permission to use advanced search.
Chris@0 14 *
Chris@0 15 * @var \Drupal\user\UserInterface
Chris@0 16 */
Chris@0 17 public $testUser;
Chris@0 18
Chris@0 19 protected function setUp() {
Chris@0 20 parent::setUp();
Chris@0 21 node_access_rebuild();
Chris@0 22
Chris@0 23 // Create a test user and log in.
Chris@0 24 $this->testUser = $this->drupalCreateUser(['access content', 'search content', 'use advanced search', 'access user profiles']);
Chris@0 25 $this->drupalLogin($this->testUser);
Chris@0 26 }
Chris@0 27
Chris@0 28 /**
Chris@0 29 * Tests that search returns results with diacritics in the search phrase.
Chris@0 30 */
Chris@0 31 public function testPhraseSearchPunctuation() {
Chris@0 32 $body_text = 'The Enricþment Center is cómmīŦŧęđ to the well BɆĬŇĜ of æll påŔťıçȉpǎǹţș. ';
Chris@0 33 $body_text .= 'Also meklēt (see #731298)';
Chris@0 34 $this->drupalCreateNode(['body' => [['value' => $body_text]]]);
Chris@0 35
Chris@0 36 // Update the search index.
Chris@0 37 $this->container->get('plugin.manager.search')->createInstance('node_search')->updateIndex();
Chris@0 38 search_update_totals();
Chris@0 39
Chris@0 40 // Refresh variables after the treatment.
Chris@0 41 $this->refreshVariables();
Chris@0 42
Chris@0 43 $edit = ['keys' => 'meklet'];
Chris@0 44 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 45 $this->assertRaw('<strong>meklēt</strong>');
Chris@0 46
Chris@0 47 $edit = ['keys' => 'meklēt'];
Chris@0 48 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 49 $this->assertRaw('<strong>meklēt</strong>');
Chris@0 50
Chris@0 51 $edit = ['keys' => 'cómmīŦŧęđ BɆĬŇĜ påŔťıçȉpǎǹţș'];
Chris@0 52 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 53 $this->assertRaw('<strong>cómmīŦŧęđ</strong>');
Chris@0 54 $this->assertRaw('<strong>BɆĬŇĜ</strong>');
Chris@0 55 $this->assertRaw('<strong>påŔťıçȉpǎǹţș</strong>');
Chris@0 56
Chris@0 57 $edit = ['keys' => 'committed being participants'];
Chris@0 58 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 59 $this->assertRaw('<strong>cómmīŦŧęđ</strong>');
Chris@0 60 $this->assertRaw('<strong>BɆĬŇĜ</strong>');
Chris@0 61 $this->assertRaw('<strong>påŔťıçȉpǎǹţș</strong>');
Chris@0 62
Chris@0 63 $edit = ['keys' => 'Enricþment'];
Chris@0 64 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 65 $this->assertRaw('<strong>Enricþment</strong>');
Chris@0 66
Chris@0 67 $edit = ['keys' => 'Enritchment'];
Chris@0 68 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 69 $this->assertNoRaw('<strong>Enricþment</strong>');
Chris@0 70
Chris@0 71 $edit = ['keys' => 'æll'];
Chris@0 72 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 73 $this->assertRaw('<strong>æll</strong>');
Chris@0 74
Chris@0 75 $edit = ['keys' => 'all'];
Chris@0 76 $this->drupalPostForm('search/node', $edit, t('Search'));
Chris@0 77 $this->assertNoRaw('<strong>æll</strong>');
Chris@0 78 }
Chris@0 79
Chris@0 80 }