function ShortcutSetsTest::testShortcutSetSave

Tests that save() correctly updates existing links.

File

drupal/core/modules/shortcut/lib/Drupal/shortcut/Tests/ShortcutSetsTest.php, line 90
Definition of Drupal\shortcut\Tests\ShortcutSetsTest.

Class

ShortcutSetsTest
Defines shortcut set test cases.

Namespace

Drupal\shortcut\Tests

Code

function testShortcutSetSave() {
  $set = $this->set;
  $old_mlids = $this
    ->getShortcutInformation($set, 'mlid');
  $menu_link = $this
    ->generateShortcutLink('admin', $this
    ->randomName());
  $menu_link
    ->save();
  $set->links[$menu_link
    ->uuid()] = $menu_link;
  $set
    ->save();
  $saved_set = shortcut_set_load($set
    ->id());
  $new_mlids = $this
    ->getShortcutInformation($saved_set, 'mlid');
  $this
    ->assertTrue(count(array_intersect($old_mlids, $new_mlids)) == count($old_mlids), 'Shortcut::save() did not inadvertently change existing mlids.');
}