function PageCacheTest::testFormImmutability
Same name in other branches
- 9 core/modules/page_cache/tests/src/Functional/PageCacheTest.php \Drupal\Tests\page_cache\Functional\PageCacheTest::testFormImmutability()
- 8.9.x core/modules/page_cache/tests/src/Functional/PageCacheTest.php \Drupal\Tests\page_cache\Functional\PageCacheTest::testFormImmutability()
Tests the setting of forms to be immutable.
File
-
core/
modules/ page_cache/ tests/ src/ Functional/ PageCacheTest.php, line 464
Class
- PageCacheTest
- Enables the page cache and tests it with various HTTP requests.
Namespace
Drupal\Tests\page_cache\FunctionalCode
public function testFormImmutability() : void {
// Install the module that provides the test form.
$this->container
->get('module_installer')
->install([
'page_cache_form_test',
]);
// Uninstall the page_cache module to verify that form is immutable
// regardless of the internal page cache module.
$this->container
->get('module_installer')
->uninstall([
'page_cache',
]);
$this->drupalGet('page_cache_form_test_immutability');
$this->assertSession()
->pageTextContains("Immutable: TRUE");
// The immutable flag is set unconditionally by system_form_alter(), set
// a flag to tell page_cache_form_test_module_implements_alter() to disable
// that implementation.
\Drupal::state()->set('page_cache_bypass_form_immutability', TRUE);
\Drupal::moduleHandler()->resetImplementations();
Cache::invalidateTags([
'rendered',
]);
$this->drupalGet('page_cache_form_test_immutability');
$this->assertSession()
->pageTextContains("Immutable: FALSE");
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.