Issue #2430133 by JeroenT, znerol, mgifford: BlockLanguageTest tests non-existing pages
parent
d8435a0695
commit
b8a325c351
|
@ -23,7 +23,7 @@ class BlockLanguageTest extends BrowserTestBase {
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $modules = ['language', 'block', 'content_translation'];
|
||||
protected static $modules = ['language', 'block', 'content_translation', 'node'];
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
|
@ -48,6 +48,18 @@ class BlockLanguageTest extends BrowserTestBase {
|
|||
|
||||
// Verify that language was added successfully.
|
||||
$this->assertSession()->pageTextContains('French');
|
||||
|
||||
// Set path prefixes for both languages.
|
||||
$this->config('language.negotiation')->set('url', [
|
||||
'source' => 'path_prefix',
|
||||
'prefixes' => [
|
||||
'en' => 'en',
|
||||
'fr' => 'fr',
|
||||
],
|
||||
])->save();
|
||||
|
||||
$this->drupalCreateContentType(['type' => 'page']);
|
||||
$this->drupalCreateNode();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -80,10 +92,12 @@ class BlockLanguageTest extends BrowserTestBase {
|
|||
|
||||
// Check that a page has a block.
|
||||
$this->drupalGet('en');
|
||||
$this->assertSession()->statusCodeEquals(200);
|
||||
$this->assertSession()->pageTextContains('Powered by Drupal');
|
||||
|
||||
// Check that a page doesn't has a block for the current language anymore.
|
||||
$this->drupalGet('fr');
|
||||
$this->assertSession()->statusCodeEquals(200);
|
||||
$this->assertSession()->pageTextNotContains('Powered by Drupal');
|
||||
}
|
||||
|
||||
|
@ -161,9 +175,10 @@ class BlockLanguageTest extends BrowserTestBase {
|
|||
$this->submitForm($edit, 'Save block');
|
||||
|
||||
// Interface negotiation depends on request arguments.
|
||||
$this->drupalGet('node', ['query' => ['language' => 'en']]);
|
||||
$this->drupalGet('node/1', ['query' => ['language' => 'en']]);
|
||||
$this->assertSession()->statusCodeEquals(200);
|
||||
$this->assertSession()->pageTextNotContains('Powered by Drupal');
|
||||
$this->drupalGet('node', ['query' => ['language' => 'fr']]);
|
||||
$this->drupalGet('node/1', ['query' => ['language' => 'fr']]);
|
||||
$this->assertSession()->pageTextContains('Powered by Drupal');
|
||||
|
||||
// Log in again in order to clear the interface language stored in the
|
||||
|
@ -174,8 +189,10 @@ class BlockLanguageTest extends BrowserTestBase {
|
|||
// Content language does not depend on session/request arguments.
|
||||
// It will fall back on English (site default) and not display the block.
|
||||
$this->drupalGet('en');
|
||||
$this->assertSession()->statusCodeEquals(200);
|
||||
$this->assertSession()->pageTextNotContains('Powered by Drupal');
|
||||
$this->drupalGet('fr');
|
||||
$this->assertSession()->statusCodeEquals(200);
|
||||
$this->assertSession()->pageTextNotContains('Powered by Drupal');
|
||||
|
||||
// Change visibility to now depend on content language for this block.
|
||||
|
@ -187,9 +204,11 @@ class BlockLanguageTest extends BrowserTestBase {
|
|||
|
||||
// Content language negotiation does not depend on request arguments.
|
||||
// It will fall back on English (site default) and not display the block.
|
||||
$this->drupalGet('node', ['query' => ['language' => 'en']]);
|
||||
$this->drupalGet('node/1', ['query' => ['language' => 'en']]);
|
||||
$this->assertSession()->statusCodeEquals(200);
|
||||
$this->assertSession()->pageTextNotContains('Powered by Drupal');
|
||||
$this->drupalGet('node', ['query' => ['language' => 'fr']]);
|
||||
$this->drupalGet('node/1', ['query' => ['language' => 'fr']]);
|
||||
$this->assertSession()->statusCodeEquals(200);
|
||||
$this->assertSession()->pageTextNotContains('Powered by Drupal');
|
||||
|
||||
// Content language negotiation depends on path prefix.
|
||||
|
|
Loading…
Reference in New Issue