diff options
author | webchick <webchick@24967.no-reply.drupal.org> | 2012-10-11 15:04:13 -0700 |
---|---|---|
committer | webchick <webchick@24967.no-reply.drupal.org> | 2012-10-11 15:04:13 -0700 |
commit | d462cafd50d5f7cbaab61f2cd271e3a5bc1df718 (patch) | |
tree | 9e187fc7d6afadebaae52a61e4fe2f20a1bedde0 /modules/simpletest/tests | |
parent | ebe67a14baa52f96f82c01a6e9671e43cbd76990 (diff) | |
download | brdo-d462cafd50d5f7cbaab61f2cd271e3a5bc1df718.tar.gz brdo-d462cafd50d5f7cbaab61f2cd271e3a5bc1df718.tar.bz2 |
Issue #1742438 by larowlan, Christian Biggins, kim.pepper, dcam, Everett Zufelt, mgifford: Fixed Vertical tabs header and container rendered even when no vertical tabs.
Diffstat (limited to 'modules/simpletest/tests')
-rw-r--r-- | modules/simpletest/tests/form.test | 20 | ||||
-rw-r--r-- | modules/simpletest/tests/form_test.module | 14 |
2 files changed, 34 insertions, 0 deletions
diff --git a/modules/simpletest/tests/form.test b/modules/simpletest/tests/form.test index 675e8d189..08d2fcacc 100644 --- a/modules/simpletest/tests/form.test +++ b/modules/simpletest/tests/form.test @@ -930,6 +930,10 @@ class FormsElementsVerticalTabsFunctionalTest extends DrupalWebTestCase { function setUp() { parent::setUp('form_test'); + + $this->admin_user = $this->drupalCreateUser(array('access vertical_tab_test tabs')); + $this->web_user = $this->drupalCreateUser(); + $this->drupalLogin($this->admin_user); } /** @@ -943,6 +947,22 @@ class FormsElementsVerticalTabsFunctionalTest extends DrupalWebTestCase { $position2 = strpos($this->content, 'misc/collapse.js'); $this->assertTrue($position1 !== FALSE && $position2 !== FALSE && $position1 < $position2, t('vertical-tabs.js is included before collapse.js')); } + + /** + * Ensures that vertical tab markup is not shown if user has no tab access. + */ + function testWrapperNotShownWhenEmpty() { + // Test admin user can see vertical tabs and wrapper. + $this->drupalGet('form_test/vertical-tabs'); + $wrapper = $this->xpath("//div[@class='vertical-tabs-panes']"); + $this->assertTrue(isset($wrapper[0]), 'Vertical tab panes found.'); + + // Test wrapper markup not present for non-privileged web user. + $this->drupalLogin($this->web_user); + $this->drupalGet('form_test/vertical-tabs'); + $wrapper = $this->xpath("//div[@class='vertical-tabs-panes']"); + $this->assertFalse(isset($wrapper[0]), 'Vertical tab wrappers are not displayed to unprivileged users.'); + } } /** diff --git a/modules/simpletest/tests/form_test.module b/modules/simpletest/tests/form_test.module index 5d6527680..5dd1ce7a7 100644 --- a/modules/simpletest/tests/form_test.module +++ b/modules/simpletest/tests/form_test.module @@ -223,6 +223,18 @@ function form_test_menu() { } /** + * Implements hook_permission(). + */ +function form_test_permission() { + $perms = array( + 'access vertical_tab_test tabs' => array( + 'title' => t('Access vertical_tab_test tabs'), + ), + ); + return $perms; +} + +/** * Form submit handler to return form values as JSON. */ function _form_test_submit_values_json($form, &$form_state) { @@ -631,6 +643,7 @@ function _form_test_vertical_tabs_form($form, &$form_state) { '#title' => t('Tab 1'), '#collapsible' => TRUE, '#group' => 'vertical_tabs', + '#access' => user_access('access vertical_tab_test tabs') ); $form['tab1']['field1'] = array( '#title' => t('Field 1'), @@ -641,6 +654,7 @@ function _form_test_vertical_tabs_form($form, &$form_state) { '#title' => t('Tab 2'), '#collapsible' => TRUE, '#group' => 'vertical_tabs', + '#access' => user_access('access vertical_tab_test tabs') ); $form['tab2']['field2'] = array( '#title' => t('Field 2'), |