1 views_handler_filter_date.test ViewsHandlerFilterDateTest::testOffset()

Test the general offset functionality.

File

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

Class

ViewsHandlerFilterDateTest
Tests the core views_handler_filter_date handler.

Code

function testOffset() {
  $view = $this->views_test_offset();
  // Test offset for simple operator.
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = '>';
  $view->filter['created']->value['type'] = 'offset';
  $view->filter['created']->value['value'] = '+1 hour';
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[3]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();

  // Test "first day of" type of relative dates for simple operator.
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = '<';
  $view->filter['created']->value['type'] = 'offset';
  $view->filter['created']->value['value'] = 'last day of January 1970';
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[0]->nid),
    array('nid' => $this->nodes[1]->nid),
    array('nid' => $this->nodes[2]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();

  // Test offset for between operator.
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = 'between';
  $view->filter['created']->value['type'] = 'offset';
  $view->filter['created']->value['max'] = '+2 days';
  $view->filter['created']->value['min'] = '+1 hour';
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[3]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();

  // Test "first day of" type of relative dates for between operator.
  $view->set_display('default');
  $view->init_handlers();
  $view->filter['created']->operator = 'between';
  $view->filter['created']->value['type'] = 'offset';
  $view->filter['created']->value['max'] = 'last day of January 1970';
  $view->filter['created']->value['min'] = 'first day of January 1970';
  $view->execute_display('default');
  $expected_result = array(
    array('nid' => $this->nodes[0]->nid),
    array('nid' => $this->nodes[1]->nid),
    array('nid' => $this->nodes[2]->nid),
  );
  $this->assertIdenticalResultset($view, $expected_result, $this->map);
  $view->destroy();
}