Skip to content
Snippets Groups Projects
Commit 6b8cc669 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #2469563 by marthinal, lauriii, dawehner, Fabianx, xjm, pjonckiere:...

Issue #2469563 by marthinal, lauriii, dawehner, Fabianx, xjm, pjonckiere: Double-escape on Views filters
parent d361bd63
No related branches found
No related tags found
2 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!789Issue #3210310: Adjust Database API to remove deprecated Drupal 9 code in Drupal 10
......@@ -68,26 +68,6 @@ protected function viewsData() {
return $data;
}
/**
* @todo
* This should probably moved to a filter related test.
*/
function testFilterInOperatorUi() {
$admin_user = $this->drupalCreateUser(array('administer views', 'administer site configuration'));
$this->drupalLogin($admin_user);
$path = 'admin/structure/views/nojs/handler/test_filter_in_operator_ui/default/filter/type';
$this->drupalGet($path);
$this->assertFieldByName('options[expose][reduce]', FALSE);
$edit = array(
'options[expose][reduce]' => TRUE,
);
$this->drupalPostForm($path, $edit, t('Apply'));
$this->drupalGet($path);
$this->assertFieldByName('options[expose][reduce]', TRUE);
}
/**
* Tests the breakString method.
*/
......
<?php
/**
* @file
* Contains \Drupal\views\Tests\FilterUITest.
*/
namespace Drupal\views_ui\Tests;
use Drupal\views\Tests\ViewTestBase;
/**
* Tests for the filters from the UI.
*
* @group views_ui
*/
class FilterUITest extends ViewTestBase {
/**
* Views used by this test.
*
* @var array
*/
public static $testViews = array('test_filter_in_operator_ui', 'test_filter_groups');
/**
* Modules to enable.
*
* @var array
*/
public static $modules = array('views_ui', 'node');
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
$this->drupalCreateContentType(array('type' => 'page'));
$this->enableViewsTestModule();
}
/**
* Tests that an option for a filter is saved as expected from the UI.
*/
public function testFilterInOperatorUi() {
$admin_user = $this->drupalCreateUser(array('administer views', 'administer site configuration'));
$this->drupalLogin($admin_user);
$path = 'admin/structure/views/nojs/handler/test_filter_in_operator_ui/default/filter/type';
$this->drupalGet($path);
// Verifies that "Limit list to selected items" option is not selected.
$this->assertFieldByName('options[expose][reduce]', FALSE);
// Select "Limit list to selected items" option and apply.
$edit = array(
'options[expose][reduce]' => TRUE,
);
$this->drupalPostForm($path, $edit, t('Apply'));
// Verifies that the option was saved as expected.
$this->drupalGet($path);
$this->assertFieldByName('options[expose][reduce]', TRUE);
}
/**
* Tests the filters from the UI.
*/
public function testFiltersUI() {
$admin_user = $this->drupalCreateUser(array('administer views', 'administer site configuration'));
$this->drupalLogin($admin_user);
$this->drupalGet('admin/structure/views/view/test_filter_groups');
$this->assertLink('Content: Node ID (= 1)', 0, 'Content: Node ID (= 1) link appears correctly.');
}
}
......@@ -1143,7 +1143,12 @@ public function getFormBucket(ViewUI $view, $type, $display) {
$last = end($keys);
foreach ($contents as $key => $pid) {
if ($key != $last) {
$store[$pid]['#link'] .= '&nbsp;&nbsp;' . ($group_info['groups'][$gid] == 'OR' ? $this->t('OR') : $this->t('AND'));
if ($group_info['groups'][$gid] == 'OR') {
$store[$pid]['#link'] = $this->t('!link &nbsp;&nbsp; OR', ['!link' => $store[$pid]['#link']]);
}
else {
$store[$pid]['#link'] = $this->t('!link &nbsp;&nbsp; AND', ['!link' => $store[$pid]['#link']]);
}
}
$build['fields'][$pid] = $store[$pid];
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment