summaryrefslogtreecommitdiff
path: root/kolab.org/www/drupal-7.26/modules/simpletest/tests/upgrade/upgrade.menu.test
diff options
context:
space:
mode:
Diffstat (limited to 'kolab.org/www/drupal-7.26/modules/simpletest/tests/upgrade/upgrade.menu.test')
-rw-r--r--kolab.org/www/drupal-7.26/modules/simpletest/tests/upgrade/upgrade.menu.test83
1 files changed, 83 insertions, 0 deletions
diff --git a/kolab.org/www/drupal-7.26/modules/simpletest/tests/upgrade/upgrade.menu.test b/kolab.org/www/drupal-7.26/modules/simpletest/tests/upgrade/upgrade.menu.test
new file mode 100644
index 0000000..d9ae6c1
--- /dev/null
+++ b/kolab.org/www/drupal-7.26/modules/simpletest/tests/upgrade/upgrade.menu.test
@@ -0,0 +1,83 @@
+<?php
+
+/**
+ * Upgrade test for menu.module.
+ */
+class MenuUpgradePathTestCase extends UpgradePathTestCase {
+ public static function getInfo() {
+ return array(
+ 'name' => 'Menu upgrade path',
+ 'description' => 'Menu upgrade path tests.',
+ 'group' => 'Upgrade path',
+ );
+ }
+
+ public function setUp() {
+ // Path to the database dump files.
+ $this->databaseDumpFiles = array(
+ drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.filled.database.php',
+ drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.menu.database.php',
+ );
+ parent::setUp();
+
+ $this->uninstallModulesExcept(array('menu'));
+ }
+
+ /**
+ * Test a successful upgrade.
+ */
+ public function testMenuUpgrade() {
+ $this->assertTrue($this->performUpgrade(), 'The upgrade was completed successfully.');
+
+ // Test the migration of "Default menu for content" setting to individual
+ // node types.
+ $this->drupalGet('admin/structure/types/manage/page/edit');
+ $this->assertNoFieldChecked('edit-menu-options-management', 'Management menu is not selected as available menu');
+ $this->assertNoFieldChecked('edit-menu-options-navigation', 'Navigation menu is not selected as available menu');
+ $this->assertNoFieldChecked('edit-menu-options-main-menu', 'Main menu is not selected as available menu');
+ $this->assertFieldChecked('edit-menu-options-secondary-menu', 'Secondary menu is selected as available menu');
+ $this->assertNoFieldChecked('edit-menu-options-user-menu', 'User menu is not selected as available menu');
+ $this->assertOptionSelected('edit-menu-parent', 'secondary-menu:0', 'Secondary menu is selected as default parent item');
+
+ $this->assertEqual(variable_get('menu_default_node_menu'), NULL, 'Redundant variable menu_default_node_menu has been removed');
+
+ // Verify Primary/Secondary Links have been renamed.
+ $this->drupalGet('admin/structure/menu');
+ $this->assertNoLinkByHref('admin/structure/menu/manage/primary-links');
+ $this->assertLinkByHref('admin/structure/menu/manage/main-menu');
+ $this->assertNoLinkByHref('admin/structure/menu/manage/secondary-links');
+ $this->assertLinkByHref('admin/structure/menu/manage/secondary-menu');
+
+ // Verify the existence of all system-defined (default) menus.
+ foreach (menu_list_system_menus() as $menu_name => $title) {
+ $this->assertLinkByHref('admin/structure/menu/manage/' . $menu_name, 0, 'Found default menu: ' . $title);
+ }
+
+ // Verify a few known links are still present, plus the ones created here.
+ $test_menus = array(
+ 'navigation' => array('Add content', 'nodeadd-navigation'),
+ 'management' => array('Administration', 'Account settings'),
+ 'user-menu' => array('My account', 'Log out'),
+ 'main-menu' => array('nodeadd-primary'),
+ 'secondary-menu' => array('nodeadd-secondary'),
+ );
+
+ foreach ($test_menus as $menu_name => $links) {
+ $this->drupalGet('admin/structure/menu/manage/' . $menu_name);
+ $this->assertResponse(200, 'Access menu management for ' . $menu_name);
+ foreach ($links as $link_text) {
+ $this->assertLink(t($link_text));
+ }
+ }
+
+ // Check the "source for primary/secondary links" setting.
+ $this->drupalGet('admin/structure/menu/settings');
+ $this->assertOptionSelected('edit-menu-main-links-source', 'secondary-menu');
+ $this->assertOptionSelected('edit-menu-secondary-links-source', 'main-menu');
+
+ // Check that both primary/secondary links blocks are visible.
+ $this->drupalGet('node');
+ $this->assertText('My Primary Links', '(Formerly) Primary Links block is still visible');
+ $this->assertText('My Secondary Links', '(Formerly) Secondary Links block is still visible');
+ }
+}