You are here

public function ViewsHandlerFilterNumericTest::testFilterNumericExposedOperator in Views (for Drupal 7) 7.3

Tests exposed numeric filter with exposed operator.

File

tests/handlers/views_handler_filter_numeric.test, line 390
Definition of ViewsHandlerFilterNumericTest.

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());
}