3 namespace Drupal\Tests\Core\Menu;
5 use Drupal\Core\Menu\MenuLinkDefault;
6 use Drupal\Core\Menu\StaticMenuLinkOverridesInterface;
7 use Drupal\Tests\UnitTestCase;
10 * @coversDefaultClass \Drupal\Core\Menu\MenuLinkDefault
13 class MenuLinkDefaultTest extends UnitTestCase {
16 * @covers ::updateLink
18 public function testUpdateLink() {
19 $plugin_definition = [
20 'title' => 'Hey jude',
23 'menu_name' => 'admin',
27 $expected_plugin_definition = $plugin_definition;
28 $expected_plugin_definition['weight'] = -10;
30 $static_override = $this->prophesize(StaticMenuLinkOverridesInterface::class);
31 $static_override->saveOverride('example_menu_link', $expected_plugin_definition);
32 $static_override = $static_override->reveal();
34 $menu_link = new MenuLinkDefault([], 'example_menu_link', $plugin_definition, $static_override);
36 $this->assertEquals($expected_plugin_definition, $menu_link->updateLink(['weight' => -10], TRUE));
40 * @covers ::updateLink
42 public function testUpdateLinkWithoutPersist() {
43 $plugin_definition = [
44 'title' => 'Hey jude',
47 'menu_name' => 'admin',
51 $expected_plugin_definition = $plugin_definition;
52 $expected_plugin_definition['weight'] = -10;
54 $static_override = $this->prophesize(StaticMenuLinkOverridesInterface::class);
55 $static_override->saveOverride()->shouldNotBeCalled();
56 $static_override = $static_override->reveal();
58 $menu_link = new MenuLinkDefault([], 'example_menu_link', $plugin_definition, $static_override);
60 $this->assertEquals($expected_plugin_definition, $menu_link->updateLink(['weight' => -10], FALSE));