diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php
index 618abda0a942d..b5668a12f94a5 100644
--- a/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php
+++ b/app/code/Magento/Catalog/Model/ResourceModel/Category/Collection.php
@@ -7,6 +7,7 @@
use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
use Magento\Framework\App\Config\ScopeConfigInterface;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
use Magento\Store\Model\ScopeInterface;
/**
@@ -83,6 +84,7 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Collection\Abstrac
* @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
* @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
*
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -97,7 +99,8 @@ public function __construct(
\Magento\Framework\Validator\UniversalFactory $universalFactory,
\Magento\Store\Model\StoreManagerInterface $storeManager,
\Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
- \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig = null
+ \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
parent::__construct(
$entityFactory,
@@ -110,7 +113,8 @@ public function __construct(
$resourceHelper,
$universalFactory,
$storeManager,
- $connection
+ $connection,
+ $resourceModelPool
);
$this->scopeConfig = $scopeConfig ?:
\Magento\Framework\App\ObjectManager::getInstance()->get(ScopeConfigInterface::class);
diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Collection/AbstractCollection.php b/app/code/Magento/Catalog/Model/ResourceModel/Collection/AbstractCollection.php
index 9ab863cde2704..2e40d13f1ccac 100644
--- a/app/code/Magento/Catalog/Model/ResourceModel/Collection/AbstractCollection.php
+++ b/app/code/Magento/Catalog/Model/ResourceModel/Collection/AbstractCollection.php
@@ -5,8 +5,11 @@
*/
namespace Magento\Catalog\Model\ResourceModel\Collection;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* Catalog EAV collection resource abstract model
+ *
* Implement using different stores for retrieve attribute values
*
* @api
@@ -43,6 +46,7 @@ class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCo
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
* @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
*
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -56,7 +60,8 @@ public function __construct(
\Magento\Eav\Model\ResourceModel\Helper $resourceHelper,
\Magento\Framework\Validator\UniversalFactory $universalFactory,
\Magento\Store\Model\StoreManagerInterface $storeManager,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->_storeManager = $storeManager;
parent::__construct(
@@ -69,7 +74,8 @@ public function __construct(
$eavEntityFactory,
$resourceHelper,
$universalFactory,
- $connection
+ $connection,
+ $resourceModelPool
);
}
@@ -205,10 +211,7 @@ protected function _getLoadAttributesSelect($table, $attributeIds = [])
}
/**
- * @param \Magento\Framework\DB\Select $select
- * @param string $table
- * @param string $type
- * @return \Magento\Framework\DB\Select
+ * @inheritdoc
*/
protected function _addLoadAttributesSelectValues($select, $table, $type)
{
diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php
index 8aeb52e75c774..136c7e800bf08 100644
--- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php
+++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php
@@ -21,6 +21,7 @@
use Magento\Store\Model\Store;
use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
/**
* Product collection
@@ -297,6 +298,7 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Collection\Abstrac
/**
* Collection constructor
+ *
* @param \Magento\Framework\Data\Collection\EntityFactory $entityFactory
* @param \Psr\Log\LoggerInterface $logger
* @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -322,6 +324,8 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Collection\Abstrac
* @param TableMaintainer|null $tableMaintainer
* @param PriceTableResolver|null $priceTableResolver
* @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
+ *
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -349,7 +353,8 @@ public function __construct(
MetadataPool $metadataPool = null,
TableMaintainer $tableMaintainer = null,
PriceTableResolver $priceTableResolver = null,
- DimensionFactory $dimensionFactory = null
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->moduleManager = $moduleManager;
$this->_catalogProductFlatState = $catalogProductFlatState;
@@ -377,7 +382,8 @@ public function __construct(
$resourceHelper,
$universalFactory,
$storeManager,
- $connection
+ $connection,
+ $resourceModelPool
);
$this->tableMaintainer = $tableMaintainer ?: ObjectManager::getInstance()->get(TableMaintainer::class);
$this->priceTableResolver = $priceTableResolver ?: ObjectManager::getInstance()->get(PriceTableResolver::class);
@@ -1437,7 +1443,7 @@ protected function _addUrlRewrite()
'u.url_rewrite_id=cu.url_rewrite_id'
)->where('cu.url_rewrite_id IS NULL');
}
-
+
// more priority is data with category id
$urlRewrites = [];
diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Compare/Item/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Compare/Item/Collection.php
index 7c78dbca5a004..a45e2060d7c20 100644
--- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Compare/Item/Collection.php
+++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Compare/Item/Collection.php
@@ -5,6 +5,13 @@
*/
namespace Magento\Catalog\Model\ResourceModel\Product\Compare\Item;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\EntityManager\MetadataPool;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* Catalog Product Compare Items Resource Collection
*
@@ -75,7 +82,12 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection
* @param \Magento\Catalog\Model\ResourceModel\Product\Compare\Item $catalogProductCompareItem
* @param \Magento\Catalog\Helper\Product\Compare $catalogProductCompare
* @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
- *
+ * @param ProductLimitationFactory|null $productLimitationFactory
+ * @param MetadataPool|null $metadataPool
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -100,7 +112,13 @@ public function __construct(
\Magento\Customer\Api\GroupManagementInterface $groupManagement,
\Magento\Catalog\Model\ResourceModel\Product\Compare\Item $catalogProductCompareItem,
\Magento\Catalog\Helper\Product\Compare $catalogProductCompare,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ProductLimitationFactory $productLimitationFactory = null,
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->_catalogProductCompareItem = $catalogProductCompareItem;
$this->_catalogProductCompare = $catalogProductCompare;
@@ -124,7 +142,13 @@ public function __construct(
$customerSession,
$dateTime,
$groupManagement,
- $connection
+ $connection,
+ $productLimitationFactory,
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
}
@@ -403,6 +427,7 @@ public function clear()
/**
* Retrieve is flat enabled flag
+ *
* Overwrite disable flat for compared item if required EAV resource
*
* @return bool
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/CollectionTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/CollectionTest.php
index 3eb219ee2932b..5da5625189ee3 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/CollectionTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/CollectionTest.php
@@ -5,13 +5,33 @@
*/
namespace Magento\Catalog\Test\Unit\Model\ResourceModel\Product;
+use Magento\Catalog\Model\Indexer;
+use Magento\Catalog\Model\Product as ProductModel;
+use Magento\Catalog\Model\ResourceModel\Product as ProductResource;
use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
use Magento\Framework\DB\Select;
+use Magento\Eav\Model\Entity\AbstractEntity;
+use Magento\Eav\Model\Entity\Attribute\AbstractAttribute;
+use Magento\Eav\Model\EntityFactory;
+use Magento\Framework\App\Config\ScopeConfigInterface;
+use Magento\Framework\App\ResourceConnection;
+use Magento\Framework\Data\Collection;
+use Magento\Framework\Data\Collection\Db\FetchStrategyInterface;
+use Magento\Framework\DB;
+use Magento\Framework\EntityManager\EntityMetadataInterface;
+use Magento\Framework\EntityManager\MetadataPool;
+use Magento\Framework\Event;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
+use Magento\Store\Api\Data\StoreInterface;
+use Magento\Store\Model\StoreManagerInterface;
+use PHPUnit\Framework\TestCase;
+use Psr\Log\LoggerInterface;
/**
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
-class CollectionTest extends \PHPUnit\Framework\TestCase
+class CollectionTest extends TestCase
{
/**
* @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
@@ -24,12 +44,12 @@ class CollectionTest extends \PHPUnit\Framework\TestCase
protected $selectMock;
/**
- * @var \PHPUnit_Framework_MockObject_MockObject
+ * @var \PHPUnit_Framework_MockObject_MockObject|DB\Adapter\AdapterInterface
*/
protected $connectionMock;
/**
- * @var \Magento\Catalog\Model\ResourceModel\Product\Collection
+ * @var ProductResource\Collection
*/
protected $collection;
@@ -70,128 +90,50 @@ protected function setUp()
{
$this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
$this->entityFactory = $this->createMock(\Magento\Framework\Data\Collection\EntityFactory::class);
- $logger = $this->getMockBuilder(\Psr\Log\LoggerInterface::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
- $fetchStrategy = $this->getMockBuilder(\Magento\Framework\Data\Collection\Db\FetchStrategyInterface::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
- $eventManager = $this->getMockBuilder(\Magento\Framework\Event\ManagerInterface::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
- $eavConfig = $this->getMockBuilder(\Magento\Eav\Model\Config::class)
- ->disableOriginalConstructor()
- ->getMock();
- $resource = $this->getMockBuilder(\Magento\Framework\App\ResourceConnection::class)
- ->disableOriginalConstructor()
- ->getMock();
- $eavEntityFactory = $this->getMockBuilder(\Magento\Eav\Model\EntityFactory::class)
- ->disableOriginalConstructor()
- ->getMock();
- $resourceHelper = $this->getMockBuilder(\Magento\Catalog\Model\ResourceModel\Helper::class)
- ->disableOriginalConstructor()
- ->getMock();
- $universalFactory = $this->getMockBuilder(\Magento\Framework\Validator\UniversalFactory::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->storeManager = $this->getMockBuilder(\Magento\Store\Model\StoreManagerInterface::class)
- ->disableOriginalConstructor()
- ->setMethods(['getStore', 'getId', 'getWebsiteId'])
- ->getMockForAbstractClass();
- $moduleManager = $this->getMockBuilder(\Magento\Framework\Module\Manager::class)
- ->disableOriginalConstructor()
- ->getMock();
- $catalogProductFlatState = $this->getMockBuilder(\Magento\Catalog\Model\Indexer\Product\Flat\State::class)
- ->disableOriginalConstructor()
- ->getMock();
- $scopeConfig = $this->getMockBuilder(\Magento\Framework\App\Config\ScopeConfigInterface::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
- $productOptionFactory = $this->getMockBuilder(\Magento\Catalog\Model\Product\OptionFactory::class)
- ->disableOriginalConstructor()
- ->getMock();
- $catalogUrl = $this->getMockBuilder(\Magento\Catalog\Model\ResourceModel\Url::class)
- ->disableOriginalConstructor()
- ->getMock();
- $localeDate = $this->getMockBuilder(\Magento\Framework\Stdlib\DateTime\TimezoneInterface::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
- $customerSession = $this->getMockBuilder(\Magento\Customer\Model\Session::class)
- ->disableOriginalConstructor()
- ->getMock();
- $dateTime = $this->getMockBuilder(\Magento\Framework\Stdlib\DateTime::class)
- ->disableOriginalConstructor()
- ->getMock();
- $groupManagement = $this->getMockBuilder(\Magento\Customer\Api\GroupManagementInterface::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
-
- $this->connectionMock = $this->getMockBuilder(\Magento\Framework\DB\Adapter\AdapterInterface::class)
- ->setMethods(['getId'])
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
-
- $this->selectMock = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $this->entityMock = $this->getMockBuilder(\Magento\Eav\Model\Entity\AbstractEntity::class)
- ->disableOriginalConstructor()
- ->getMock();
-
- $this->galleryResourceMock = $this->getMockBuilder(
- \Magento\Catalog\Model\ResourceModel\Product\Gallery::class
- )->disableOriginalConstructor()->getMock();
-
- $this->metadataPoolMock = $this->getMockBuilder(
- \Magento\Framework\EntityManager\MetadataPool::class
- )->disableOriginalConstructor()->getMock();
-
- $this->galleryReadHandlerMock = $this->getMockBuilder(
- \Magento\Catalog\Model\Product\Gallery\ReadHandler::class
- )->disableOriginalConstructor()->getMock();
-
- $this->storeManager->expects($this->any())->method('getId')->willReturn(1);
- $this->storeManager->expects($this->any())->method('getStore')->willReturnSelf();
- $universalFactory->expects($this->exactly(1))->method('create')->willReturnOnConsecutiveCalls(
- $this->entityMock
- );
+ $this->selectMock = $this->createMock(DB\Select::class);
+ $this->connectionMock = $this->createMock(DB\Adapter\AdapterInterface::class);
+ $this->connectionMock->expects($this->atLeastOnce())->method('select')->willReturn($this->selectMock);
+ $this->entityMock = $this->createMock(AbstractEntity::class);
$this->entityMock->expects($this->once())->method('getConnection')->willReturn($this->connectionMock);
$this->entityMock->expects($this->once())->method('getDefaultAttributes')->willReturn([]);
- $this->entityMock->expects($this->any())->method('getTable')->willReturnArgument(0);
- $this->connectionMock->expects($this->atLeastOnce())->method('select')->willReturn($this->selectMock);
+ $this->entityMock->method('getTable')->willReturnArgument(0);
+ $this->galleryResourceMock = $this->createMock(ProductResource\Gallery::class);
+ $this->metadataPoolMock = $this->createMock(MetadataPool::class);
+ $this->galleryReadHandlerMock = $this->createMock(ProductModel\Gallery\ReadHandler::class);
- $productLimitationMock = $this->createMock(
- \Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitation::class
- );
- $productLimitationFactoryMock = $this->getMockBuilder(
- ProductLimitationFactory::class
- )->disableOriginalConstructor()->setMethods(['create'])->getMock();
+ $storeStub = $this->createMock(StoreInterface::class);
+ $storeStub->method('getId')->willReturn(1);
+ $storeStub->method('getWebsiteId')->willReturn(1);
+ $this->storeManager = $this->createMock(StoreManagerInterface::class);
+ $this->storeManager->method('getStore')->willReturn($storeStub);
+ $resourceModelPool = $this->createMock(ResourceModelPoolInterface::class);
+ $resourceModelPool->expects($this->exactly(1))->method('get')->willReturn($this->entityMock);
+ $productLimitationFactoryMock = $this->createPartialMock(ProductLimitationFactory::class, ['create']);
$productLimitationFactoryMock->method('create')
- ->willReturn($productLimitationMock);
+ ->willReturn($this->createMock(ProductResource\Collection\ProductLimitation::class));
$this->collection = $this->objectManager->getObject(
- \Magento\Catalog\Model\ResourceModel\Product\Collection::class,
+ ProductResource\Collection::class,
[
'entityFactory' => $this->entityFactory,
- 'logger' => $logger,
- 'fetchStrategy' => $fetchStrategy,
- 'eventManager' => $eventManager,
- 'eavConfig' => $eavConfig,
- 'resource' => $resource,
- 'eavEntityFactory' => $eavEntityFactory,
- 'resourceHelper' => $resourceHelper,
- 'universalFactory' => $universalFactory,
+ 'logger' => $this->createMock(LoggerInterface::class),
+ 'fetchStrategy' => $this->createMock(FetchStrategyInterface::class),
+ 'eventManager' => $this->createMock(Event\ManagerInterface::class),
+ 'eavConfig' => $this->createMock(\Magento\Eav\Model\Config::class),
+ 'resource' => $this->createMock(ResourceConnection::class),
+ 'eavEntityFactory' => $this->createMock(EntityFactory::class),
+ 'resourceHelper' => $this->createMock(\Magento\Catalog\Model\ResourceModel\Helper::class),
+ 'resourceModelPool' => $resourceModelPool,
'storeManager' => $this->storeManager,
- 'moduleManager' => $moduleManager,
- 'catalogProductFlatState' => $catalogProductFlatState,
- 'scopeConfig' => $scopeConfig,
- 'productOptionFactory' => $productOptionFactory,
- 'catalogUrl' => $catalogUrl,
- 'localeDate' => $localeDate,
- 'customerSession' => $customerSession,
- 'dateTime' => $dateTime,
- 'groupManagement' => $groupManagement,
+ 'moduleManager' => $this->createMock(\Magento\Framework\Module\Manager::class),
+ 'catalogProductFlatState' => $this->createMock(Indexer\Product\Flat\State::class),
+ 'scopeConfig' => $this->createMock(ScopeConfigInterface::class),
+ 'productOptionFactory' => $this->createMock(ProductModel\OptionFactory::class),
+ 'catalogUrl' => $this->createMock(\Magento\Catalog\Model\ResourceModel\Url::class),
+ 'localeDate' => $this->createMock(TimezoneInterface::class),
+ 'customerSession' => $this->createMock(\Magento\Customer\Model\Session::class),
+ 'dateTime' => $this->createMock(\Magento\Framework\Stdlib\DateTime::class),
+ 'groupManagement' => $this->createMock(\Magento\Customer\Api\GroupManagementInterface::class),
'connection' => $this->connectionMock,
'productLimitationFactory' => $productLimitationFactoryMock,
'metadataPool' => $this->metadataPoolMock,
@@ -216,9 +158,8 @@ public function testAddProductCategoriesFilter()
$condition = ['in' => [1, 2]];
$values = [1, 2];
$conditionType = 'nin';
- $preparedSql = "category_id IN(1,2)";
- $tableName = "catalog_category_product";
- $this->connectionMock->expects($this->any())->method('getId')->willReturn(1);
+ $preparedSql = 'category_id IN(1,2)';
+ $tableName = 'catalog_category_product';
$this->connectionMock->expects($this->exactly(2))->method('prepareSqlCondition')->withConsecutive(
['cat.category_id', $condition],
['e.entity_id', [$conditionType => $this->selectMock]]
@@ -243,19 +184,14 @@ public function testAddMediaGalleryData()
$rowId = 4;
$linkField = 'row_id';
$mediaGalleriesMock = [[$linkField => $rowId]];
- $itemMock = $this->getMockBuilder(\Magento\Catalog\Model\Product::class)
+ /** @var ProductModel|\PHPUnit_Framework_MockObject_MockObject $itemMock */
+ $itemMock = $this->getMockBuilder(ProductModel::class)
->disableOriginalConstructor()
->setMethods(['getOrigData'])
->getMock();
- $attributeMock = $this->getMockBuilder(\Magento\Eav\Model\Entity\Attribute\AbstractAttribute::class)
- ->disableOriginalConstructor()
- ->getMock();
- $selectMock = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
- ->disableOriginalConstructor()
- ->getMock();
- $metadataMock = $this->getMockBuilder(\Magento\Framework\EntityManager\EntityMetadataInterface::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $attributeMock = $this->createMock(AbstractAttribute::class);
+ $selectMock = $this->createMock(DB\Select::class);
+ $metadataMock = $this->createMock(EntityMetadataInterface::class);
$this->collection->addItem($itemMock);
$this->galleryResourceMock->expects($this->once())->method('createBatchBaseSelect')->willReturn($selectMock);
$attributeMock->expects($this->once())->method('getAttributeId')->willReturn($attributeId);
@@ -285,25 +221,15 @@ public function testAddMediaGalleryData()
public function testAddTierPriceDataByGroupId()
{
$customerGroupId = 2;
- $itemMock = $this->getMockBuilder(\Magento\Catalog\Model\Product::class)
- ->disableOriginalConstructor()
- ->setMethods(['getData'])
- ->getMock();
- $attributeMock = $this->getMockBuilder(\Magento\Eav\Model\Entity\Attribute\AbstractAttribute::class)
+ /** @var ProductModel|\PHPUnit_Framework_MockObject_MockObject $itemMock */
+ $itemMock = $this->createMock(ProductModel::class);
+ $attributeMock = $this->getMockBuilder(AbstractAttribute::class)
->disableOriginalConstructor()
->setMethods(['isScopeGlobal', 'getBackend'])
->getMock();
- $backend = $this->getMockBuilder(\Magento\Catalog\Model\Product\Attribute\Backend\Tierprice::class)
- ->disableOriginalConstructor()
- ->getMock();
- $resource = $this->getMockBuilder(
- \Magento\Catalog\Model\ResourceModel\Product\Attribute\Backend\GroupPrice\AbstractGroupPrice::class
- )
- ->disableOriginalConstructor()
- ->getMock();
- $select = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $backend = $this->createMock(ProductModel\Attribute\Backend\Tierprice::class);
+ $resource = $this->createMock(ProductResource\Attribute\Backend\GroupPrice\AbstractGroupPrice::class);
+ $select = $this->createMock(DB\Select::class);
$this->connectionMock->expects($this->once())->method('getAutoIncrementField')->willReturn('entity_id');
$this->collection->addItem($itemMock);
$itemMock->expects($this->atLeastOnce())->method('getData')->with('entity_id')->willReturn(1);
@@ -313,7 +239,6 @@ public function testAddTierPriceDataByGroupId()
->willReturn($attributeMock);
$attributeMock->expects($this->atLeastOnce())->method('getBackend')->willReturn($backend);
$attributeMock->expects($this->once())->method('isScopeGlobal')->willReturn(false);
- $this->storeManager->expects($this->once())->method('getWebsiteId')->willReturn(1);
$backend->expects($this->once())->method('getResource')->willReturn($resource);
$resource->expects($this->once())->method('getSelect')->willReturn($select);
$select->expects($this->once())->method('columns')->with(['product_id' => 'entity_id'])->willReturnSelf();
@@ -340,25 +265,22 @@ public function testAddTierPriceDataByGroupId()
*/
public function testAddTierPriceData()
{
- $itemMock = $this->getMockBuilder(\Magento\Catalog\Model\Product::class)
+ /** @var ProductModel|\PHPUnit_Framework_MockObject_MockObject $itemMock */
+ $itemMock = $this->getMockBuilder(ProductModel::class)
->disableOriginalConstructor()
->setMethods(['getData'])
->getMock();
- $attributeMock = $this->getMockBuilder(\Magento\Eav\Model\Entity\Attribute\AbstractAttribute::class)
+ $attributeMock = $this->getMockBuilder(AbstractAttribute::class)
->disableOriginalConstructor()
->setMethods(['isScopeGlobal', 'getBackend'])
->getMock();
- $backend = $this->getMockBuilder(\Magento\Catalog\Model\Product\Attribute\Backend\Tierprice::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $backend = $this->createMock(ProductModel\Attribute\Backend\Tierprice::class);
$resource = $this->getMockBuilder(
- \Magento\Catalog\Model\ResourceModel\Product\Attribute\Backend\GroupPrice\AbstractGroupPrice::class
+ ProductResource\Attribute\Backend\GroupPrice\AbstractGroupPrice::class
)
->disableOriginalConstructor()
->getMock();
- $select = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $select = $this->createMock(DB\Select::class);
$this->connectionMock->expects($this->once())->method('getAutoIncrementField')->willReturn('entity_id');
$this->collection->addItem($itemMock);
$itemMock->expects($this->atLeastOnce())->method('getData')->with('entity_id')->willReturn(1);
@@ -368,7 +290,6 @@ public function testAddTierPriceData()
->willReturn($attributeMock);
$attributeMock->expects($this->atLeastOnce())->method('getBackend')->willReturn($backend);
$attributeMock->expects($this->once())->method('isScopeGlobal')->willReturn(false);
- $this->storeManager->expects($this->once())->method('getWebsiteId')->willReturn(1);
$backend->expects($this->once())->method('getResource')->willReturn($resource);
$resource->expects($this->once())->method('getSelect')->willReturn($select);
$select->expects($this->once())->method('columns')->with(['product_id' => 'entity_id'])->willReturnSelf();
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Link/Product/CollectionTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Link/Product/CollectionTest.php
index 596148b627506..80180d2033ce5 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Link/Product/CollectionTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Link/Product/CollectionTest.php
@@ -7,6 +7,8 @@
use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitation;
use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\Data\Collection\Db\FetchStrategyInterface;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
/**
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
@@ -26,7 +28,7 @@ class CollectionTest extends \PHPUnit\Framework\TestCase
/** @var \Psr\Log\LoggerInterface|\PHPUnit_Framework_MockObject_MockObject */
protected $loggerMock;
- /** @var \Magento\Framework\Data\Collection\Db\FetchStrategyInterface|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var FetchStrategyInterface|\PHPUnit_Framework_MockObject_MockObject */
protected $fetchStrategyMock;
/** @var \Magento\Framework\Event\ManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
@@ -44,8 +46,8 @@ class CollectionTest extends \PHPUnit\Framework\TestCase
/** @var \Magento\Catalog\Model\ResourceModel\Helper|\PHPUnit_Framework_MockObject_MockObject */
protected $helperMock;
- /** @var \Magento\Framework\Validator\UniversalFactory|\PHPUnit_Framework_MockObject_MockObject */
- protected $universalFactoryMock;
+ /** @var ResourceModelPoolInterface|\PHPUnit_Framework_MockObject_MockObject */
+ protected $resourceModelPoolMock;
/** @var \Magento\Store\Model\StoreManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
protected $storeManagerMock;
@@ -79,29 +81,23 @@ protected function setUp()
$this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
$this->entityFactoryMock = $this->createMock(\Magento\Framework\Data\Collection\EntityFactory::class);
$this->loggerMock = $this->createMock(\Psr\Log\LoggerInterface::class);
- $this->fetchStrategyMock = $this->createMock(
- \Magento\Framework\Data\Collection\Db\FetchStrategyInterface::class
- );
+ $this->fetchStrategyMock = $this->createMock(FetchStrategyInterface::class);
$this->managerInterfaceMock = $this->createMock(\Magento\Framework\Event\ManagerInterface::class);
$this->configMock = $this->createMock(\Magento\Eav\Model\Config::class);
$this->resourceMock = $this->createMock(\Magento\Framework\App\ResourceConnection::class);
$this->entityFactoryMock2 = $this->createMock(\Magento\Eav\Model\EntityFactory::class);
$this->helperMock = $this->createMock(\Magento\Catalog\Model\ResourceModel\Helper::class);
$entity = $this->createMock(\Magento\Eav\Model\Entity\AbstractEntity::class);
- $select = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
- ->disableOriginalConstructor()
- ->getMock();
- $connection = $this->getMockBuilder(\Magento\Framework\DB\Adapter\Pdo\Mysql::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $select = $this->createMock(\Magento\Framework\DB\Select::class);
+ $connection = $this->createMock(\Magento\Framework\DB\Adapter\Pdo\Mysql::class);
$connection->expects($this->any())
->method('select')
->willReturn($select);
$entity->expects($this->any())->method('getConnection')->will($this->returnValue($connection));
$entity->expects($this->any())->method('getDefaultAttributes')->will($this->returnValue([]));
- $this->universalFactoryMock = $this->createMock(\Magento\Framework\Validator\UniversalFactory::class);
- $this->universalFactoryMock->expects($this->any())->method('create')->will($this->returnValue($entity));
- $this->storeManagerMock = $this->getMockForAbstractClass(\Magento\Store\Model\StoreManagerInterface::class);
+ $this->resourceModelPoolMock = $this->createMock(ResourceModelPoolInterface::class);
+ $this->resourceModelPoolMock->expects($this->any())->method('get')->will($this->returnValue($entity));
+ $this->storeManagerMock = $this->createMock(\Magento\Store\Model\StoreManagerInterface::class);
$this->storeManagerMock
->expects($this->any())
->method('getStore')
@@ -118,9 +114,7 @@ function ($store) {
$this->timezoneInterfaceMock = $this->createMock(\Magento\Framework\Stdlib\DateTime\TimezoneInterface::class);
$this->sessionMock = $this->createMock(\Magento\Customer\Model\Session::class);
$this->dateTimeMock = $this->createMock(\Magento\Framework\Stdlib\DateTime::class);
- $productLimitationFactoryMock = $this->getMockBuilder(
- ProductLimitationFactory::class
- )->disableOriginalConstructor()->setMethods(['create'])->getMock();
+ $productLimitationFactoryMock = $this->createPartialMock(ProductLimitationFactory::class, ['create']);
$productLimitationFactoryMock->method('create')
->willReturn($this->createMock(ProductLimitation::class));
@@ -136,7 +130,7 @@ function ($store) {
'resource' => $this->resourceMock,
'eavEntityFactory' => $this->entityFactoryMock2,
'resourceHelper' => $this->helperMock,
- 'universalFactory' => $this->universalFactoryMock,
+ 'resourceModelPool' => $this->resourceModelPoolMock,
'storeManager' => $this->storeManagerMock,
'catalogData' => $this->catalogHelperMock,
'catalogProductFlatState' => $this->stateMock,
diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php
index 98c0f91668f7a..2d175f684b0f7 100644
--- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Advanced/Collection.php
@@ -3,18 +3,23 @@
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
+
namespace Magento\CatalogSearch\Model\ResourceModel\Advanced;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
use Magento\Catalog\Model\Product;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
use Magento\Framework\Api\FilterBuilder;
use Magento\Framework\Api\Search\SearchCriteriaBuilder;
use Magento\Framework\Api\Search\SearchResultFactory;
use Magento\Framework\EntityManager\MetadataPool;
use Magento\Framework\Exception\LocalizedException;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
use Magento\Framework\Search\Adapter\Mysql\TemporaryStorage;
use Magento\Framework\Search\Request\EmptyRequestDataException;
use Magento\Framework\Search\Request\NonExistingRequestNameException;
-use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
/**
* Advanced search collection
@@ -88,8 +93,11 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection
* @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection
* @param SearchResultFactory|null $searchResultFactory
* @param ProductLimitationFactory|null $productLimitationFactory
- * @param MetadataPool|null $metadataPool
- *
+ * @param MetadataPool|null $metadataPool *
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -118,7 +126,11 @@ public function __construct(
\Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
SearchResultFactory $searchResultFactory = null,
ProductLimitationFactory $productLimitationFactory = null,
- MetadataPool $metadataPool = null
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->requestBuilder = $requestBuilder;
$this->searchEngine = $searchEngine;
@@ -149,7 +161,11 @@ public function __construct(
$groupManagement,
$connection,
$productLimitationFactory,
- $metadataPool
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
}
diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php
index e6cfe8ca112f7..3ba77e77105ae 100644
--- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Fulltext/Collection.php
@@ -3,20 +3,25 @@
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
+
namespace Magento\CatalogSearch\Model\ResourceModel\Fulltext;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
use Magento\CatalogSearch\Model\Search\RequestGenerator;
+use Magento\Framework\Api\Search\SearchResultFactory;
+use Magento\Framework\App\ObjectManager;
use Magento\Framework\DB\Select;
use Magento\Framework\EntityManager\MetadataPool;
+use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Exception\StateException;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
use Magento\Framework\Search\Adapter\Mysql\TemporaryStorage;
-use Magento\Framework\Search\Response\QueryResponse;
use Magento\Framework\Search\Request\EmptyRequestDataException;
use Magento\Framework\Search\Request\NonExistingRequestNameException;
-use Magento\Framework\Api\Search\SearchResultFactory;
-use Magento\Framework\Exception\LocalizedException;
-use Magento\Framework\App\ObjectManager;
-use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\Search\Response\QueryResponse;
/**
* Fulltext Collection
@@ -132,7 +137,10 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection
* @param SearchResultFactory|null $searchResultFactory
* @param ProductLimitationFactory|null $productLimitationFactory
* @param MetadataPool|null $metadataPool
- *
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -163,7 +171,11 @@ public function __construct(
$searchRequestName = 'catalog_view_container',
SearchResultFactory $searchResultFactory = null,
ProductLimitationFactory $productLimitationFactory = null,
- MetadataPool $metadataPool = null
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->queryFactory = $catalogSearchData;
if ($searchResultFactory === null) {
@@ -192,7 +204,11 @@ public function __construct(
$groupManagement,
$connection,
$productLimitationFactory,
- $metadataPool
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
$this->requestBuilder = $requestBuilder;
$this->searchEngine = $searchEngine;
@@ -378,7 +394,7 @@ protected function _renderFiltersBefore()
if ($this->relevanceOrderDirection) {
$this->getSelect()->order(
- 'search_result.'. TemporaryStorage::FIELD_SCORE . ' ' . $this->relevanceOrderDirection
+ 'search_result.' . TemporaryStorage::FIELD_SCORE . ' ' . $this->relevanceOrderDirection
);
}
return parent::_renderFiltersBefore();
diff --git a/app/code/Magento/CatalogSearch/Model/ResourceModel/Search/Collection.php b/app/code/Magento/CatalogSearch/Model/ResourceModel/Search/Collection.php
index b958de91314f4..fd948616c005b 100644
--- a/app/code/Magento/CatalogSearch/Model/ResourceModel/Search/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/ResourceModel/Search/Collection.php
@@ -6,6 +6,13 @@
namespace Magento\CatalogSearch\Model\ResourceModel\Search;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\EntityManager\MetadataPool;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* Search collection
*
@@ -60,7 +67,12 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection
* @param \Magento\Customer\Api\GroupManagementInterface $groupManagement
* @param \Magento\Catalog\Model\ResourceModel\Product\Attribute\CollectionFactory $attributeCollectionFactory
* @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
- *
+ * @param ProductLimitationFactory|null $productLimitationFactory
+ * @param MetadataPool|null $metadataPool
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -84,7 +96,13 @@ public function __construct(
\Magento\Framework\Stdlib\DateTime $dateTime,
\Magento\Customer\Api\GroupManagementInterface $groupManagement,
\Magento\Catalog\Model\ResourceModel\Product\Attribute\CollectionFactory $attributeCollectionFactory,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ProductLimitationFactory $productLimitationFactory = null,
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->_attributeCollectionFactory = $attributeCollectionFactory;
parent::__construct(
@@ -107,7 +125,13 @@ public function __construct(
$customerSession,
$dateTime,
$groupManagement,
- $connection
+ $connection,
+ $productLimitationFactory,
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
}
diff --git a/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Advanced/CollectionTest.php b/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Advanced/CollectionTest.php
index b65a0d6ca47a0..b76f51a132c94 100644
--- a/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Advanced/CollectionTest.php
+++ b/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Advanced/CollectionTest.php
@@ -61,7 +61,7 @@ protected function setUp()
$this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
$this->eavConfig = $this->createMock(\Magento\Eav\Model\Config::class);
$storeManager = $this->getStoreManager();
- $universalFactory = $this->getUniversalFactory();
+ $resourceModelPool = $this->getResourceModelPool();
$this->criteriaBuilder = $this->getCriteriaBuilder();
$this->filterBuilder = $this->createMock(\Magento\Framework\Api\FilterBuilder::class);
$this->temporaryStorageFactory = $this->createMock(
@@ -84,7 +84,7 @@ protected function setUp()
[
'eavConfig' => $this->eavConfig,
'storeManager' => $storeManager,
- 'universalFactory' => $universalFactory,
+ 'resourceModelPool' => $resourceModelPool,
'searchCriteriaBuilder' => $this->criteriaBuilder,
'filterBuilder' => $this->filterBuilder,
'temporaryStorageFactory' => $this->temporaryStorageFactory,
diff --git a/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/BaseCollection.php b/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/BaseCollection.php
index 9ea103e23d2a7..5a5106593af8b 100644
--- a/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/BaseCollection.php
+++ b/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/BaseCollection.php
@@ -5,6 +5,8 @@
*/
namespace Magento\CatalogSearch\Test\Unit\Model\ResourceModel;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* Base class for Collection tests.
*
@@ -42,19 +44,17 @@ protected function getStoreManager()
}
/**
- * Get mock for UniversalFactory so Collection can be used.
+ * Get mock for ResourceModelPool so Collection can be used.
*
- * @return \PHPUnit_Framework_MockObject_MockObject
+ * @return \PHPUnit_Framework_MockObject_MockObject|ResourceModelPoolInterface
*/
- protected function getUniversalFactory()
+ protected function getResourceModelPool()
{
$connection = $this->getMockBuilder(\Magento\Framework\DB\Adapter\Pdo\Mysql::class)
->disableOriginalConstructor()
->setMethods(['select'])
->getMockForAbstractClass();
- $select = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $select = $this->createMock(\Magento\Framework\DB\Select::class);
$connection->expects($this->any())->method('select')->willReturn($select);
$entity = $this->getMockBuilder(\Magento\Eav\Model\Entity\AbstractEntity::class)
@@ -74,14 +74,14 @@ protected function getUniversalFactory()
->method('getEntityTable')
->willReturn('table');
- $universalFactory = $this->getMockBuilder(\Magento\Framework\Validator\UniversalFactory::class)
- ->setMethods(['create'])
+ $resourceModelPool = $this->getMockBuilder(ResourceModelPoolInterface::class)
+ ->setMethods(['get'])
->disableOriginalConstructor()
->getMock();
- $universalFactory->expects($this->once())
- ->method('create')
+ $resourceModelPool->expects($this->once())
+ ->method('get')
->willReturn($entity);
- return $universalFactory;
+ return $resourceModelPool;
}
}
diff --git a/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Fulltext/CollectionTest.php b/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Fulltext/CollectionTest.php
index a3b1d2fd0f2b6..82490ab6b6d8b 100644
--- a/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Fulltext/CollectionTest.php
+++ b/app/code/Magento/CatalogSearch/Test/Unit/Model/ResourceModel/Fulltext/CollectionTest.php
@@ -43,7 +43,7 @@ class CollectionTest extends BaseCollection
/**
* @var MockObject
*/
- private $universalFactory;
+ private $resourceModelPool;
/**
* @var MockObject
@@ -72,7 +72,7 @@ protected function setUp()
{
$this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
$this->storeManager = $this->getStoreManager();
- $this->universalFactory = $this->getUniversalFactory();
+ $this->resourceModelPool = $this->getResourceModelPool();
$this->scopeConfig = $this->getScopeConfig();
$this->criteriaBuilder = $this->getCriteriaBuilder();
$this->filterBuilder = $this->getFilterBuilder();
@@ -102,7 +102,7 @@ protected function setUp()
\Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection::class,
[
'storeManager' => $this->storeManager,
- 'universalFactory' => $this->universalFactory,
+ 'resourceModelPool' => $this->resourceModelPool,
'scopeConfig' => $this->scopeConfig,
'temporaryStorageFactory' => $temporaryStorageFactory,
'productLimitationFactory' => $productLimitationFactoryMock,
diff --git a/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php b/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php
index aa73e275ee0ca..f82a4d15ae8bf 100644
--- a/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php
+++ b/app/code/Magento/Customer/CustomerData/Plugin/SessionChecker.php
@@ -5,10 +5,13 @@
*/
namespace Magento\Customer\CustomerData\Plugin;
-use Magento\Framework\Session\SessionManager;
+use Magento\Framework\Session\SessionManagerInterface;
use Magento\Framework\Stdlib\Cookie\CookieMetadataFactory;
use Magento\Framework\Stdlib\Cookie\PhpCookieManager;
+/**
+ * Class SessionChecker
+ */
class SessionChecker
{
/**
@@ -36,10 +39,12 @@ public function __construct(
/**
* Delete frontend session cookie if customer session is expired
*
- * @param SessionManager $sessionManager
+ * @param SessionManagerInterface $sessionManager
* @return void
+ * @throws \Magento\Framework\Exception\InputException
+ * @throws \Magento\Framework\Stdlib\Cookie\FailureToSendException
*/
- public function beforeStart(SessionManager $sessionManager)
+ public function beforeStart(SessionManagerInterface $sessionManager)
{
if (!$this->cookieManager->getCookie($sessionManager->getName())
&& $this->cookieManager->getCookie('mage-cache-sessid')
diff --git a/app/code/Magento/Customer/Model/ResourceModel/Customer/Collection.php b/app/code/Magento/Customer/Model/ResourceModel/Customer/Collection.php
index af8980a129d3e..394a0d3ed556d 100644
--- a/app/code/Magento/Customer/Model/ResourceModel/Customer/Collection.php
+++ b/app/code/Magento/Customer/Model/ResourceModel/Customer/Collection.php
@@ -5,6 +5,8 @@
*/
namespace Magento\Customer\Model\ResourceModel\Customer;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* Customers collection
*
@@ -43,6 +45,7 @@ class Collection extends \Magento\Eav\Model\Entity\Collection\VersionControl\Abs
* @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
* @param string $modelName
*
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -58,7 +61,8 @@ public function __construct(
\Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot $entitySnapshot,
\Magento\Framework\DataObject\Copy\Config $fieldsetConfig,
\Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
- $modelName = self::CUSTOMER_MODEL_NAME
+ $modelName = self::CUSTOMER_MODEL_NAME,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->_fieldsetConfig = $fieldsetConfig;
$this->_modelName = $modelName;
@@ -73,7 +77,8 @@ public function __construct(
$resourceHelper,
$universalFactory,
$entitySnapshot,
- $connection
+ $connection,
+ $resourceModelPool
);
}
diff --git a/app/code/Magento/Customer/etc/frontend/di.xml b/app/code/Magento/Customer/etc/frontend/di.xml
index 4a45c4ad48d19..c31742519e581 100644
--- a/app/code/Magento/Customer/etc/frontend/di.xml
+++ b/app/code/Magento/Customer/etc/frontend/di.xml
@@ -57,7 +57,7 @@
-
+
@@ -77,4 +77,4 @@
-
+
\ No newline at end of file
diff --git a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
index 0eb87374f3ba3..f90771817e62d 100644
--- a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
+++ b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
@@ -6,10 +6,12 @@
namespace Magento\Eav\Model\Entity\Collection;
+use Magento\Framework\App\ObjectManager;
use Magento\Framework\App\ResourceConnection\SourceProviderInterface;
use Magento\Framework\Data\Collection\AbstractDb;
use Magento\Framework\DB\Select;
use Magento\Framework\Exception\LocalizedException;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
/**
* Entity/Attribute/Model - collection abstract
@@ -125,9 +127,15 @@ abstract class AbstractCollection extends AbstractDb implements SourceProviderIn
protected $_resourceHelper;
/**
+ * @deprecated To instantiate resource models, use $resourceModelPool instead
+ *
* @var \Magento\Framework\Validator\UniversalFactory
*/
protected $_universalFactory;
+ /**
+ * @var ResourceModelPoolInterface
+ */
+ private $resourceModelPool;
/**
* @param \Magento\Framework\Data\Collection\EntityFactory $entityFactory
@@ -140,6 +148,7 @@ abstract class AbstractCollection extends AbstractDb implements SourceProviderIn
* @param \Magento\Eav\Model\ResourceModel\Helper $resourceHelper
* @param \Magento\Framework\Validator\UniversalFactory $universalFactory
* @param mixed $connection
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @codeCoverageIgnore
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
@@ -152,8 +161,9 @@ public function __construct(
\Magento\Framework\App\ResourceConnection $resource,
\Magento\Eav\Model\EntityFactory $eavEntityFactory,
\Magento\Eav\Model\ResourceModel\Helper $resourceHelper,
- \Magento\Framework\Validator\UniversalFactory $universalFactory,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\Validator\UniversalFactory $universalFactory = null,
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->_eventManager = $eventManager;
$this->_eavConfig = $eavConfig;
@@ -161,6 +171,12 @@ public function __construct(
$this->_eavEntityFactory = $eavEntityFactory;
$this->_resourceHelper = $resourceHelper;
$this->_universalFactory = $universalFactory;
+ if ($resourceModelPool === null) {
+ $resourceModelPool = ObjectManager::getInstance()->get(
+ ResourceModelPoolInterface::class
+ );
+ }
+ $this->resourceModelPool = $resourceModelPool;
parent::__construct($entityFactory, $logger, $fetchStrategy, $connection);
$this->_construct();
$this->setConnection($this->getEntity()->getConnection());
@@ -227,7 +243,7 @@ protected function _initSelect()
protected function _init($model, $entityModel)
{
$this->setItemObjectClass($model);
- $entity = $this->_universalFactory->create($entityModel);
+ $entity = $this->resourceModelPool->get($entityModel);
$this->setEntity($entity);
return $this;
diff --git a/app/code/Magento/Eav/Model/Entity/Collection/VersionControl/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/VersionControl/AbstractCollection.php
index e626ed35eb1e9..2181c6bc1be05 100644
--- a/app/code/Magento/Eav/Model/Entity/Collection/VersionControl/AbstractCollection.php
+++ b/app/code/Magento/Eav/Model/Entity/Collection/VersionControl/AbstractCollection.php
@@ -5,10 +5,13 @@
*/
namespace Magento\Eav\Model\Entity\Collection\VersionControl;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* Class Abstract Collection
* @api
* @since 100.0.2
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
abstract class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCollection
{
@@ -27,8 +30,9 @@ abstract class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\A
* @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
* @param \Magento\Eav\Model\ResourceModel\Helper $resourceHelper
* @param \Magento\Framework\Validator\UniversalFactory $universalFactory
- * @param \Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot $entitySnapshot,
+ * @param \Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot $entitySnapshot ,
* @param mixed $connection
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
* @codeCoverageIgnore
*/
@@ -43,7 +47,8 @@ public function __construct(
\Magento\Eav\Model\ResourceModel\Helper $resourceHelper,
\Magento\Framework\Validator\UniversalFactory $universalFactory,
\Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot $entitySnapshot,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->entitySnapshot = $entitySnapshot;
@@ -57,7 +62,8 @@ public function __construct(
$eavEntityFactory,
$resourceHelper,
$universalFactory,
- $connection
+ $connection,
+ $resourceModelPool
);
}
diff --git a/app/code/Magento/Eav/Model/Entity/Type.php b/app/code/Magento/Eav/Model/Entity/Type.php
index 444d58bf546d4..b24f86c73e8df 100644
--- a/app/code/Magento/Eav/Model/Entity/Type.php
+++ b/app/code/Magento/Eav/Model/Entity/Type.php
@@ -5,6 +5,9 @@
*/
namespace Magento\Eav\Model\Entity;
+use Magento\Framework\App\ObjectManager;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* Entity type model
*
@@ -75,10 +78,16 @@ class Type extends \Magento\Framework\Model\AbstractModel
protected $_storeFactory;
/**
+ * @deprecated To instantiate resource models, use $resourceModelPool instead
* @var \Magento\Framework\Validator\UniversalFactory
*/
protected $_universalFactory;
+ /**
+ * @var ResourceModelPoolInterface
+ */
+ private $resourceModelPool;
+
/**
* @param \Magento\Framework\Model\Context $context
* @param \Magento\Framework\Registry $registry
@@ -89,7 +98,9 @@ class Type extends \Magento\Framework\Model\AbstractModel
* @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
* @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
* @param array $data
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @codeCoverageIgnore
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
\Magento\Framework\Model\Context $context,
@@ -100,13 +111,20 @@ public function __construct(
\Magento\Framework\Validator\UniversalFactory $universalFactory,
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
- array $data = []
+ array $data = [],
+ ResourceModelPoolInterface $resourceModelPool = null
) {
parent::__construct($context, $registry, $resource, $resourceCollection, $data);
$this->_attributeFactory = $attributeFactory;
$this->_attSetFactory = $attSetFactory;
$this->_storeFactory = $storeFactory;
$this->_universalFactory = $universalFactory;
+ if ($resourceModelPool === null) {
+ $resourceModelPool = ObjectManager::getInstance()->get(
+ ResourceModelPoolInterface::class
+ );
+ }
+ $this->resourceModelPool = $resourceModelPool;
}
/**
@@ -363,7 +381,7 @@ public function getAttributeModel()
*/
public function getEntity()
{
- return $this->_universalFactory->create($this->_data['entity_model']);
+ return $this->resourceModelPool->get($this->_data['entity_model']);
}
/**
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/AbstractCollectionTest.php b/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/AbstractCollectionTest.php
index bc4ed7d4bd9e4..c7af666604b39 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/AbstractCollectionTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/AbstractCollectionTest.php
@@ -5,6 +5,9 @@
*/
namespace Magento\Eav\Test\Unit\Model\Entity\Collection;
+use Magento\Framework\Data\Collection\Db\FetchStrategyInterface;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
* AbstractCollection test
*
@@ -28,7 +31,7 @@ class AbstractCollectionTest extends \PHPUnit\Framework\TestCase
protected $loggerMock;
/**
- * @var \Magento\Framework\Data\Collection\Db\FetchStrategyInterface|\PHPUnit_Framework_MockObject_MockObject
+ * @var FetchStrategyInterface|\PHPUnit_Framework_MockObject_MockObject
*/
protected $fetchStrategyMock;
@@ -58,9 +61,9 @@ class AbstractCollectionTest extends \PHPUnit\Framework\TestCase
protected $resourceHelperMock;
/**
- * @var \Magento\Framework\Validator\UniversalFactory|\PHPUnit_Framework_MockObject_MockObject
+ * @var ResourceModelPoolInterface|\PHPUnit_Framework_MockObject_MockObject
*/
- protected $validatorFactoryMock;
+ protected $resourceModelPoolMock;
/**
* @var \Magento\Framework\DB\Statement\Pdo\Mysql|\PHPUnit_Framework_MockObject_MockObject
@@ -71,17 +74,11 @@ protected function setUp()
{
$this->coreEntityFactoryMock = $this->createMock(\Magento\Framework\Data\Collection\EntityFactory::class);
$this->loggerMock = $this->createMock(\Psr\Log\LoggerInterface::class);
- $this->fetchStrategyMock = $this->createMock(
- \Magento\Framework\Data\Collection\Db\FetchStrategyInterface::class
- );
+ $this->fetchStrategyMock = $this->createMock(FetchStrategyInterface::class);
$this->eventManagerMock = $this->createMock(\Magento\Framework\Event\ManagerInterface::class);
$this->configMock = $this->createMock(\Magento\Eav\Model\Config::class);
- $this->coreResourceMock = $this->createMock(\Magento\Framework\App\ResourceConnection::class);
$this->resourceHelperMock = $this->createMock(\Magento\Eav\Model\ResourceModel\Helper::class);
- $this->validatorFactoryMock = $this->createMock(\Magento\Framework\Validator\UniversalFactory::class);
$this->entityFactoryMock = $this->createMock(\Magento\Eav\Model\EntityFactory::class);
- /** @var \Magento\Framework\DB\Adapter\AdapterInterface|\PHPUnit_Framework_MockObject_MockObject */
- $connectionMock = $this->createMock(\Magento\Framework\DB\Adapter\Pdo\Mysql::class);
$this->statementMock = $this->createPartialMock(\Magento\Framework\DB\Statement\Pdo\Mysql::class, ['fetch']);
/** @var $selectMock \Magento\Framework\DB\Select|\PHPUnit_Framework_MockObject_MockObject */
$selectMock = $this->createMock(\Magento\Framework\DB\Select::class);
@@ -92,9 +89,12 @@ protected function setUp()
)->will(
$this->returnCallback([$this, 'getMagentoObject'])
);
+ /** @var \Magento\Framework\DB\Adapter\AdapterInterface|\PHPUnit_Framework_MockObject_MockObject */
+ $connectionMock = $this->createMock(\Magento\Framework\DB\Adapter\Pdo\Mysql::class);
$connectionMock->expects($this->any())->method('select')->will($this->returnValue($selectMock));
$connectionMock->expects($this->any())->method('query')->willReturn($this->statementMock);
+ $this->coreResourceMock = $this->createMock(\Magento\Framework\App\ResourceConnection::class);
$this->coreResourceMock->expects(
$this->any()
)->method(
@@ -106,10 +106,11 @@ protected function setUp()
$entityMock->expects($this->any())->method('getConnection')->will($this->returnValue($connectionMock));
$entityMock->expects($this->any())->method('getDefaultAttributes')->will($this->returnValue([]));
- $this->validatorFactoryMock->expects(
+ $this->resourceModelPoolMock = $this->createMock(ResourceModelPoolInterface::class);
+ $this->resourceModelPoolMock->expects(
$this->any()
)->method(
- 'create'
+ 'get'
)->with(
'test_entity_model' // see \Magento\Eav\Test\Unit\Model\Entity\Collection\AbstractCollectionStub
)->will(
@@ -125,8 +126,9 @@ protected function setUp()
$this->coreResourceMock,
$this->entityFactoryMock,
$this->resourceHelperMock,
- $this->validatorFactoryMock,
- null
+ null,
+ null,
+ $this->resourceModelPoolMock
);
}
diff --git a/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/VersionControl/AbstractCollectionTest.php b/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/VersionControl/AbstractCollectionTest.php
index cce7b43786a76..5b41b9b71f4b5 100644
--- a/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/VersionControl/AbstractCollectionTest.php
+++ b/app/code/Magento/Eav/Test/Unit/Model/Entity/Collection/VersionControl/AbstractCollectionTest.php
@@ -39,7 +39,7 @@ protected function setUp()
\Magento\Eav\Test\Unit\Model\Entity\Collection\VersionControl\AbstractCollectionStub::class,
[
'entityFactory' => $this->coreEntityFactoryMock,
- 'universalFactory' => $this->validatorFactoryMock,
+ 'resourceModelPool' => $this->resourceModelPoolMock,
'entitySnapshot' => $this->entitySnapshot
]
);
diff --git a/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php b/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php
index 8d1548036cd3e..251dca8ef1615 100644
--- a/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php
+++ b/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php
@@ -7,7 +7,16 @@
*/
namespace Magento\GroupedProduct\Model\ResourceModel\Product\Type\Grouped;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\EntityManager\MetadataPool;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
+ * Associated products collection.
+ *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class AssociatedProductsCollection extends \Magento\Catalog\Model\ResourceModel\Product\Link\Product\Collection
@@ -52,6 +61,12 @@ class AssociatedProductsCollection extends \Magento\Catalog\Model\ResourceModel\
* @param \Magento\Catalog\Model\ProductTypes\ConfigInterface $config
* @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection
*
+ * @param ProductLimitationFactory|null $productLimitationFactory
+ * @param MetadataPool|null $metadataPool
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -76,7 +91,13 @@ public function __construct(
\Magento\Customer\Api\GroupManagementInterface $groupManagement,
\Magento\Framework\Registry $coreRegistry,
\Magento\Catalog\Model\ProductTypes\ConfigInterface $config,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ProductLimitationFactory $productLimitationFactory = null,
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->_coreRegistry = $coreRegistry;
$this->_config = $config;
@@ -100,7 +121,13 @@ public function __construct(
$customerSession,
$dateTime,
$groupManagement,
- $connection
+ $connection,
+ $productLimitationFactory,
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
}
diff --git a/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php b/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php
index 847388eb755a1..f4b4c39ca4021 100644
--- a/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php
+++ b/app/code/Magento/Paypal/Controller/Transparent/RequestSecureToken.php
@@ -12,6 +12,7 @@
use Magento\Framework\Controller\ResultInterface;
use Magento\Framework\Session\Generic;
use Magento\Framework\Session\SessionManager;
+use Magento\Framework\Session\SessionManagerInterface;
use Magento\Paypal\Model\Payflow\Service\Request\SecureToken;
use Magento\Paypal\Model\Payflow\Transparent;
use Magento\Quote\Model\Quote;
@@ -40,7 +41,7 @@ class RequestSecureToken extends \Magento\Framework\App\Action\Action implements
private $secureTokenService;
/**
- * @var SessionManager
+ * @var SessionManager|SessionManagerInterface
*/
private $sessionManager;
@@ -56,6 +57,7 @@ class RequestSecureToken extends \Magento\Framework\App\Action\Action implements
* @param SecureToken $secureTokenService
* @param SessionManager $sessionManager
* @param Transparent $transparent
+ * @param SessionManagerInterface|null $sessionInterface
*/
public function __construct(
Context $context,
@@ -63,12 +65,13 @@ public function __construct(
Generic $sessionTransparent,
SecureToken $secureTokenService,
SessionManager $sessionManager,
- Transparent $transparent
+ Transparent $transparent,
+ SessionManagerInterface $sessionInterface = null
) {
$this->resultJsonFactory = $resultJsonFactory;
$this->sessionTransparent = $sessionTransparent;
$this->secureTokenService = $secureTokenService;
- $this->sessionManager = $sessionManager;
+ $this->sessionManager = $sessionInterface ?: $sessionManager;
$this->transparent = $transparent;
parent::__construct($context);
}
diff --git a/app/code/Magento/Reports/Model/ResourceModel/Customer/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Customer/Collection.php
index bc5ceda53481e..aa01e33caf3d2 100644
--- a/app/code/Magento/Reports/Model/ResourceModel/Customer/Collection.php
+++ b/app/code/Magento/Reports/Model/ResourceModel/Customer/Collection.php
@@ -4,12 +4,13 @@
* See COPYING.txt for license details.
*/
-/**
- * Customers Report collection
- */
namespace Magento\Reports\Model\ResourceModel\Customer;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
+ * Customers Report collection.
+ *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
* @api
* @since 100.0.2
@@ -91,6 +92,7 @@ class Collection extends \Magento\Customer\Model\ResourceModel\Customer\Collecti
* @param mixed $connection
* @param string $modelName
*
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -109,7 +111,8 @@ public function __construct(
\Magento\Quote\Model\ResourceModel\Quote\Item\CollectionFactory $quoteItemFactory,
\Magento\Sales\Model\ResourceModel\Order\Collection $orderResource,
\Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
- $modelName = self::CUSTOMER_MODEL_NAME
+ $modelName = self::CUSTOMER_MODEL_NAME,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
parent::__construct(
$entityFactory,
@@ -124,7 +127,8 @@ public function __construct(
$entitySnapshot,
$fieldsetConfig,
$connection,
- $modelName
+ $modelName,
+ $resourceModelPool
);
$this->orderResource = $orderResource;
$this->quoteRepository = $quoteRepository;
diff --git a/app/code/Magento/Reports/Model/ResourceModel/Product/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Product/Collection.php
index 337c87f6da03d..451007960a1ce 100644
--- a/app/code/Magento/Reports/Model/ResourceModel/Product/Collection.php
+++ b/app/code/Magento/Reports/Model/ResourceModel/Product/Collection.php
@@ -5,13 +5,20 @@
*/
/**
- * Products Report collection
- *
* @author Magento Core Team
*/
namespace Magento\Reports\Model\ResourceModel\Product;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\EntityManager\MetadataPool;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
+ * Products Report collection.
+ *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
* @api
* @since 100.0.2
@@ -89,7 +96,13 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection
* @param \Magento\Catalog\Model\Product\Type $productType
* @param \Magento\Quote\Model\ResourceModel\Quote\Collection $quoteResource
* @param mixed $connection
- *
+ * @param ProductLimitationFactory|null $productLimitationFactory
+ * @param MetadataPool|null $metadataPool
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface $resourceModelPool
+ * @throws \Magento\Framework\Exception\LocalizedException
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -116,7 +129,13 @@ public function __construct(
\Magento\Reports\Model\Event\TypeFactory $eventTypeFactory,
\Magento\Catalog\Model\Product\Type $productType,
\Magento\Quote\Model\ResourceModel\Quote\Collection $quoteResource,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ProductLimitationFactory $productLimitationFactory = null,
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->setProductEntityId($product->getEntityIdField());
$this->setProductEntityTableName($product->getEntityTable());
@@ -141,7 +160,13 @@ public function __construct(
$customerSession,
$dateTime,
$groupManagement,
- $connection
+ $connection,
+ $productLimitationFactory,
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
$this->_eventTypeFactory = $eventTypeFactory;
$this->_productType = $productType;
@@ -149,7 +174,8 @@ public function __construct(
}
/**
- * Set Type for COUNT SQL Select
+ * Set Type for COUNT SQL Select.
+ *
* @codeCoverageIgnore
*
* @param int $type
@@ -162,7 +188,8 @@ public function setSelectCountSqlType($type)
}
/**
- * Set product entity id
+ * Set product entity id.
+ *
* @codeCoverageIgnore
*
* @param string $entityId
@@ -175,7 +202,8 @@ public function setProductEntityId($entityId)
}
/**
- * Get product entity id
+ * Get product entity id.
+ *
* @codeCoverageIgnore
*
* @return int
@@ -186,7 +214,8 @@ public function getProductEntityId()
}
/**
- * Set product entity table name
+ * Set product entity table name.
+ *
* @codeCoverageIgnore
*
* @param string $value
@@ -199,7 +228,8 @@ public function setProductEntityTableName($value)
}
/**
- * Get product entity table name
+ * Get product entity table name.
+ *
* @codeCoverageIgnore
*
* @return string
@@ -210,7 +240,8 @@ public function getProductEntityTableName()
}
/**
- * Get product attribute set id
+ * Get product attribute set id.
+ *
* @codeCoverageIgnore
*
* @return int
@@ -221,7 +252,8 @@ public function getProductAttributeSetId()
}
/**
- * Set product attribute set id
+ * Set product attribute set id.
+ *
* @codeCoverageIgnore
*
* @param int $value
diff --git a/app/code/Magento/Reports/Model/ResourceModel/Product/Index/Collection/AbstractCollection.php b/app/code/Magento/Reports/Model/ResourceModel/Product/Index/Collection/AbstractCollection.php
index 7371bc4359f46..bec8faaee0ca7 100644
--- a/app/code/Magento/Reports/Model/ResourceModel/Product/Index/Collection/AbstractCollection.php
+++ b/app/code/Magento/Reports/Model/ResourceModel/Product/Index/Collection/AbstractCollection.php
@@ -5,13 +5,20 @@
*/
/**
- * Reports Product Index Abstract Product Resource Collection
- *
* @author Magento Core Team
*/
namespace Magento\Reports\Model\ResourceModel\Product\Index\Collection;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\EntityManager\MetadataPool;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
+
/**
+ * Reports Product Index Abstract Product Resource Collection.
+ *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
* @api
* @since 100.0.2
@@ -53,7 +60,12 @@ abstract class AbstractCollection extends \Magento\Catalog\Model\ResourceModel\P
* @param \Magento\Customer\Api\GroupManagementInterface $groupManagement
* @param \Magento\Customer\Model\Visitor $customerVisitor
* @param mixed $connection
- *
+ * @param ProductLimitationFactory|null $productLimitationFactory
+ * @param MetadataPool|null $metadataPool
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -77,7 +89,13 @@ public function __construct(
\Magento\Framework\Stdlib\DateTime $dateTime,
\Magento\Customer\Api\GroupManagementInterface $groupManagement,
\Magento\Customer\Model\Visitor $customerVisitor,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ProductLimitationFactory $productLimitationFactory = null,
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
parent::__construct(
$entityFactory,
@@ -99,7 +117,13 @@ public function __construct(
$customerSession,
$dateTime,
$groupManagement,
- $connection
+ $connection,
+ $productLimitationFactory,
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
$this->_customerVisitor = $customerVisitor;
}
@@ -181,7 +205,8 @@ protected function _getWhereCondition()
}
/**
- * Set customer id, that will be used in 'whereCondition'
+ * Set customer id, that will be used in 'whereCondition'.
+ *
* @codeCoverageIgnore
*
* @param int $id
diff --git a/app/code/Magento/Reports/Model/ResourceModel/Product/Lowstock/Collection.php b/app/code/Magento/Reports/Model/ResourceModel/Product/Lowstock/Collection.php
index 732d819e3b2cd..8bf50f4c1b8e7 100644
--- a/app/code/Magento/Reports/Model/ResourceModel/Product/Lowstock/Collection.php
+++ b/app/code/Magento/Reports/Model/ResourceModel/Product/Lowstock/Collection.php
@@ -5,15 +5,21 @@
*/
/**
- * Product Low Stock Report Collection
- *
* @author Magento Core Team
*/
namespace Magento\Reports\Model\ResourceModel\Product\Lowstock;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\EntityManager\MetadataPool;
use Magento\Framework\Exception\LocalizedException;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
/**
+ * Product Low Stock Report Collection.
+ *
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
* @api
* @since 100.0.2
@@ -78,7 +84,13 @@ class Collection extends \Magento\Reports\Model\ResourceModel\Product\Collection
* @param \Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration
* @param \Magento\CatalogInventory\Model\ResourceModel\Stock\Item $itemResource
* @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection
- *
+ * @param ProductLimitationFactory|null $productLimitationFactory
+ * @param MetadataPool|null $metadataPool
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
+ * @throws LocalizedException
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -108,7 +120,13 @@ public function __construct(
\Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry,
\Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration,
\Magento\CatalogInventory\Model\ResourceModel\Stock\Item $itemResource,
- \Magento\Framework\DB\Adapter\AdapterInterface $connection = null
+ \Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
+ ProductLimitationFactory $productLimitationFactory = null,
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
parent::__construct(
$entityFactory,
@@ -134,7 +152,13 @@ public function __construct(
$eventTypeFactory,
$productType,
$quoteResource,
- $connection
+ $connection,
+ $productLimitationFactory,
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
$this->stockRegistry = $stockRegistry;
$this->stockConfiguration = $stockConfiguration;
diff --git a/app/code/Magento/Reports/Test/Unit/Model/ResourceModel/Product/CollectionTest.php b/app/code/Magento/Reports/Test/Unit/Model/ResourceModel/Product/CollectionTest.php
index 038d37a990442..cb4d51e0c540d 100644
--- a/app/code/Magento/Reports/Test/Unit/Model/ResourceModel/Product/CollectionTest.php
+++ b/app/code/Magento/Reports/Test/Unit/Model/ResourceModel/Product/CollectionTest.php
@@ -12,6 +12,7 @@
use Magento\Catalog\Model\Product\Type as ProductType;
use Magento\Catalog\Model\ResourceModel\Helper;
use Magento\Catalog\Model\ResourceModel\Product as ResourceProduct;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
use Magento\Catalog\Model\ResourceModel\Url;
use Magento\Customer\Api\GroupManagementInterface;
use Magento\Customer\Model\Session;
@@ -25,7 +26,9 @@
use Magento\Framework\Data\Collection\EntityFactory;
use Magento\Framework\DB\Adapter\AdapterInterface;
use Magento\Framework\DB\Select;
+use Magento\Framework\EntityManager\MetadataPool;
use Magento\Framework\Event\ManagerInterface;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
use Magento\Framework\Module\Manager;
use Magento\Framework\Stdlib\DateTime;
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
@@ -34,6 +37,7 @@
use Magento\Quote\Model\ResourceModel\Quote\Collection;
use Magento\Reports\Model\Event\TypeFactory;
use Magento\Reports\Model\ResourceModel\Product\Collection as ProductCollection;
+use Magento\Store\Api\Data\StoreInterface;
use Magento\Store\Model\StoreManagerInterface;
use Psr\Log\LoggerInterface;
@@ -78,46 +82,6 @@ class CollectionTest extends \PHPUnit\Framework\TestCase
protected function setUp()
{
$this->objectManager = new ObjectManager($this);
- $context = $this->createPartialMock(Context::class, ['getResource', 'getEavConfig']);
- $entityFactoryMock = $this->createMock(EntityFactory::class);
- $loggerMock = $this->createMock(LoggerInterface::class);
- $fetchStrategyMock = $this->createMock(FetchStrategyInterface::class);
- $eventManagerMock = $this->createMock(ManagerInterface::class);
- $eavConfigMock = $this->createMock(Config::class);
- $this->resourceMock = $this->createPartialMock(ResourceConnection::class, ['getTableName', 'getConnection']);
- $eavEntityFactoryMock = $this->createMock(EavEntityFactory::class);
- $resourceHelperMock = $this->createMock(Helper::class);
- $universalFactoryMock = $this->createMock(UniversalFactory::class);
- $storeManagerMock = $this->createPartialMockForAbstractClass(
- StoreManagerInterface::class,
- ['getStore', 'getId']
- );
- $moduleManagerMock = $this->createMock(Manager::class);
- $productFlatStateMock = $this->createMock(State::class);
- $scopeConfigMock = $this->createMock(ScopeConfigInterface::class);
- $optionFactoryMock = $this->createMock(OptionFactory::class);
- $catalogUrlMock = $this->createMock(Url::class);
- $localeDateMock = $this->createMock(TimezoneInterface::class);
- $customerSessionMock = $this->createMock(Session::class);
- $dateTimeMock = $this->createMock(DateTime::class);
- $groupManagementMock = $this->createMock(GroupManagementInterface::class);
- $eavConfig = $this->createPartialMock(Config::class, ['getEntityType']);
- $entityType = $this->createMock(Type::class);
-
- $eavConfig->expects($this->atLeastOnce())->method('getEntityType')->willReturn($entityType);
- $context->expects($this->atLeastOnce())->method('getResource')->willReturn($this->resourceMock);
- $context->expects($this->atLeastOnce())->method('getEavConfig')->willReturn($eavConfig);
-
- $defaultAttributes = $this->createPartialMock(DefaultAttributes::class, ['_getDefaultAttributes']);
- $productMock = $this->objectManager->getObject(
- ResourceProduct::class,
- ['context' => $context, 'defaultAttributes' => $defaultAttributes]
- );
-
- $this->eventTypeFactoryMock = $this->createMock(TypeFactory::class);
- $productTypeMock = $this->createMock(ProductType::class);
- $quoteResourceMock = $this->createMock(Collection::class);
- $this->connectionMock = $this->createPartialMockForAbstractClass(AdapterInterface::class, ['select']);
$this->selectMock = $this->createPartialMock(
Select::class,
[
@@ -130,39 +94,65 @@ protected function setUp()
'having',
]
);
-
- $storeManagerMock->expects($this->atLeastOnce())->method('getStore')->willReturn($storeManagerMock);
- $storeManagerMock->expects($this->atLeastOnce())->method('getId')->willReturn(1);
- $universalFactoryMock->expects($this->atLeastOnce())->method('create')->willReturn($productMock);
+ $this->connectionMock = $this->createMock(AdapterInterface::class);
+ $this->connectionMock->expects($this->atLeastOnce())->method('select')->willReturn($this->selectMock);
+ $this->resourceMock = $this->createPartialMock(ResourceConnection::class, ['getTableName', 'getConnection']);
$this->resourceMock->expects($this->atLeastOnce())->method('getTableName')->willReturn('test_table');
$this->resourceMock->expects($this->atLeastOnce())->method('getConnection')->willReturn($this->connectionMock);
- $this->connectionMock->expects($this->atLeastOnce())->method('select')->willReturn($this->selectMock);
+ $eavConfig = $this->createPartialMock(Config::class, ['getEntityType']);
+ $eavConfig->expects($this->atLeastOnce())->method('getEntityType')->willReturn($this->createMock(Type::class));
+ $context = $this->createPartialMock(Context::class, ['getResource', 'getEavConfig']);
+ $context->expects($this->atLeastOnce())->method('getResource')->willReturn($this->resourceMock);
+ $context->expects($this->atLeastOnce())->method('getEavConfig')->willReturn($eavConfig);
+ $storeMock = $this->createMock(StoreInterface::class);
+ $storeMock->expects($this->atLeastOnce())->method('getId')->willReturn(1);
+ $storeManagerMock = $this->createMock(StoreManagerInterface::class);
+ $storeManagerMock->expects($this->atLeastOnce())->method('getStore')->willReturn($storeMock);
+ $productMock = $this->objectManager->getObject(
+ ResourceProduct::class,
+ [
+ 'context' => $context,
+ 'defaultAttributes' => $this->createPartialMock(
+ DefaultAttributes::class,
+ ['_getDefaultAttributes']
+ )
+ ]
+ );
+ $resourceModelPoolMock = $this->createMock(ResourceModelPoolInterface::class);
+ $resourceModelPoolMock->expects($this->atLeastOnce())->method('get')->willReturn($productMock);
+ $this->eventTypeFactoryMock = $this->createMock(TypeFactory::class);
$this->collection = new ProductCollection(
- $entityFactoryMock,
- $loggerMock,
- $fetchStrategyMock,
- $eventManagerMock,
- $eavConfigMock,
+ $this->createMock(EntityFactory::class),
+ $this->createMock(LoggerInterface::class),
+ $this->createMock(FetchStrategyInterface::class),
+ $this->createMock(ManagerInterface::class),
+ $this->createMock(Config::class),
$this->resourceMock,
- $eavEntityFactoryMock,
- $resourceHelperMock,
- $universalFactoryMock,
+ $this->createMock(EavEntityFactory::class),
+ $this->createMock(Helper::class),
+ $this->createMock(UniversalFactory::class),
$storeManagerMock,
- $moduleManagerMock,
- $productFlatStateMock,
- $scopeConfigMock,
- $optionFactoryMock,
- $catalogUrlMock,
- $localeDateMock,
- $customerSessionMock,
- $dateTimeMock,
- $groupManagementMock,
+ $this->createMock(Manager::class),
+ $this->createMock(State::class),
+ $this->createMock(ScopeConfigInterface::class),
+ $this->createMock(OptionFactory::class),
+ $this->createMock(Url::class),
+ $this->createMock(TimezoneInterface::class),
+ $this->createMock(Session::class),
+ $this->createMock(DateTime::class),
+ $this->createMock(GroupManagementInterface::class),
$productMock,
$this->eventTypeFactoryMock,
- $productTypeMock,
- $quoteResourceMock,
- $this->connectionMock
+ $this->createMock(ProductType::class),
+ $this->createMock(Collection::class),
+ $this->connectionMock,
+ $this->createMock(ProductLimitationFactory::class),
+ $this->createMock(MetadataPool::class),
+ $this->createMock(\Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer::class),
+ $this->createMock(\Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver::class),
+ $this->createMock(\Magento\Framework\Indexer\DimensionFactory::class),
+ $resourceModelPoolMock
);
}
@@ -262,25 +252,4 @@ public function testAddViewsCount()
$this->collection->addViewsCount();
}
-
- /**
- * Get mock for abstract class with methods.
- *
- * @param string $className
- * @param array $methods
- *
- * @return \PHPUnit_Framework_MockObject_MockObject
- */
- private function createPartialMockForAbstractClass($className, $methods)
- {
- return $this->getMockForAbstractClass(
- $className,
- [],
- '',
- true,
- true,
- true,
- $methods
- );
- }
}
diff --git a/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php b/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php
index 3033a31ff1723..d4e50a9e43d68 100644
--- a/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php
+++ b/app/code/Magento/Review/Model/ResourceModel/Review/Product/Collection.php
@@ -5,10 +5,14 @@
*/
namespace Magento\Review\Model\ResourceModel\Review\Product;
+use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
+use Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver;
+use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
use Magento\Eav\Model\Entity\Attribute\AbstractAttribute;
use Magento\Framework\DB\Select;
use Magento\Framework\EntityManager\MetadataPool;
-use Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitationFactory;
+use Magento\Framework\Indexer\DimensionFactory;
+use Magento\Framework\Model\ResourceModel\ResourceModelPoolInterface;
/**
* Review Product Collection
@@ -88,7 +92,10 @@ class Collection extends \Magento\Catalog\Model\ResourceModel\Product\Collection
* @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection
* @param ProductLimitationFactory|null $productLimitationFactory
* @param MetadataPool|null $metadataPool
- *
+ * @param TableMaintainer|null $tableMaintainer
+ * @param PriceTableResolver|null $priceTableResolver
+ * @param DimensionFactory|null $dimensionFactory
+ * @param ResourceModelPoolInterface|null $resourceModelPool
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -115,7 +122,11 @@ public function __construct(
\Magento\Review\Model\Rating\Option\VoteFactory $voteFactory,
\Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
ProductLimitationFactory $productLimitationFactory = null,
- MetadataPool $metadataPool = null
+ MetadataPool $metadataPool = null,
+ TableMaintainer $tableMaintainer = null,
+ PriceTableResolver $priceTableResolver = null,
+ DimensionFactory $dimensionFactory = null,
+ ResourceModelPoolInterface $resourceModelPool = null
) {
$this->_ratingFactory = $ratingFactory;
$this->_voteFactory = $voteFactory;
@@ -141,7 +152,11 @@ public function __construct(
$groupManagement,
$connection,
$productLimitationFactory,
- $metadataPool
+ $metadataPool,
+ $tableMaintainer,
+ $priceTableResolver,
+ $dimensionFactory,
+ $resourceModelPool
);
}
diff --git a/app/code/Magento/Wishlist/Block/Cart/Item/Renderer/Actions/MoveToWishlist.php b/app/code/Magento/Wishlist/Block/Cart/Item/Renderer/Actions/MoveToWishlist.php
index 823849ed41047..eba1f7da72742 100644
--- a/app/code/Magento/Wishlist/Block/Cart/Item/Renderer/Actions/MoveToWishlist.php
+++ b/app/code/Magento/Wishlist/Block/Cart/Item/Renderer/Actions/MoveToWishlist.php
@@ -10,6 +10,8 @@
use Magento\Wishlist\Helper\Data;
/**
+ * Class MoveToWishlist
+ *
* @api
* @since 100.0.2
*/
diff --git a/app/etc/di.xml b/app/etc/di.xml
index 6cf169c1d2277..19543375aad58 100755
--- a/app/etc/di.xml
+++ b/app/etc/di.xml
@@ -153,6 +153,7 @@
+
diff --git a/dev/tests/acceptance/RoboFile.php b/dev/tests/acceptance/RoboFile.php
deleted file mode 100644
index e6e9e591bbd8b..0000000000000
--- a/dev/tests/acceptance/RoboFile.php
+++ /dev/null
@@ -1,175 +0,0 @@
-getBaseCmd("build:project"));
- }
-
- /**
- * Generate all Tests in PHP OR Generate set of tests via passing array of tests
- *
- * @param array $tests
- * @param array $opts
- * @return \Robo\Result
- */
- function generateTests(array $tests, $opts = [
- 'config' => null,
- 'force' => false,
- 'nodes' => null,
- 'lines' => null,
- 'tests' => null
- ])
- {
- $baseCmd = $this->getBaseCmd("generate:tests");
-
- $mftfArgNames = ['config', 'nodes', 'lines', 'tests'];
- // append arguments to the end of the command
- foreach ($opts as $argName => $argValue) {
- if (in_array($argName, $mftfArgNames) && $argValue !== null) {
- $baseCmd .= " --$argName $argValue";
- }
- }
-
- // use a separate conditional for the force flag (casting bool to string in php is hard)
- if ($opts['force']) {
- $baseCmd .= ' --force';
- }
-
- return $this->taskExec($baseCmd)->args($tests)->run();
- }
-
- /**
- * Generate a suite based on name(s) passed in as args.
- *
- * @param array $args
- * @throws Exception
- * @return \Robo\Result
- */
- function generateSuite(array $args)
- {
- if (empty($args)) {
- throw new Exception("Please provide suite name(s) after generate:suite command");
- }
- $baseCmd = $this->getBaseCmd("generate:suite");
- return $this->taskExec($baseCmd)->args($args)->run();
- }
-
- /**
- * Run all Tests with the specified @group tag'.
- *
- * @param array $args
- * @return \Robo\Result
- */
- function group(array $args)
- {
- $args = array_merge($args, ['-k']);
- $baseCmd = $this->getBaseCmd("run:group");
- return $this->taskExec($baseCmd)->args($args)->run();
- }
-
- /**
- * Generate the HTML for the Allure report based on the Test XML output - Allure v1.4.X
- *
- * @return \Robo\Result
- */
- function allure1Generate()
- {
- return $this->_exec('allure generate tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-results'. DIRECTORY_SEPARATOR .' -o tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .'');
- }
-
- /**
- * Generate the HTML for the Allure report based on the Test XML output - Allure v2.3.X
- *
- * @return \Robo\Result
- */
- function allure2Generate()
- {
- return $this->_exec('allure generate tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-results'. DIRECTORY_SEPARATOR .' --output tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .' --clean');
- }
-
- /**
- * Open the HTML Allure report - Allure v1.4.X
- *
- * @return \Robo\Result
- */
- function allure1Open()
- {
- return $this->_exec('allure report open --report-dir tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .'');
- }
-
- /**
- * Open the HTML Allure report - Allure v2.3.X
- *
- * @return \Robo\Result
- */
- function allure2Open()
- {
- return $this->_exec('allure open --port 0 tests'. DIRECTORY_SEPARATOR .'_output'. DIRECTORY_SEPARATOR .'allure-report'. DIRECTORY_SEPARATOR .'');
- }
-
- /**
- * Generate and open the HTML Allure report - Allure v1.4.X
- *
- * @return \Robo\Result
- */
- function allure1Report()
- {
- $result1 = $this->allure1Generate();
-
- if ($result1->wasSuccessful()) {
- return $this->allure1Open();
- } else {
- return $result1;
- }
- }
-
- /**
- * Generate and open the HTML Allure report - Allure v2.3.X
- *
- * @return \Robo\Result
- */
- function allure2Report()
- {
- $result1 = $this->allure2Generate();
-
- if ($result1->wasSuccessful()) {
- return $this->allure2Open();
- } else {
- return $result1;
- }
- }
-
- /**
- * Private function for returning the formatted command for the passthru to mftf bin execution.
- *
- * @param string $command
- * @return string
- */
- private function getBaseCmd($command)
- {
- $this->writeln("\033[01;31m Use of robo will be deprecated with next major release, please use /vendor/bin/mftf $command \033[0m");
- chdir(__DIR__);
- return realpath('../../../vendor/bin/mftf') . " $command";
- }
-}
\ No newline at end of file
diff --git a/dev/tests/acceptance/composer.json b/dev/tests/acceptance/composer.json
deleted file mode 100755
index 83cad123f8568..0000000000000
--- a/dev/tests/acceptance/composer.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "description": "Magento 2 (Open Source) Functional Tests",
- "type": "project",
- "version": "1.0.0-dev",
- "license": [
- "OSL-3.0",
- "AFL-3.0"
- ],
- "config": {
- "sort-packages": true
- },
- "require": {
- "php": "~7.1.3||~7.2.0",
- "codeception/codeception": "~2.3.4 || ~2.4.0",
- "consolidation/robo": "^1.0.0",
- "vlucas/phpdotenv": "^2.4"
- },
- "autoload": {
- "psr-4": {
- "Magento\\": "tests/functional/Magento"
- },
- "files": ["tests/_bootstrap.php"]
- },
- "prefer-stable": true
-}
diff --git a/dev/tests/acceptance/composer.lock b/dev/tests/acceptance/composer.lock
deleted file mode 100644
index 5d2c2c5eb1769..0000000000000
--- a/dev/tests/acceptance/composer.lock
+++ /dev/null
@@ -1,3534 +0,0 @@
-{
- "_readme": [
- "This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
- "This file is @generated automatically"
- ],
- "content-hash": "b93d599d375af66b29edfd8a35875e69",
- "packages": [
- {
- "name": "behat/gherkin",
- "version": "v4.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Behat/Gherkin.git",
- "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Behat/Gherkin/zipball/ab0a02ea14893860bca00f225f5621d351a3ad07",
- "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.1"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.5|~5",
- "symfony/phpunit-bridge": "~2.7|~3|~4",
- "symfony/yaml": "~2.3|~3|~4"
- },
- "suggest": {
- "symfony/yaml": "If you want to parse features, represented in YAML files"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Behat\\Gherkin": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- }
- ],
- "description": "Gherkin DSL parser for PHP 5.3",
- "homepage": "http://behat.org/",
- "keywords": [
- "BDD",
- "Behat",
- "Cucumber",
- "DSL",
- "gherkin",
- "parser"
- ],
- "time": "2019-01-16T14:22:17+00:00"
- },
- {
- "name": "codeception/codeception",
- "version": "2.4.5",
- "source": {
- "type": "git",
- "url": "https://github.com/Codeception/Codeception.git",
- "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Codeception/Codeception/zipball/5fee32d5c82791548931cbc34806b4de6aa1abfc",
- "reference": "5fee32d5c82791548931cbc34806b4de6aa1abfc",
- "shasum": ""
- },
- "require": {
- "behat/gherkin": "^4.4.0",
- "codeception/phpunit-wrapper": "^6.0.9|^7.0.6",
- "codeception/stub": "^2.0",
- "ext-json": "*",
- "ext-mbstring": "*",
- "facebook/webdriver": ">=1.1.3 <2.0",
- "guzzlehttp/guzzle": ">=4.1.4 <7.0",
- "guzzlehttp/psr7": "~1.0",
- "php": ">=5.6.0 <8.0",
- "symfony/browser-kit": ">=2.7 <5.0",
- "symfony/console": ">=2.7 <5.0",
- "symfony/css-selector": ">=2.7 <5.0",
- "symfony/dom-crawler": ">=2.7 <5.0",
- "symfony/event-dispatcher": ">=2.7 <5.0",
- "symfony/finder": ">=2.7 <5.0",
- "symfony/yaml": ">=2.7 <5.0"
- },
- "require-dev": {
- "codeception/specify": "~0.3",
- "facebook/graph-sdk": "~5.3",
- "flow/jsonpath": "~0.2",
- "monolog/monolog": "~1.8",
- "pda/pheanstalk": "~3.0",
- "php-amqplib/php-amqplib": "~2.4",
- "predis/predis": "^1.0",
- "squizlabs/php_codesniffer": "~2.0",
- "symfony/process": ">=2.7 <5.0",
- "vlucas/phpdotenv": "^2.4.0"
- },
- "suggest": {
- "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module",
- "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests",
- "codeception/specify": "BDD-style code blocks",
- "codeception/verify": "BDD-style assertions",
- "flow/jsonpath": "For using JSONPath in REST module",
- "league/factory-muffin": "For DataFactory module",
- "league/factory-muffin-faker": "For Faker support in DataFactory module",
- "phpseclib/phpseclib": "for SFTP option in FTP Module",
- "stecman/symfony-console-completion": "For BASH autocompletion",
- "symfony/phpunit-bridge": "For phpunit-bridge support"
- },
- "bin": [
- "codecept"
- ],
- "type": "library",
- "extra": {
- "branch-alias": []
- },
- "autoload": {
- "psr-4": {
- "Codeception\\": "src\\Codeception",
- "Codeception\\Extension\\": "ext"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Bodnarchuk",
- "email": "davert@mail.ua",
- "homepage": "http://codegyre.com"
- }
- ],
- "description": "BDD-style testing framework",
- "homepage": "http://codeception.com/",
- "keywords": [
- "BDD",
- "TDD",
- "acceptance testing",
- "functional testing",
- "unit testing"
- ],
- "time": "2018-08-01T07:21:49+00:00"
- },
- {
- "name": "codeception/phpunit-wrapper",
- "version": "7.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Codeception/phpunit-wrapper.git",
- "reference": "ed4b12beb167dc2ecea293b4f6df6c20ce8d280f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/ed4b12beb167dc2ecea293b4f6df6c20ce8d280f",
- "reference": "ed4b12beb167dc2ecea293b4f6df6c20ce8d280f",
- "shasum": ""
- },
- "require": {
- "phpunit/php-code-coverage": "^6.0",
- "phpunit/phpunit": ">=7.1 <7.6",
- "sebastian/comparator": "^3.0",
- "sebastian/diff": "^3.0"
- },
- "require-dev": {
- "codeception/specify": "*",
- "vlucas/phpdotenv": "^2.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Codeception\\PHPUnit\\": "src\\"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Davert",
- "email": "davert.php@resend.cc"
- }
- ],
- "description": "PHPUnit classes used by Codeception",
- "time": "2019-01-13T10:34:39+00:00"
- },
- {
- "name": "codeception/stub",
- "version": "2.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/Codeception/Stub.git",
- "reference": "f50bc271f392a2836ff80690ce0c058efe1ae03e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Codeception/Stub/zipball/f50bc271f392a2836ff80690ce0c058efe1ae03e",
- "reference": "f50bc271f392a2836ff80690ce0c058efe1ae03e",
- "shasum": ""
- },
- "require": {
- "phpunit/phpunit": ">=4.8 <8.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Codeception\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Flexible Stub wrapper for PHPUnit's Mock Builder",
- "time": "2018-07-26T11:55:37+00:00"
- },
- {
- "name": "consolidation/annotated-command",
- "version": "2.11.2",
- "source": {
- "type": "git",
- "url": "https://github.com/consolidation/annotated-command.git",
- "reference": "004af26391cd7d1cd04b0ac736dc1324d1b4f572"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/004af26391cd7d1cd04b0ac736dc1324d1b4f572",
- "reference": "004af26391cd7d1cd04b0ac736dc1324d1b4f572",
- "shasum": ""
- },
- "require": {
- "consolidation/output-formatters": "^3.4",
- "php": ">=5.4.5",
- "psr/log": "^1",
- "symfony/console": "^2.8|^3|^4",
- "symfony/event-dispatcher": "^2.5|^3|^4",
- "symfony/finder": "^2.5|^3|^4"
- },
- "require-dev": {
- "g1a/composer-test-scenarios": "^3",
- "php-coveralls/php-coveralls": "^1",
- "phpunit/phpunit": "^6",
- "squizlabs/php_codesniffer": "^2.7"
- },
- "type": "library",
- "extra": {
- "scenarios": {
- "symfony4": {
- "require": {
- "symfony/console": "^4.0"
- },
- "config": {
- "platform": {
- "php": "7.1.3"
- }
- }
- },
- "symfony2": {
- "require": {
- "symfony/console": "^2.8"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36"
- },
- "remove": [
- "php-coveralls/php-coveralls"
- ],
- "config": {
- "platform": {
- "php": "5.4.8"
- }
- },
- "scenario-options": {
- "create-lockfile": "false"
- }
- },
- "phpunit4": {
- "require-dev": {
- "phpunit/phpunit": "^4.8.36"
- },
- "remove": [
- "php-coveralls/php-coveralls"
- ],
- "config": {
- "platform": {
- "php": "5.4.8"
- }
- }
- }
- },
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Consolidation\\AnnotatedCommand\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Greg Anderson",
- "email": "greg.1.anderson@greenknowe.org"
- }
- ],
- "description": "Initialize Symfony Console commands from annotated command class methods.",
- "time": "2019-02-02T02:29:53+00:00"
- },
- {
- "name": "consolidation/config",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/consolidation/config.git",
- "reference": "925231dfff32f05b787e1fddb265e789b939cf4c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/consolidation/config/zipball/925231dfff32f05b787e1fddb265e789b939cf4c",
- "reference": "925231dfff32f05b787e1fddb265e789b939cf4c",
- "shasum": ""
- },
- "require": {
- "dflydev/dot-access-data": "^1.1.0",
- "grasmash/expander": "^1",
- "php": ">=5.4.0"
- },
- "require-dev": {
- "g1a/composer-test-scenarios": "^1",
- "phpunit/phpunit": "^5",
- "satooshi/php-coveralls": "^1.0",
- "squizlabs/php_codesniffer": "2.*",
- "symfony/console": "^2.5|^3|^4",
- "symfony/yaml": "^2.8.11|^3|^4"
- },
- "suggest": {
- "symfony/yaml": "Required to use Consolidation\\Config\\Loader\\YamlConfigLoader"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Consolidation\\Config\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Greg Anderson",
- "email": "greg.1.anderson@greenknowe.org"
- }
- ],
- "description": "Provide configuration services for a commandline tool.",
- "time": "2018-10-24T17:55:35+00:00"
- },
- {
- "name": "consolidation/log",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/consolidation/log.git",
- "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/consolidation/log/zipball/b2e887325ee90abc96b0a8b7b474cd9e7c896e3a",
- "reference": "b2e887325ee90abc96b0a8b7b474cd9e7c896e3a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.5",
- "psr/log": "^1.0",
- "symfony/console": "^2.8|^3|^4"
- },
- "require-dev": {
- "g1a/composer-test-scenarios": "^3",
- "php-coveralls/php-coveralls": "^1",
- "phpunit/phpunit": "^6",
- "squizlabs/php_codesniffer": "^2"
- },
- "type": "library",
- "extra": {
- "scenarios": {
- "symfony4": {
- "require": {
- "symfony/console": "^4.0"
- },
- "config": {
- "platform": {
- "php": "7.1.3"
- }
- }
- },
- "symfony2": {
- "require": {
- "symfony/console": "^2.8"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36"
- },
- "remove": [
- "php-coveralls/php-coveralls"
- ],
- "config": {
- "platform": {
- "php": "5.4.8"
- }
- }
- },
- "phpunit4": {
- "require-dev": {
- "phpunit/phpunit": "^4.8.36"
- },
- "remove": [
- "php-coveralls/php-coveralls"
- ],
- "config": {
- "platform": {
- "php": "5.4.8"
- }
- }
- }
- },
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Consolidation\\Log\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Greg Anderson",
- "email": "greg.1.anderson@greenknowe.org"
- }
- ],
- "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.",
- "time": "2019-01-01T17:30:51+00:00"
- },
- {
- "name": "consolidation/output-formatters",
- "version": "3.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/consolidation/output-formatters.git",
- "reference": "a942680232094c4a5b21c0b7e54c20cce623ae19"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/a942680232094c4a5b21c0b7e54c20cce623ae19",
- "reference": "a942680232094c4a5b21c0b7e54c20cce623ae19",
- "shasum": ""
- },
- "require": {
- "dflydev/dot-access-data": "^1.1.0",
- "php": ">=5.4.0",
- "symfony/console": "^2.8|^3|^4",
- "symfony/finder": "^2.5|^3|^4"
- },
- "require-dev": {
- "g1a/composer-test-scenarios": "^2",
- "phpunit/phpunit": "^5.7.27",
- "satooshi/php-coveralls": "^2",
- "squizlabs/php_codesniffer": "^2.7",
- "symfony/console": "3.2.3",
- "symfony/var-dumper": "^2.8|^3|^4",
- "victorjonsson/markdowndocs": "^1.3"
- },
- "suggest": {
- "symfony/var-dumper": "For using the var_dump formatter"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Consolidation\\OutputFormatters\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Greg Anderson",
- "email": "greg.1.anderson@greenknowe.org"
- }
- ],
- "description": "Format text by applying transformations provided by plug-in formatters.",
- "time": "2018-10-19T22:35:38+00:00"
- },
- {
- "name": "consolidation/robo",
- "version": "1.4.4",
- "source": {
- "type": "git",
- "url": "https://github.com/consolidation/Robo.git",
- "reference": "8bec6a6ea54a7d03d56552a4250c49dec3b3083d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/consolidation/Robo/zipball/8bec6a6ea54a7d03d56552a4250c49dec3b3083d",
- "reference": "8bec6a6ea54a7d03d56552a4250c49dec3b3083d",
- "shasum": ""
- },
- "require": {
- "consolidation/annotated-command": "^2.10.2",
- "consolidation/config": "^1.0.10",
- "consolidation/log": "~1",
- "consolidation/output-formatters": "^3.1.13",
- "consolidation/self-update": "^1",
- "grasmash/yaml-expander": "^1.3",
- "league/container": "^2.2",
- "php": ">=5.5.0",
- "symfony/console": "^2.8|^3|^4",
- "symfony/event-dispatcher": "^2.5|^3|^4",
- "symfony/filesystem": "^2.5|^3|^4",
- "symfony/finder": "^2.5|^3|^4",
- "symfony/process": "^2.5|^3|^4"
- },
- "replace": {
- "codegyre/robo": "< 1.0"
- },
- "require-dev": {
- "codeception/aspect-mock": "^1|^2.1.1",
- "codeception/base": "^2.3.7",
- "codeception/verify": "^0.3.2",
- "g1a/composer-test-scenarios": "^3",
- "goaop/framework": "~2.1.2",
- "goaop/parser-reflection": "^1.1.0",
- "natxet/cssmin": "3.0.4",
- "nikic/php-parser": "^3.1.5",
- "patchwork/jsqueeze": "~2",
- "pear/archive_tar": "^1.4.4",
- "php-coveralls/php-coveralls": "^1",
- "phpunit/php-code-coverage": "~2|~4",
- "squizlabs/php_codesniffer": "^2.8"
- },
- "suggest": {
- "henrikbjorn/lurker": "For monitoring filesystem changes in taskWatch",
- "natxet/CssMin": "For minifying CSS files in taskMinify",
- "patchwork/jsqueeze": "For minifying JS files in taskMinify",
- "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively."
- },
- "bin": [
- "robo"
- ],
- "type": "library",
- "extra": {
- "scenarios": {
- "symfony4": {
- "require": {
- "symfony/console": "^4"
- },
- "config": {
- "platform": {
- "php": "7.1.3"
- }
- }
- },
- "symfony2": {
- "require": {
- "symfony/console": "^2.8"
- },
- "remove": [
- "goaop/framework"
- ],
- "config": {
- "platform": {
- "php": "5.5.9"
- }
- },
- "scenario-options": {
- "create-lockfile": "false"
- }
- }
- },
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Robo\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Davert",
- "email": "davert.php@resend.cc"
- }
- ],
- "description": "Modern task runner",
- "time": "2019-02-08T20:59:23+00:00"
- },
- {
- "name": "consolidation/self-update",
- "version": "1.1.5",
- "source": {
- "type": "git",
- "url": "https://github.com/consolidation/self-update.git",
- "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/consolidation/self-update/zipball/a1c273b14ce334789825a09d06d4c87c0a02ad54",
- "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5.0",
- "symfony/console": "^2.8|^3|^4",
- "symfony/filesystem": "^2.5|^3|^4"
- },
- "bin": [
- "scripts/release"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "SelfUpdate\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Greg Anderson",
- "email": "greg.1.anderson@greenknowe.org"
- },
- {
- "name": "Alexander Menk",
- "email": "menk@mestrona.net"
- }
- ],
- "description": "Provides a self:update command for Symfony Console applications.",
- "time": "2018-10-28T01:52:03+00:00"
- },
- {
- "name": "container-interop/container-interop",
- "version": "1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/container-interop/container-interop.git",
- "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8",
- "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8",
- "shasum": ""
- },
- "require": {
- "psr/container": "^1.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Interop\\Container\\": "src/Interop/Container/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
- "homepage": "https://github.com/container-interop/container-interop",
- "time": "2017-02-14T19:40:03+00:00"
- },
- {
- "name": "dflydev/dot-access-data",
- "version": "v1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/dflydev/dflydev-dot-access-data.git",
- "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a",
- "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Dflydev\\DotAccessData": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Dragonfly Development Inc.",
- "email": "info@dflydev.com",
- "homepage": "http://dflydev.com"
- },
- {
- "name": "Beau Simensen",
- "email": "beau@dflydev.com",
- "homepage": "http://beausimensen.com"
- },
- {
- "name": "Carlos Frutos",
- "email": "carlos@kiwing.it",
- "homepage": "https://github.com/cfrutos"
- }
- ],
- "description": "Given a deep data structure, access data by dot notation.",
- "homepage": "https://github.com/dflydev/dflydev-dot-access-data",
- "keywords": [
- "access",
- "data",
- "dot",
- "notation"
- ],
- "time": "2017-01-20T21:14:22+00:00"
- },
- {
- "name": "doctrine/instantiator",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "athletic/athletic": "~0.1.8",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpunit/phpunit": "^6.2.3",
- "squizlabs/php_codesniffer": "^3.0.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://github.com/doctrine/instantiator",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "time": "2017-07-22T11:58:36+00:00"
- },
- {
- "name": "facebook/webdriver",
- "version": "1.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/facebook/php-webdriver.git",
- "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e",
- "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e",
- "shasum": ""
- },
- "require": {
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "ext-zip": "*",
- "php": "^5.6 || ~7.0",
- "symfony/process": "^2.8 || ^3.1 || ^4.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.0",
- "jakub-onderka/php-parallel-lint": "^0.9.2",
- "php-coveralls/php-coveralls": "^2.0",
- "php-mock/php-mock-phpunit": "^1.1",
- "phpunit/phpunit": "^5.7",
- "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0",
- "squizlabs/php_codesniffer": "^2.6",
- "symfony/var-dumper": "^3.3 || ^4.0"
- },
- "suggest": {
- "ext-SimpleXML": "For Firefox profile creation"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-community": "1.5-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Facebook\\WebDriver\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache-2.0"
- ],
- "description": "A PHP client for Selenium WebDriver",
- "homepage": "https://github.com/facebook/php-webdriver",
- "keywords": [
- "facebook",
- "php",
- "selenium",
- "webdriver"
- ],
- "time": "2018-05-16T17:37:13+00:00"
- },
- {
- "name": "grasmash/expander",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/grasmash/expander.git",
- "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/grasmash/expander/zipball/95d6037344a4be1dd5f8e0b0b2571a28c397578f",
- "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f",
- "shasum": ""
- },
- "require": {
- "dflydev/dot-access-data": "^1.1.0",
- "php": ">=5.4"
- },
- "require-dev": {
- "greg-1-anderson/composer-test-scenarios": "^1",
- "phpunit/phpunit": "^4|^5.5.4",
- "satooshi/php-coveralls": "^1.0.2|dev-master",
- "squizlabs/php_codesniffer": "^2.7"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Grasmash\\Expander\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Matthew Grasmick"
- }
- ],
- "description": "Expands internal property references in PHP arrays file.",
- "time": "2017-12-21T22:14:55+00:00"
- },
- {
- "name": "grasmash/yaml-expander",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/grasmash/yaml-expander.git",
- "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/grasmash/yaml-expander/zipball/3f0f6001ae707a24f4d9733958d77d92bf9693b1",
- "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1",
- "shasum": ""
- },
- "require": {
- "dflydev/dot-access-data": "^1.1.0",
- "php": ">=5.4",
- "symfony/yaml": "^2.8.11|^3|^4"
- },
- "require-dev": {
- "greg-1-anderson/composer-test-scenarios": "^1",
- "phpunit/phpunit": "^4.8|^5.5.4",
- "satooshi/php-coveralls": "^1.0.2|dev-master",
- "squizlabs/php_codesniffer": "^2.7"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Grasmash\\YamlExpander\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Matthew Grasmick"
- }
- ],
- "description": "Expands internal property references in a yaml file.",
- "time": "2017-12-16T16:06:03+00:00"
- },
- {
- "name": "guzzlehttp/guzzle",
- "version": "6.3.3",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
- "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
- "shasum": ""
- },
- "require": {
- "guzzlehttp/promises": "^1.0",
- "guzzlehttp/psr7": "^1.4",
- "php": ">=5.5"
- },
- "require-dev": {
- "ext-curl": "*",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
- "psr/log": "^1.0"
- },
- "suggest": {
- "psr/log": "Required for using the Log middleware"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.3-dev"
- }
- },
- "autoload": {
- "files": [
- "src/functions_include.php"
- ],
- "psr-4": {
- "GuzzleHttp\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- }
- ],
- "description": "Guzzle is a PHP HTTP client library",
- "homepage": "http://guzzlephp.org/",
- "keywords": [
- "client",
- "curl",
- "framework",
- "http",
- "http client",
- "rest",
- "web service"
- ],
- "time": "2018-04-22T15:46:56+00:00"
- },
- {
- "name": "guzzlehttp/promises",
- "version": "v1.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- }
- ],
- "description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
- "time": "2016-12-20T10:07:11+00:00"
- },
- {
- "name": "guzzlehttp/psr7",
- "version": "1.5.2",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "9f83dded91781a01c63574e387eaa769be769115"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115",
- "reference": "9f83dded91781a01c63574e387eaa769be769115",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0",
- "psr/http-message": "~1.0",
- "ralouphie/getallheaders": "^2.0.5"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Tobias Schultze",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "time": "2018-12-04T20:46:45+00:00"
- },
- {
- "name": "league/container",
- "version": "2.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/container.git",
- "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/container/zipball/43f35abd03a12977a60ffd7095efd6a7808488c0",
- "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0",
- "shasum": ""
- },
- "require": {
- "container-interop/container-interop": "^1.2",
- "php": "^5.4.0 || ^7.0"
- },
- "provide": {
- "container-interop/container-interop-implementation": "^1.2",
- "psr/container-implementation": "^1.0"
- },
- "replace": {
- "orno/di": "~2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev",
- "dev-1.x": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Container\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Phil Bennett",
- "email": "philipobenito@gmail.com",
- "homepage": "http://www.philipobenito.com",
- "role": "Developer"
- }
- ],
- "description": "A fast and intuitive dependency injection container.",
- "homepage": "https://github.com/thephpleague/container",
- "keywords": [
- "container",
- "dependency",
- "di",
- "injection",
- "league",
- "provider",
- "service"
- ],
- "time": "2017-05-10T09:20:27+00:00"
- },
- {
- "name": "myclabs/deep-copy",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "replace": {
- "myclabs/deep-copy": "self.version"
- },
- "require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- },
- "files": [
- "src/DeepCopy/deep_copy.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Create deep copies (clones) of your objects",
- "keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
- ],
- "time": "2018-06-11T23:09:50+00:00"
- },
- {
- "name": "phar-io/manifest",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-phar": "*",
- "phar-io/version": "^2.0",
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "time": "2018-07-08T19:23:20+00:00"
- },
- {
- "name": "phar-io/version",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Library for handling version information and constraints",
- "time": "2018-07-08T19:19:57+00:00"
- },
- {
- "name": "phpdocumentor/reflection-common",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "time": "2017-09-11T18:02:19+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "4.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0.0",
- "phpdocumentor/type-resolver": "^0.4.0",
- "webmozart/assert": "^1.0"
- },
- "require-dev": {
- "doctrine/instantiator": "~1.0.5",
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2017-11-30T07:14:17+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "0.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
- "shasum": ""
- },
- "require": {
- "php": "^5.5 || ^7.0",
- "phpdocumentor/reflection-common": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^0.9.4",
- "phpunit/phpunit": "^5.2||^4.8.24"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "time": "2017-07-14T14:27:02+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "1.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
- "sebastian/comparator": "^1.1|^2.0|^3.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.8.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Prophecy\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "time": "2018-08-05T17:53:17+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "6.1.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
- "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-xmlwriter": "*",
- "php": "^7.1",
- "phpunit/php-file-iterator": "^2.0",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^3.0",
- "sebastian/code-unit-reverse-lookup": "^1.0.1",
- "sebastian/environment": "^3.1 || ^4.0",
- "sebastian/version": "^2.0.1",
- "theseer/tokenizer": "^1.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "suggest": {
- "ext-xdebug": "^2.6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "time": "2018-10-31T16:06:48+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "050bedf145a257b1ff02746c31894800e5122946"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
- "reference": "050bedf145a257b1ff02746c31894800e5122946",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "time": "2018-09-13T20:33:42+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "time": "2015-06-21T13:50:34+00:00"
- },
- {
- "name": "phpunit/php-timer",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f",
- "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "time": "2018-02-01T13:07:23+00:00"
- },
- {
- "name": "phpunit/php-token-stream",
- "version": "3.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18",
- "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
- "keywords": [
- "tokenizer"
- ],
- "time": "2018-10-30T05:52:18+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "7.5.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "2896657da5fb237bc316bdfc18c2650efeee0dc0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2896657da5fb237bc316bdfc18c2650efeee0dc0",
- "reference": "2896657da5fb237bc316bdfc18c2650efeee0dc0",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.1",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "myclabs/deep-copy": "^1.7",
- "phar-io/manifest": "^1.0.2",
- "phar-io/version": "^2.0",
- "php": "^7.1",
- "phpspec/prophecy": "^1.7",
- "phpunit/php-code-coverage": "^6.0.7",
- "phpunit/php-file-iterator": "^2.0.1",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-timer": "^2.0",
- "sebastian/comparator": "^3.0",
- "sebastian/diff": "^3.0",
- "sebastian/environment": "^4.0",
- "sebastian/exporter": "^3.1",
- "sebastian/global-state": "^2.0",
- "sebastian/object-enumerator": "^3.0.3",
- "sebastian/resource-operations": "^2.0",
- "sebastian/version": "^2.0.1"
- },
- "conflict": {
- "phpunit/phpunit-mock-objects": "*"
- },
- "require-dev": {
- "ext-pdo": "*"
- },
- "suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*",
- "phpunit/php-invoker": "^2.0"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "7.5-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "time": "2019-02-07T14:15:04+00:00"
- },
- {
- "name": "psr/container",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ],
- "time": "2017-02-14T16:28:37+00:00"
- },
- {
- "name": "psr/http-message",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "time": "2016-08-06T14:39:51+00:00"
- },
- {
- "name": "psr/log",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
- "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
- "time": "2018-11-20T15:27:04+00:00"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "2.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa",
- "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~3.7.0",
- "satooshi/php-coveralls": ">=1.0"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "description": "A polyfill for getallheaders.",
- "time": "2016-02-11T07:05:27+00:00"
- },
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "time": "2017-03-04T06:30:41+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "3.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "shasum": ""
- },
- "require": {
- "php": "^7.1",
- "sebastian/diff": "^3.0",
- "sebastian/exporter": "^3.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "time": "2018-07-12T15:12:46+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "3.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.5 || ^8.0",
- "symfony/process": "^2 || ^3.3 || ^4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
- "time": "2019-02-04T06:01:07+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "4.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6fda8ce1974b62b14935adc02a9ed38252eca656",
- "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.5"
- },
- "suggest": {
- "ext-posix": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "time": "2019-02-01T05:27:49+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "3.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937",
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "time": "2017-04-03T13:19:02+00:00"
- },
- {
- "name": "sebastian/global-state",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "time": "2017-04-27T15:39:26+00:00"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "sebastian/object-reflector": "^1.1.1",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "time": "2017-08-03T12:35:26+00:00"
- },
- {
- "name": "sebastian/object-reflector",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "773f97c67f28de00d397be301821b06708fca0be"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
- "reference": "773f97c67f28de00d397be301821b06708fca0be",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "time": "2017-03-29T09:07:27+00:00"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2017-03-03T06:23:57+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "time": "2018-10-04T04:07:39+00:00"
- },
- {
- "name": "sebastian/version",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "time": "2016-10-03T07:35:21+00:00"
- },
- {
- "name": "symfony/browser-kit",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/browser-kit.git",
- "reference": "ee4462581eb54bf34b746e4a5d522a4f21620160"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/ee4462581eb54bf34b746e4a5d522a4f21620160",
- "reference": "ee4462581eb54bf34b746e4a5d522a4f21620160",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/dom-crawler": "~3.4|~4.0"
- },
- "require-dev": {
- "symfony/css-selector": "~3.4|~4.0",
- "symfony/process": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/process": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\BrowserKit\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony BrowserKit Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-16T21:31:25+00:00"
- },
- {
- "name": "symfony/console",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "1f0ad51dfde4da8a6070f06adc58b4e37cbb37a4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/1f0ad51dfde4da8a6070f06adc58b4e37cbb37a4",
- "reference": "1f0ad51dfde4da8a6070f06adc58b4e37cbb37a4",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/contracts": "^1.0",
- "symfony/polyfill-mbstring": "~1.0"
- },
- "conflict": {
- "symfony/dependency-injection": "<3.4",
- "symfony/process": "<3.3"
- },
- "provide": {
- "psr/log-implementation": "1.0"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/event-dispatcher": "~3.4|~4.0",
- "symfony/lock": "~3.4|~4.0",
- "symfony/process": "~3.4|~4.0"
- },
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Console\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Console Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-25T14:35:16+00:00"
- },
- {
- "name": "symfony/contracts",
- "version": "v1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/contracts.git",
- "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf",
- "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3"
- },
- "require-dev": {
- "psr/cache": "^1.0",
- "psr/container": "^1.0"
- },
- "suggest": {
- "psr/cache": "When using the Cache contracts",
- "psr/container": "When using the Service contracts",
- "symfony/cache-contracts-implementation": "",
- "symfony/service-contracts-implementation": "",
- "symfony/translation-contracts-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\": ""
- },
- "exclude-from-classmap": [
- "**/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A set of abstractions extracted out of the Symfony components",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "time": "2018-12-05T08:06:11+00:00"
- },
- {
- "name": "symfony/css-selector",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/css-selector.git",
- "reference": "48eddf66950fa57996e1be4a55916d65c10c604a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/48eddf66950fa57996e1be4a55916d65c10c604a",
- "reference": "48eddf66950fa57996e1be4a55916d65c10c604a",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\CssSelector\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jean-François Simon",
- "email": "jeanfrancois.simon@sensiolabs.com"
- },
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony CssSelector Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-16T20:31:39+00:00"
- },
- {
- "name": "symfony/dom-crawler",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/dom-crawler.git",
- "reference": "d8476760b04cdf7b499c8718aa437c20a9155103"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d8476760b04cdf7b499c8718aa437c20a9155103",
- "reference": "d8476760b04cdf7b499c8718aa437c20a9155103",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.0"
- },
- "require-dev": {
- "symfony/css-selector": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/css-selector": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\DomCrawler\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony DomCrawler Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-16T20:35:37+00:00"
- },
- {
- "name": "symfony/event-dispatcher",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1",
- "reference": "bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/contracts": "^1.0"
- },
- "conflict": {
- "symfony/dependency-injection": "<3.4"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/stopwatch": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony EventDispatcher Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-16T20:35:37+00:00"
- },
- {
- "name": "symfony/filesystem",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "7c16ebc2629827d4ec915a52ac809768d060a4ee"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/7c16ebc2629827d4ec915a52ac809768d060a4ee",
- "reference": "7c16ebc2629827d4ec915a52ac809768d060a4ee",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Filesystem\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Filesystem Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-16T20:35:37+00:00"
- },
- {
- "name": "symfony/finder",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "ef71816cbb264988bb57fe6a73f610888b9aa70c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/ef71816cbb264988bb57fe6a73f610888b9aa70c",
- "reference": "ef71816cbb264988bb57fe6a73f610888b9aa70c",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Finder\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Finder Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-16T20:35:37+00:00"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
- "reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- },
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
- "time": "2018-08-06T14:22:27+00:00"
- },
- {
- "name": "symfony/polyfill-mbstring",
- "version": "v1.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "c79c051f5b3a46be09205c73b80b346e4153e494"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494",
- "reference": "c79c051f5b3a46be09205c73b80b346e4153e494",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2018-09-21T13:07:52+00:00"
- },
- {
- "name": "symfony/process",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "6c05edb11fbeff9e2b324b4270ecb17911a8b7ad"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/6c05edb11fbeff9e2b324b4270ecb17911a8b7ad",
- "reference": "6c05edb11fbeff9e2b324b4270ecb17911a8b7ad",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Process Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-24T22:05:03+00:00"
- },
- {
- "name": "symfony/yaml",
- "version": "v4.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "d461670ee145092b7e2a56c1da7118f19cadadb0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/d461670ee145092b7e2a56c1da7118f19cadadb0",
- "reference": "d461670ee145092b7e2a56c1da7118f19cadadb0",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8"
- },
- "conflict": {
- "symfony/console": "<3.4"
- },
- "require-dev": {
- "symfony/console": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Yaml Component",
- "homepage": "https://symfony.com",
- "time": "2019-01-16T20:35:37+00:00"
- },
- {
- "name": "theseer/tokenizer",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b",
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- }
- ],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "time": "2017-04-07T12:08:54+00:00"
- },
- {
- "name": "vlucas/phpdotenv",
- "version": "v2.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2a7dcf7e3e02dc5e701004e51a6f304b713107d5",
- "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9",
- "symfony/polyfill-ctype": "^1.9"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Dotenv\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Vance Lucas",
- "email": "vance@vancelucas.com",
- "homepage": "http://www.vancelucas.com"
- }
- ],
- "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
- "keywords": [
- "dotenv",
- "env",
- "environment"
- ],
- "time": "2019-01-29T11:11:52+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozart/assert.git",
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9",
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6",
- "sebastian/version": "^1.0.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "time": "2018-12-25T11:19:39+00:00"
- }
- ],
- "packages-dev": [],
- "aliases": [],
- "minimum-stability": "stable",
- "stability-flags": [],
- "prefer-stable": true,
- "prefer-lowest": false,
- "platform": {
- "php": "~7.1.3||~7.2.0"
- },
- "platform-dev": []
-}
diff --git a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/select.test.js b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/select.test.js
index 057b22a752987..b36a075c9a777 100644
--- a/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/select.test.js
+++ b/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/select.test.js
@@ -1,5 +1,5 @@
/**
- * Copyright © 2016 Magento. All rights reserved.
+ * Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/*eslint max-nested-callbacks: 0*/
diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/ResourceModelPool.php b/lib/internal/Magento/Framework/Model/ResourceModel/ResourceModelPool.php
new file mode 100644
index 0000000000000..f62619f16e1d1
--- /dev/null
+++ b/lib/internal/Magento/Framework/Model/ResourceModel/ResourceModelPool.php
@@ -0,0 +1,36 @@
+objectManager = $objectManager;
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function get(string $resourceClassName): AbstractResource
+ {
+ return $this->objectManager->get($resourceClassName);
+ }
+}
diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/ResourceModelPoolInterface.php b/lib/internal/Magento/Framework/Model/ResourceModel/ResourceModelPoolInterface.php
new file mode 100644
index 0000000000000..0274bb6504a0c
--- /dev/null
+++ b/lib/internal/Magento/Framework/Model/ResourceModel/ResourceModelPoolInterface.php
@@ -0,0 +1,23 @@
+request = $request;
$this->eventManager = $eventManager;
@@ -171,7 +174,7 @@ public function __construct(
$this->translator = $translator;
$this->cache = $cache;
$this->design = $design;
- $this->session = $session;
+ $this->session = $sessionManager ?: $session;
$this->scopeConfig = $scopeConfig;
$this->frontController = $frontController;
$this->viewConfig = $viewConfig;
@@ -332,6 +335,8 @@ public function getModuleName()
}
/**
+ * Get Front Name
+ *
* @see getModuleName
*/
public function getFrontName()