/** * Do some common building initialization. */ public function initQuery() { if (!empty($this->query)) { $class = get_class($this->query); if ($class && $class != 'stdClass') { // return if query is already initialized. return TRUE; } } // Create and initialize the query object. $views_data = Views::viewsData()->get($this->storage->get('base_table')); $this->storage->set('base_field', !empty($views_data['table']['base']['field']) ? $views_data['table']['base']['field'] : ''); if (!empty($views_data['table']['base']['database'])) { $this->base_database = $views_data['table']['base']['database']; } $this->query = $this->display_handler->getPlugin('query'); return TRUE; }
/** * Tests serialization of the ViewUI object. */ public function testSerialization() { // Set a container so the DependencySerializationTrait has it. $container = new ContainerBuilder(); \Drupal::setContainer($container); $storage = new View([], 'view'); $executable = $this->getMockBuilder('Drupal\\views\\ViewExecutable')->disableOriginalConstructor()->setConstructorArgs([$storage])->getMock(); $storage->set('executable', $executable); $view_ui = new ViewUI($storage); // Make sure the executable is returned before serializing. $this->assertInstanceOf('Drupal\\views\\ViewExecutable', $view_ui->getExecutable()); $serialized = serialize($view_ui); // Make sure the ViewExecutable class is not found in the serialized string. $this->assertSame(strpos($serialized, '"Drupal\\views\\ViewExecutable"'), FALSE); $unserialized = unserialize($serialized); $this->assertInstanceOf('Drupal\\views_ui\\ViewUI', $unserialized); }