function ViewsAccessTest::testDynamicAccessPlugin
Tests dynamic access plugin.
File
-
tests/
views_access.test, line 139
Class
- ViewsAccessTest
- Basic test for pluggable access.
Code
public function testDynamicAccessPlugin() {
$view = $this->view_access_dynamic();
$argument1 = $this->randomName();
$argument2 = $this->randomName();
variable_set('test_dynamic_access_argument1', $argument1);
variable_set('test_dynamic_access_argument2', $argument2);
$view->set_display('default');
$access_plugin = $view->display_handler
->get_plugin('access');
$this->assertFalse($access_plugin->access($this->normal_user));
$access_plugin->options['access'] = TRUE;
$this->assertFalse($access_plugin->access($this->normal_user));
$view->set_arguments(array(
$argument1,
$argument2,
));
$this->assertTrue($access_plugin->access($this->normal_user));
// FALSE comes from hook_menu caching.
$expected_hook_menu = array(
'views_test_test_dynamic_access_callback',
array(
FALSE,
1,
2,
),
);
$hook_menu = $view->execute_hook_menu('page_1');
$this->assertEqual($expected_hook_menu, $hook_menu['test_access_dynamic']['access arguments'][0]);
$expected_hook_menu = array(
'views_test_test_dynamic_access_callback',
array(
TRUE,
1,
2,
),
);
$this->assertTrue(views_access($expected_hook_menu, $argument1, $argument2));
}