Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
7d583738
Verified
Commit
7d583738
authored
Jun 14, 2022
by
alexpott
Browse files
Issue
#2430133
by JeroenT, znerol, mgifford: BlockLanguageTest tests non-existing pages
(cherry picked from commit
b8a325c3
)
parent
8fbe9b5d
Changes
1
Hide whitespace changes
Inline
Side-by-side
core/modules/block/tests/src/Functional/BlockLanguageTest.php
View file @
7d583738
...
...
@@ -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 @@ protected function setUp(): void {
// 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 @@ public function testLanguageBlockVisibility() {
// 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 @@ public function testMultipleLanguageTypes() {
$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 @@ public function testMultipleLanguageTypes() {
// 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 @@ public function testMultipleLanguageTypes() {
// 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.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment