function ViewsHandlerFilterNumericTest::testFilterNumericExposedOperator

Tests exposed numeric filter with exposed operator.

File

tests/handlers/views_handler_filter_numeric.test, line 417

Class

ViewsHandlerFilterNumericTest
Tests the numeric filter handler.

Code

public function testFilterNumericExposedOperator() {
  $this->applyFilterNumericExposedOperator('=', array(
    'value' => '27',
  ), array(
    array(
      'name' => 'George',
      'age' => 27,
    ),
  ));
  $this->applyFilterNumericExposedOperator('<', array(
    'value' => '27',
  ), array(
    array(
      'name' => 'John',
      'age' => 25,
    ),
    array(
      'name' => 'Paul',
      'age' => 26,
    ),
  ));
  $this->applyFilterNumericExposedOperator('<=', array(
    'value' => '27',
  ), array(
    array(
      'name' => 'John',
      'age' => 25,
    ),
    array(
      'name' => 'George',
      'age' => 27,
    ),
    array(
      'name' => 'Paul',
      'age' => 26,
    ),
  ));
  $this->applyFilterNumericExposedOperator('!=', array(
    'value' => '27',
  ), array(
    array(
      'name' => 'John',
      'age' => 25,
    ),
    array(
      'name' => 'Ringo',
      'age' => 28,
    ),
    array(
      'name' => 'Paul',
      'age' => 26,
    ),
    array(
      'name' => 'Meredith',
      'age' => 30,
    ),
  ));
  $this->applyFilterNumericExposedOperator('>=', array(
    'value' => '27',
  ), array(
    array(
      'name' => 'George',
      'age' => 27,
    ),
    array(
      'name' => 'Ringo',
      'age' => 28,
    ),
    array(
      'name' => 'Meredith',
      'age' => 30,
    ),
  ));
  $this->applyFilterNumericExposedOperator('>', array(
    'value' => '27',
  ), array(
    array(
      'name' => 'Ringo',
      'age' => 28,
    ),
    array(
      'name' => 'Meredith',
      'age' => 30,
    ),
  ));
  $this->applyFilterNumericExposedOperator('between', array(
    'min' => '28',
    'max' => '31',
  ), array(
    array(
      'name' => 'Ringo',
      'age' => 28,
    ),
    array(
      'name' => 'Meredith',
      'age' => 30,
    ),
  ));
  $this->applyFilterNumericExposedOperator('not between', array(
    'min' => '28',
    'max' => '31',
  ), array(
    array(
      'name' => 'John',
      'age' => 25,
    ),
    array(
      'name' => 'George',
      'age' => 27,
    ),
    array(
      'name' => 'Ringo',
      'age' => 28,
    ),
    array(
      'name' => 'Paul',
      'age' => 26,
    ),
  ));
  $this->applyFilterNumericExposedOperator('empty', array(), array(
    array(
      'name' => 'Charles',
      'age' => NULL,
    ),
  ));
  $this->applyFilterNumericExposedOperator('not empty', array(), array(
    array(
      'name' => 'John',
      'age' => 25,
    ),
    array(
      'name' => 'George',
      'age' => 27,
    ),
    array(
      'name' => 'Ringo',
      'age' => 28,
    ),
    array(
      'name' => 'Paul',
      'age' => 26,
    ),
    array(
      'name' => 'Meredith',
      'age' => 30,
    ),
  ));
  $this->applyFilterNumericExposedOperator('regular_expression', array(
    'value' => '^(0|[1-9][0-9]*)$',
  ), array(
    array(
      'name' => 'John',
      'age' => 25,
    ),
    array(
      'name' => 'George',
      'age' => 27,
    ),
    array(
      'name' => 'Ringo',
      'age' => 28,
    ),
    array(
      'name' => 'Paul',
      'age' => 26,
    ),
    array(
      'name' => 'Meredith',
      'age' => 30,
    ),
  ));
  $this->applyFilterNumericExposedOperator('not_regular_expression', array(
    'value' => '^(0|[1-9][0-9]*)$',
  ), array());
}