setUpUnitServices(); $this->setUpUnitContainer(); $this->stringTranslation = $this->getMock('Drupal\Core\StringTranslation\TranslationInterface'); $this->entityDisplayRepository = $this->getMock('Drupal\Core\Entity\EntityDisplayRepositoryInterface'); $this->typedConfig = $this->getMock('Drupal\Core\Config\TypedConfigManagerInterface'); $this->dateFormatter = $this->getMockBuilder('Drupal\Core\Datetime\DateFormatter') ->disableOriginalConstructor() ->getMock(); $container = new ContainerBuilder(); $container->set('entity_display.repository', $this->entityDisplayRepository); $container->set('config.typed', $this->typedConfig); $container->set('string_translation', $this->getStringTranslationStub()); $container->set('date.formatter', $this->dateFormatter); \Drupal::setContainer($container); $this->blazyAdminFormatter = new BlazyAdminFormatter( $this->entityDisplayRepository, $this->typedConfig, $this->blazyManager ); } /** * @covers ::buildSettingsForm * @covers ::openingForm * @covers ::imageStyleForm * @covers ::mediaSwitchForm * @covers ::gridForm * @covers ::breakpointsForm * @covers ::closingForm * @covers ::finalizeForm */ public function testBuildSettingsForm() { $form = []; $definition = $this->getDefaulEntityFormatterDefinition() + $this->getDefaultFormatterDefinition(); $definition['settings'] += $this->getDefaultFields(TRUE); $this->blazyAdminFormatter->buildSettingsForm($form, $definition); $this->assertArrayHasKey('closing', $form); } /** * Provider for ::testGetSettingsSummary. */ public function providerTestGetSettingsSummary() { return [ [FALSE, FALSE, FALSE, '', FALSE], [TRUE, TRUE, TRUE, 'blazy_responsive_test', TRUE], [TRUE, FALSE, FALSE, '', TRUE], ]; } /** * Tests the Blazy admin ::getSettingsSummary(). * * @dataProvider providerTestGetSettingsSummary */ public function testGetSettingsSummary($use_settings, $vanilla, $override, $responsive_image_style, $expected) { $definition = $this->getFormatterDefinition(); $settings = array_merge(BlazyDefault::gridSettings(), $definition['settings']); $settings['vanilla'] = $vanilla; $settings['image_syle'] = 'large'; $settings['box_style'] = 'blazy_crop'; $settings['thumbnail_style'] = 'thumbnail'; $settings['optionset'] = 'default'; $settings['override'] = $override; $settings['overridables'] = ['foo' => 'foo', 'bar' => '0']; $settings['responsive_image_style'] = $responsive_image_style; $settings['caption'] = ['alt' => 'alt', 'title' => 'title']; $settings['breakpoints'] = $this->getDataBreakpoints(TRUE); $definition['settings'] = $use_settings ? $settings : []; $summary = $this->blazyAdminFormatter->getSettingsSummary($definition); $summary = array_filter($summary); $check_summary = !$expected ? empty($summary) : !empty($summary); $this->assertTrue($check_summary); } }