public function ViewExecutableTest::testSerialization in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/views/src/Tests/ViewExecutableTest.php \Drupal\views\Tests\ViewExecutableTest::testSerialization()
Tests serialization of the ViewExecutable object.
File
- core/
modules/ views/ src/ Tests/ ViewExecutableTest.php, line 464 - Contains \Drupal\views\Tests\ViewExecutableTest.
Class
- ViewExecutableTest
- Tests the ViewExecutable class.
Namespace
Drupal\views\TestsCode
public function testSerialization() {
$view = Views::getView('test_executable_displays');
$view
->setDisplay('page_1');
$view
->setArguments([
'test',
]);
$view
->setCurrentPage(2);
$serialized = serialize($view);
// Test the view storage object is not present in the actual serialized
// string.
$this
->assertIdentical(strpos($serialized, '"Drupal\\views\\Entity\\View"'), FALSE, 'The Drupal\\views\\Entity\\View class was not found in the serialized string.');
/** @var \Drupal\views\ViewExecutable $unserialized */
$unserialized = unserialize($serialized);
$this
->assertTrue($unserialized instanceof ViewExecutable);
$this
->assertIdentical($view->storage
->id(), $unserialized->storage
->id(), 'The expected storage entity was loaded on the unserialized view.');
$this
->assertIdentical($unserialized->current_display, 'page_1', 'The expected display was set on the unserialized view.');
$this
->assertIdentical($unserialized->args, [
'test',
], 'The expected argument was set on the unserialized view.');
$this
->assertIdentical($unserialized
->getCurrentPage(), 2, 'The expected current page was set on the unserialized view.');
}