function ViewsModuleTest::testviews_get_handler in Views (for Drupal 7) 7.3
Tests the views_get_handler method.
File
- tests/
views_module.test, line 113 - Definition of ViewsModuleTest.
Class
- ViewsModuleTest
- Tests basic functions from the Views module.
Code
function testviews_get_handler() {
$types = array(
'field',
'area',
'filter',
);
foreach ($types as $type) {
$handler = views_get_handler($this
->randomName(), $this
->randomName(), $type);
$this
->assertEqual('views_handler_' . $type . '_broken', get_class($handler), t('Make sure that a broken handler of type: @type are created', array(
'@type' => $type,
)));
}
$views_data = $this
->viewsData();
$test_tables = array(
'views_test' => array(
'id',
'name',
),
);
foreach ($test_tables as $table => $fields) {
foreach ($fields as $field) {
$data = $views_data[$table][$field];
foreach ($data as $id => $field_data) {
if (!in_array($id, array(
'title',
'help',
))) {
$handler = views_get_handler($table, $field, $id);
$this
->assertInstanceHandler($handler, $table, $field, $id);
}
}
}
}
// Test the automatic conversion feature.
// Test the automatic table renaming.
$handler = views_get_handler('views_test_previous', 'id', 'field');
$this
->assertInstanceHandler($handler, 'views_test', 'id', 'field');
$handler = views_get_handler('views_test_previous', 'id', 'filter');
$this
->assertInstanceHandler($handler, 'views_test', 'id', 'filter');
// Test the automatic field renaming.
$handler = views_get_handler('views_test', 'age_previous', 'field');
$this
->assertInstanceHandler($handler, 'views_test', 'age', 'field');
$handler = views_get_handler('views_test', 'age_previous', 'sort');
$this
->assertInstanceHandler($handler, 'views_test', 'age', 'sort');
// Test the automatic table and field renaming.
$handler = views_get_handler('views_test_previous', 'name_previous', 'field');
$this
->assertInstanceHandler($handler, 'views_test', 'name', 'field');
$handler = views_get_handler('views_test_previous', 'name_previous', 'argument');
$this
->assertInstanceHandler($handler, 'views_test', 'name', 'argument');
// Test the override handler feature.
$handler = views_get_handler('views_test', 'job', 'filter', 'views_handler_filter');
$this
->assertEqual('views_handler_filter', get_class($handler));
}