function ShortcutLinksTestCase::testShortcutLinkAdd in Drupal 7
Tests that creating a shortcut works properly.
File
- modules/
shortcut/ shortcut.test, line 115 - Tests for shortcut.module.
Class
- ShortcutLinksTestCase
- Defines shortcut links test cases.
Code
function testShortcutLinkAdd() {
$set = $this->set;
// Create an alias for the node so we can test aliases.
$path = array(
'source' => 'node/' . $this->node->nid,
'alias' => $this
->randomName(8),
);
path_save($path);
// Create some paths to test.
$test_cases = array(
array(
'path' => '',
),
array(
'path' => 'admin',
),
array(
'path' => 'admin/config/system/site-information',
),
array(
'path' => "node/{$this->node->nid}/edit",
),
array(
'path' => $path['alias'],
),
);
// Check that each new shortcut links where it should.
foreach ($test_cases as $test) {
$title = $this
->randomName(10);
$form_data = array(
'shortcut_link[link_title]' => $title,
'shortcut_link[link_path]' => $test['path'],
);
$this
->drupalPost('admin/config/user-interface/shortcut/' . $set->set_name . '/add-link', $form_data, t('Save'));
$this
->assertResponse(200);
$saved_set = shortcut_set_load($set->set_name);
$paths = $this
->getShortcutInformation($saved_set, 'link_path');
$test_path = empty($test['path']) ? '<front>' : $test['path'];
$this
->assertTrue(in_array(drupal_get_normal_path($test_path), $paths), 'Shortcut created: ' . $test['path']);
$this
->assertLink($title, 0, 'Shortcut link found on the page.');
}
}