/** * {@inheritdoc} */ protected function setUp() { parent::setUp(); /** @var \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager */ $entity_type_manager = $this->container->get('entity_type.manager'); $this->cropStorage = $entity_type_manager->getStorage('crop'); $this->cropTypeStorage = $entity_type_manager->getStorage('crop_type'); $this->imageStyleStorage = $entity_type_manager->getStorage('image_style'); $this->fileStorage = $entity_type_manager->getStorage('file'); // Create DB schemas. /** @var \Drupal\Core\Entity\EntityTypeListenerInterface $entity_type_listener */ $entity_type_listener = $this->container->get('entity_type.listener'); $entity_type_listener->onEntityTypeCreate($entity_type_manager->getDefinition('user')); $entity_type_listener->onEntityTypeCreate($entity_type_manager->getDefinition('image_style')); $entity_type_listener->onEntityTypeCreate($entity_type_manager->getDefinition('crop')); $entity_type_listener->onEntityTypeCreate($entity_type_manager->getDefinition('file')); // Create test image style. $uuid = $this->container->get('uuid')->generate(); $this->testStyle = $this->imageStyleStorage->create([ 'name' => 'test', 'label' => 'Test image style', 'effects' => [ $uuid => [ 'id' => 'crop_crop', 'data' => ['crop_type' => 'test_type'], 'weight' => 0, 'uuid' => $uuid, ] ], ]); $this->testStyle->save(); // Create test crop type. $this->cropType = $this->cropTypeStorage->create([ 'id' => 'test_type', 'label' => 'Test crop type', 'description' => 'Some nice desc.', ]); $this->cropType->save(); }
/** * {@inheritdoc} */ public function saveCropEntity($x, $y, $width, $height, CropInterface $crop) { $absolute = $this->relativeToAbsolute($x, $y, $width, $height); $anchor = $crop->anchor(); if ($anchor['x'] != $absolute['x'] || $anchor['y'] != $absolute['y']) { $crop->setPosition($absolute['x'], $absolute['y']); $crop->save(); } return $crop; }