views_handler_argument_null.test

Definition of ViewsHandlerArgumentNullTest.

File

tests/handlers/views_handler_argument_null.test

View source
<?php


/**
 * @file
 * Definition of ViewsHandlerArgumentNullTest.
 */

/**
 * Tests the core views_handler_argument_null handler.
 */
class ViewsHandlerArgumentNullTest extends ViewsSqlTest {
    
    /**
     *
     */
    public static function getInfo() {
        return array(
            'name' => 'Argument: Null',
            'description' => 'Test the core views_handler_argument_null handler.',
            'group' => 'Views Handlers',
        );
    }
    
    /**
     *
     */
    public function viewsData() {
        $data = parent::viewsData();
        $data['views_test']['id']['argument']['handler'] = 'views_handler_argument_null';
        return $data;
    }
    
    /**
     *
     */
    public function testAreaText() {
        // Test validation.
        $view = $this->getBasicView();
        // Add a null argument.
        $view->display['default']->handler
            ->override_option('arguments', array(
            'null' => array(
                'id' => 'null',
                'table' => 'views',
                'field' => 'null',
            ),
        ));
        $this->executeView($view);
        // Make sure that the argument is not validated yet.
        unset($view->argument['null']->argument_validated);
        $this->assertTrue($view->argument['null']
            ->validate_arg(26));
        // Test must_not_be option.
        unset($view->argument['null']->argument_validated);
        $view->argument['null']->options['must_not_be'] = TRUE;
        $this->assertFalse($view->argument['null']
            ->validate_arg(26), 'must_not_be returns FALSE, if there is an argument');
        unset($view->argument['null']->argument_validated);
        $this->assertTrue($view->argument['null']
            ->validate_arg(NULL), 'must_not_be returns TRUE, if there is no argument');
        // Test execution.
        $view = $this->getBasicView();
        // Add a argument, which has null as handler.
        $view->display['default']->handler
            ->override_option('arguments', array(
            'id' => array(
                'id' => 'id',
                'table' => 'views_test',
                'field' => 'id',
            ),
        ));
        $this->executeView($view, array(
            26,
        ));
        // The argument should be ignored, so every result should return.
        $this->assertEqual(5, count($view->result));
    }

}

Classes

Title Deprecated Summary
ViewsHandlerArgumentNullTest Tests the core views_handler_argument_null handler.