Yaffs site version 1.1
[yaffs-website] / web / modules / contrib / blazy / tests / src / Unit / Form / BlazyAdminExtendedUnitTest.php
1 <?php
2
3 namespace Drupal\Tests\blazy\Unit\Form;
4
5 use Drupal\Core\DependencyInjection\ContainerBuilder;
6 use Drupal\Tests\UnitTestCase;
7 use Drupal\Tests\blazy\Traits\BlazyUnitTestTrait;
8 use Drupal\Tests\blazy\Traits\BlazyManagerUnitTestTrait;
9 use Drupal\blazy\Dejavu\BlazyAdminExtended;
10
11 /**
12  * Tests the Blazy admin formatter form.
13  *
14  * @coversDefaultClass \Drupal\blazy\Dejavu\BlazyAdminExtended
15  * @group blazy
16  */
17 class BlazyAdminExtendedUnitTest extends UnitTestCase {
18
19   use BlazyUnitTestTrait;
20   use BlazyManagerUnitTestTrait;
21
22   /**
23    * The mocked translator.
24    *
25    * @var \Drupal\Core\StringTranslation\TranslationInterface|\PHPUnit_Framework_MockObject_MockObject
26    */
27   protected $stringTranslation;
28
29   /**
30    * {@inheritdoc}
31    */
32   protected function setUp() {
33     parent::setUp();
34
35     $this->setUpUnitServices();
36     $this->setUpUnitContainer();
37
38     $this->stringTranslation = $this->getMock('Drupal\Core\StringTranslation\TranslationInterface');
39     $this->entityDisplayRepository = $this->getMock('Drupal\Core\Entity\EntityDisplayRepositoryInterface');
40     $this->typedConfig = $this->getMock('Drupal\Core\Config\TypedConfigManagerInterface');
41     $this->dateFormatter = $this->getMockBuilder('Drupal\Core\Datetime\DateFormatter')
42       ->disableOriginalConstructor()
43       ->getMock();
44
45     $container = new ContainerBuilder();
46     $container->set('entity_display.repository', $this->entityDisplayRepository);
47     $container->set('config.typed', $this->typedConfig);
48     $container->set('string_translation', $this->getStringTranslationStub());
49     $container->set('date.formatter', $this->dateFormatter);
50
51     \Drupal::setContainer($container);
52
53     $this->blazyAdminExtended = new BlazyAdminExtended(
54       $this->entityDisplayRepository,
55       $this->typedConfig,
56       $this->blazyManager
57     );
58   }
59
60   /**
61    * Provide test cases for ::testBuildSettingsForm.
62    */
63   public function providerTestBuildSettingsForm() {
64     return [
65       [FALSE, FALSE],
66       [TRUE, TRUE],
67       [TRUE, FALSE],
68       [FALSE, TRUE],
69     ];
70   }
71
72   /**
73    * Tests BlazyAdminExtended.
74    *
75    * @covers ::openingForm
76    * @covers ::imageStyleForm
77    * @covers ::fieldableForm
78    * @covers ::mediaSwitchForm
79    * @covers ::gridForm
80    * @covers ::breakpointsForm
81    * @covers ::closingForm
82    * @covers ::finalizeForm
83    * @dataProvider providerTestBuildSettingsForm
84    */
85   public function testBuildSettingsForm($id, $vanilla) {
86     $form = [];
87     $definition = $this->getDefaulEntityFormatterDefinition() + $this->getDefaultFormatterDefinition();
88
89     $definition['settings'] += $this->getDefaultFields(TRUE);
90     $definition['id'] = $id;
91     $definition['vanilla'] = $vanilla;
92     $definition['_views'] = TRUE;
93
94     $this->blazyAdminExtended->openingForm($form, $definition);
95     $this->assertEquals($vanilla, !empty($form['vanilla']));
96
97     $this->blazyAdminExtended->fieldableForm($form, $definition);
98     $this->assertEquals($id, !empty($form['id']));
99
100     $this->blazyAdminExtended->closingForm($form, $definition);
101     $this->assertArrayHasKey('closing', $form);
102   }
103
104 }
105
106 namespace Drupal\blazy\Form;
107
108 if (!function_exists('responsive_image_get_image_dimensions')) {
109
110   /**
111    * Dummy function.
112    */
113   function responsive_image_get_image_dimensions() {
114     // Empty block to satisfy coder.
115   }
116
117 }