summaryrefslogtreecommitdiff
path: root/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/handlers/views_handler_filter_string.test
diff options
context:
space:
mode:
Diffstat (limited to 'kolab.org/www/drupal-7.15/sites/all/modules/views/tests/handlers/views_handler_filter_string.test')
-rw-r--r--kolab.org/www/drupal-7.15/sites/all/modules/views/tests/handlers/views_handler_filter_string.test403
1 files changed, 402 insertions, 1 deletions
diff --git a/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/handlers/views_handler_filter_string.test b/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/handlers/views_handler_filter_string.test
index cd78311..ee74a28 100644
--- a/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/handlers/views_handler_filter_string.test
+++ b/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/handlers/views_handler_filter_string.test
@@ -1,5 +1,13 @@
<?php
+/**
+ * @file
+ * Definition of ViewsHandlerFilterStringTest.
+ */
+
+/**
+ * Tests the core views_handler_filter_string handler.
+ */
class ViewsHandlerFilterStringTest extends ViewsSqlTest {
var $column_map = array();
@@ -86,9 +94,29 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
),
);
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
- $view->destroy();
+ }
+
+ function testFilterStringGroupedExposedEqual() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: =, Value: Ringo
+ $filters['name']['group_info']['default_group'] = 1;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'Ringo',
+ ),
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+ function testFilterStringNotEqual() {
$view = $this->getBasicView();
// Change the filtering
@@ -121,6 +149,36 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+ function testFilterStringGroupedExposedNotEqual() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: !=, Value: Ringo
+ $filters['name']['group_info']['default_group'] = '2';
+
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'John',
+ ),
+ array(
+ 'name' => 'George',
+ ),
+ array(
+ 'name' => 'Paul',
+ ),
+ array(
+ 'name' => 'Meredith',
+ ),
+ );
+
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
function testFilterStringContains() {
$view = $this->getBasicView();
@@ -145,6 +203,28 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+
+ function testFilterStringGroupedExposedContains() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: contains, Value: ing
+ $filters['name']['group_info']['default_group'] = '3';
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'Ringo',
+ ),
+ );
+
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
+
function testFilterStringWord() {
$view = $this->getBasicView();
@@ -195,6 +275,47 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+
+ function testFilterStringGroupedExposedWord() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: contains, Value: ing
+ $filters['name']['group_info']['default_group'] = '3';
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'Ringo',
+ ),
+ );
+
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ $view->destroy();
+
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Description, Operator: contains, Value: actor
+ $filters['description']['group_info']['default_group'] = '1';
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+ $resultset = array(
+ array(
+ 'name' => 'George',
+ ),
+ array(
+ 'name' => 'Ringo',
+ ),
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
function testFilterStringStarts() {
$view = $this->getBasicView();
@@ -219,6 +340,25 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+ function testFilterStringGroupedExposedStarts() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: starts, Value: George
+ $filters['description']['group_info']['default_group'] = 2;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'George',
+ ),
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
function testFilterStringNotStarts() {
$view = $this->getBasicView();
@@ -250,6 +390,32 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+ function testFilterStringGroupedExposedNotStarts() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: not_starts, Value: George
+ $filters['description']['group_info']['default_group'] = 3;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'John',
+ ),
+ array(
+ 'name' => 'Ringo',
+ ),
+ array(
+ 'name' => 'Paul',
+ ),
+ // There is no Meredith returned because his description is empty
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
function testFilterStringEnds() {
$view = $this->getBasicView();
@@ -277,6 +443,28 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+ function testFilterStringGroupedExposedEnds() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Descriptino, Operator: ends, Value: Beatles
+ $filters['description']['group_info']['default_group'] = 4;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'George',
+ ),
+ array(
+ 'name' => 'Ringo',
+ ),
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
function testFilterStringNotEnds() {
$view = $this->getBasicView();
@@ -305,6 +493,29 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+ function testFilterStringGroupedExposedNotEnds() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Description, Operator: not_ends, Value: Beatles
+ $filters['description']['group_info']['default_group'] = 5;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'John',
+ ),
+ array(
+ 'name' => 'Paul',
+ ),
+ // There is no Meredith returned because his description is empty
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
function testFilterStringNot() {
$view = $this->getBasicView();
@@ -333,6 +544,31 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+
+ function testFilterStringGroupedExposedNot() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Description, Operator: not (does not contains), Value: Beatles
+ $filters['description']['group_info']['default_group'] = 6;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+
+ $resultset = array(
+ array(
+ 'name' => 'John',
+ ),
+ array(
+ 'name' => 'Paul',
+ ),
+ // There is no Meredith returned because his description is empty
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+
+ }
+
function testFilterStringShorter() {
$view = $this->getBasicView();
@@ -360,6 +596,27 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+ function testFilterStringGroupedExposedShorter() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: shorterthan, Value: 5
+ $filters['name']['group_info']['default_group'] = 4;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+ $resultset = array(
+ array(
+ 'name' => 'John',
+ ),
+ array(
+ 'name' => 'Paul',
+ ),
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
function testFilterStringLonger() {
$view = $this->getBasicView();
@@ -384,6 +641,25 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+ function testFilterStringGroupedExposedLonger() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Name, Operator: longerthan, Value: 4
+ $filters['name']['group_info']['default_group'] = 5;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+ $resultset = array(
+ array(
+ 'name' => 'Meredith',
+ ),
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
+
function testFilterStringEmpty() {
$view = $this->getBasicView();
@@ -406,4 +682,129 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest {
);
$this->assertIdenticalResultset($view, $resultset, $this->column_map);
}
+
+ function testFilterStringGroupedExposedEmpty() {
+ $filters = $this->getGroupedExposedFilters();
+ $view = $this->getBasicPageView();
+
+ // Filter: Description, Operator: empty, Value:
+ $filters['description']['group_info']['default_group'] = 7;
+ $view->set_display('page_1');
+ $view->display['page_1']->handler->override_option('filters', $filters);
+
+ $this->executeView($view);
+ $resultset = array(
+ array(
+ 'name' => 'Meredith',
+ ),
+ );
+ $this->assertIdenticalResultset($view, $resultset, $this->column_map);
+ }
+
+ protected function getGroupedExposedFilters() {
+ $filters = array(
+ 'name' => array(
+ 'id' => 'name',
+ 'table' => 'views_test',
+ 'field' => 'name',
+ 'relationship' => 'none',
+ 'exposed' => TRUE,
+ 'expose' => array(
+ 'operator' => 'name_op',
+ 'label' => 'name',
+ 'identifier' => 'name',
+ ),
+ 'is_grouped' => TRUE,
+ 'group_info' => array(
+ 'label' => 'name',
+ 'identifier' => 'name',
+ 'default_group' => 'All',
+ 'group_items' => array(
+ 1 => array(
+ 'title' => 'Is Ringo',
+ 'operator' => '=',
+ 'value' => 'Ringo',
+ ),
+ 2 => array(
+ 'title' => 'Is not Ringo',
+ 'operator' => '!=',
+ 'value' => array('value' => 'Ringo'),
+ ),
+ 3 => array(
+ 'title' => 'Contains ing',
+ 'operator' => 'contains',
+ 'value' => 'ing',
+ ),
+ 4 => array(
+ 'title' => 'Shorter than 5 letters',
+ 'operator' => 'shorterthan',
+ 'value' => 5,
+ ),
+ 5 => array(
+ 'title' => 'Longer than 7 letters',
+ 'operator' => 'longerthan',
+ 'value' => 7,
+ ),
+ ),
+ ),
+ ),
+ 'description' => array(
+ 'id' => 'description',
+ 'table' => 'views_test',
+ 'field' => 'description',
+ 'relationship' => 'none',
+ 'exposed' => TRUE,
+ 'expose' => array(
+ 'operator' => 'description_op',
+ 'label' => 'description',
+ 'identifier' => 'description',
+ ),
+ 'is_grouped' => TRUE,
+ 'group_info' => array(
+ 'label' => 'description',
+ 'identifier' => 'description',
+ 'default_group' => 'All',
+ 'group_items' => array(
+ 1 => array(
+ 'title' => 'Contains the word: Actor',
+ 'operator' => 'word',
+ 'value' => 'actor',
+ ),
+ 2 => array(
+ 'title' => 'Starts with George',
+ 'operator' => 'starts',
+ 'value' => 'George',
+ ),
+ 3 => array(
+ 'title' => 'Not Starts with: George',
+ 'operator' => 'not_starts',
+ 'value' => 'George',
+ ),
+ 4 => array(
+ 'title' => 'Ends with: Beatles',
+ 'operator' => 'ends',
+ 'value' => 'Beatles.',
+ ),
+ 5 => array(
+ 'title' => 'Not Ends with: Beatles',
+ 'operator' => 'not_ends',
+ 'value' => 'Beatles.',
+ ),
+ 6 => array(
+ 'title' => 'Does not contain: Beatles',
+ 'operator' => 'not',
+ 'value' => 'Beatles.',
+ ),
+ 7 => array(
+ 'title' => 'Empty description',
+ 'operator' => 'empty',
+ 'value' => '',
+ ),
+ ),
+ ),
+ ),
+ );
+ return $filters;
+ }
+
}