$query_string =
isset($parts['query'
]) ?
rawurldecode($parts['query'
]) : '';
$this->
assertStringContainsString('=language:fr',
$query_string, 'Language filter language:fr add to the query string.'
);
// Search for keyword node and language filter as Spanish.
$edit =
['keys' => 'node', 'language[es]' => TRUE
];
$this->
drupalGet('search/node'
);
$this->
submitForm($edit, 'edit-submit--2'
);
// Check for Spanish results.
$this->
assertSession()->
linkExists('Second node this is the Spanish title', 0, 'Second node Spanish title found in search results'
);
$this->
assertSession()->
linkExists('Third node es', 0, 'Third node Spanish found in search results'
);
// Ensure that results don't contain other language nodes.
$this->
assertSession()->
linkNotExists('First node en', 'Search results do not contain first English node'
);
$this->
assertSession()->
linkNotExists('Second node en', 'Search results do not contain second English node'
);
$this->
assertSession()->
linkNotExists('Third node en', 'Search results do not contain third English node'
);
// Change the default language and delete English.
$path = 'admin/config/regional/language';
$this->
drupalGet($path);
$this->
assertSession()->
checkboxChecked('edit-site-default-language-en'
);
$edit =
[ 'site_default_language' => 'fr',
];
$this->
drupalGet($path);