function MenuTest::testMenuQueryAndFragment in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/modules/menu_ui/src/Tests/MenuTest.php \Drupal\menu_ui\Tests\MenuTest::testMenuQueryAndFragment()
Adds and removes a menu link with a query string and fragment.
File
- core/
modules/ menu_ui/ src/ Tests/ MenuTest.php, line 496 - Contains \Drupal\menu_ui\Tests\MenuTest.
Class
- MenuTest
- Add a custom menu, add menu links to the custom menu and Tools menu, check their data, and delete them using the UI.
Namespace
Drupal\menu_ui\TestsCode
function testMenuQueryAndFragment() {
$this
->drupalLogin($this->adminUser);
// Make a path with query and fragment on.
$path = '/test-page?arg1=value1&arg2=value2';
$item = $this
->addMenuLink('', $path);
$this
->drupalGet('admin/structure/menu/item/' . $item
->id() . '/edit');
$this
->assertFieldByName('link[0][uri]', $path, 'Path is found with both query and fragment.');
// Now change the path to something without query and fragment.
$path = '/test-page';
$this
->drupalPostForm('admin/structure/menu/item/' . $item
->id() . '/edit', array(
'link[0][uri]' => $path,
), t('Save'));
$this
->drupalGet('admin/structure/menu/item/' . $item
->id() . '/edit');
$this
->assertFieldByName('link[0][uri]', $path, 'Path no longer has query or fragment.');
// Use <front>#fragment and ensure that saving it does not lose its content.
$path = '<front>?arg1=value#fragment';
$item = $this
->addMenuLink('', $path);
$this
->drupalGet('admin/structure/menu/item/' . $item
->id() . '/edit');
$this
->assertFieldByName('link[0][uri]', $path, 'Path is found with both query and fragment.');
$this
->drupalPostForm('admin/structure/menu/item/' . $item
->id() . '/edit', array(), t('Save'));
$this
->drupalGet('admin/structure/menu/item/' . $item
->id() . '/edit');
$this
->assertFieldByName('link[0][uri]', $path, 'Path is found with both query and fragment.');
}