1 views_handler_filter_date.test ViewsHandlerFilterDateTest::testBetween()

Tests the filter operator between/not between.

File

core/modules/views/tests/handlers/views_handler_filter_date.test, line 108
Definition of ViewsHandlerFilterDateTest.

Class

ViewsHandlerFilterDateTest
Tests the core views_handler_filter_date handler.

Code

function testBetween() {
  // Test between with min and max.
  $view = $this->views_test_between();
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = 'between';
  $view->filter['created']->value['min'] = format_date(150000, 'custom', 'Y-m-d H:s');
  $view->filter['created']->value['max'] = format_date(250000, 'custom', 'Y-m-d H:s');
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[1]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();

  // Test between with just max.
  $view = $this->views_test_between();
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = 'between';
  $view->filter['created']->value['max'] = format_date(250000, 'custom', 'Y-m-d H:s');
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[0]->nid),
    array('nid' => $this->nodes[1]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();

  // Test not between with min and max.
  $view = $this->views_test_between();
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = 'not between';
  $view->filter['created']->value['min'] = format_date(150000, 'custom', 'Y-m-d H:s');
  $view->filter['created']->value['max'] = format_date(250000, 'custom', 'Y-m-d H:s');
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[0]->nid),
    array('nid' => $this->nodes[2]->nid),
    array('nid' => $this->nodes[3]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();

  // Test not between with just max.
  $view = $this->views_test_between();
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = 'not between';
  $view->filter['created']->value['max'] = format_date(150000, 'custom', 'Y-m-d H:s');
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[1]->nid),
    array('nid' => $this->nodes[2]->nid),
    array('nid' => $this->nodes[3]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();
}