21 private $displayedImages = [];
31 $errors[] = $this->verifyBaseImage();
42 private function verifyBaseImage()
45 $data = $this->product->getData();
47 $displayedImage = $this->productView->getBaseImageSource();
48 $this->displayedImages[] = $displayedImage;
50 if ($this->areImagesDifferent($displayedImage,
$data[
'image'][0][
'file'])) {
51 $message =
'Product image is not correct.';
65 $configurableAttributes = $this->product->getData(
'configurable_attributes_data')[
'attributes_data'];
66 $attribute = array_shift($configurableAttributes);
78 $this->productView->getCustomOptionsBlock()->fillCustomOptions([
$customOption]);
79 $displayedImage = $this->productView->getBaseImageSource();
80 if (in_array($displayedImage, $this->displayedImages)) {
81 $message =
'Option image is not correct.';
85 $this->displayedImages[] = $displayedImage;
98 private function areImagesDifferent($compared, $toCompare)
100 preg_match(
'`/(\w*?)\.(\w*?)$`', $compared, $shownImage);
101 preg_match(
'`/(\w*?)\.(\w*?)$`', $toCompare, $expectedImage);
103 return strpos($shownImage[1], $expectedImage[1]) ===
false || $expectedImage[2] !== $shownImage[2];