Pull merge.
[yaffs-website] / web / core / tests / Drupal / Tests / Core / Menu / MenuLinkDefaultTest.php
1 <?php
2
3 namespace Drupal\Tests\Core\Menu;
4
5 use Drupal\Core\Menu\MenuLinkDefault;
6 use Drupal\Core\Menu\StaticMenuLinkOverridesInterface;
7 use Drupal\Tests\UnitTestCase;
8
9 /**
10  * @coversDefaultClass \Drupal\Core\Menu\MenuLinkDefault
11  * @group Menu
12  */
13 class MenuLinkDefaultTest extends UnitTestCase {
14
15   /**
16    * @covers ::updateLink
17    */
18   public function testUpdateLink() {
19     $plugin_definition = [
20       'title' => 'Hey jude',
21       'enabled' => 1,
22       'expanded' => 1,
23       'menu_name' => 'admin',
24       'parent' => '',
25       'weight' => 10,
26     ];
27     $expected_plugin_definition = $plugin_definition;
28     $expected_plugin_definition['weight'] = -10;
29
30     $static_override = $this->prophesize(StaticMenuLinkOverridesInterface::class);
31     $static_override->saveOverride('example_menu_link', $expected_plugin_definition);
32     $static_override = $static_override->reveal();
33
34     $menu_link = new MenuLinkDefault([], 'example_menu_link', $plugin_definition, $static_override);
35
36     $this->assertEquals($expected_plugin_definition, $menu_link->updateLink(['weight' => -10], TRUE));
37   }
38
39   /**
40    * @covers ::updateLink
41    */
42   public function testUpdateLinkWithoutPersist() {
43     $plugin_definition = [
44       'title' => 'Hey jude',
45       'enabled' => 1,
46       'expanded' => 1,
47       'menu_name' => 'admin',
48       'parent' => '',
49       'weight' => 10,
50     ];
51     $expected_plugin_definition = $plugin_definition;
52     $expected_plugin_definition['weight'] = -10;
53
54     $static_override = $this->prophesize(StaticMenuLinkOverridesInterface::class);
55     $static_override->saveOverride()->shouldNotBeCalled();
56     $static_override = $static_override->reveal();
57
58     $menu_link = new MenuLinkDefault([], 'example_menu_link', $plugin_definition, $static_override);
59
60     $this->assertEquals($expected_plugin_definition, $menu_link->updateLink(['weight' => -10], FALSE));
61   }
62
63 }