From 73183f3bc778b43f68b0c72c7f5b44221eedd97f Mon Sep 17 00:00:00 2001 From: Stefan Krenz Date: Tue, 9 Jan 2024 10:53:37 +0100 Subject: [PATCH 1/6] fix: Change method call --- .gitignore | 3 + .../Product/VariantAttributesModifier.php | 18 +-- tests/Makaira/Connect/AssertSnapshotTrait.php | 120 ++++++++++++++++++ .../Product/VariantAttributesModifierTest.php | 114 +++++++++++++++++ ...ith_data_set_Product_with_variants--0.json | 82 ++++++++++++ ..._data_set_Product_without_variants--0.json | 57 +++++++++ 6 files changed, 385 insertions(+), 9 deletions(-) create mode 100644 tests/Makaira/Connect/AssertSnapshotTrait.php create mode 100644 tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php create mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json create mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json diff --git a/.gitignore b/.gitignore index 2df79bba..6a37901d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ .DS_Store out/node_modules/ node_modules/ +/.phpunit.result.cache +/composer.lock +/build/ diff --git a/src/Makaira/Connect/Modifier/Product/VariantAttributesModifier.php b/src/Makaira/Connect/Modifier/Product/VariantAttributesModifier.php index 3c854dd8..cba0df9e 100644 --- a/src/Makaira/Connect/Modifier/Product/VariantAttributesModifier.php +++ b/src/Makaira/Connect/Modifier/Product/VariantAttributesModifier.php @@ -5,7 +5,6 @@ use Makaira\Connect\DatabaseInterface; use Makaira\Connect\Modifier; use Makaira\Connect\Type; -use Makaira\Connect\Type\Common\AssignedTypedAttribute; use Makaira\Connect\Type\Common\BaseProduct; use Makaira\Connect\Exception as ConnectException; @@ -61,12 +60,12 @@ class VariantAttributesModifier extends Modifier /** * @var array */ - private $attributeInt = []; + private $attributeInt; /** * @var array */ - private $attributeFloat = []; + private $attributeFloat; /** * @param DatabaseInterface $database @@ -103,25 +102,26 @@ public function getVariantData(Type $product) false ); - $single = ($variantName[0]['oxvarname'] === ''); + $single = ($variantName[0]['oxvarname'] === ''); + $hashArray = []; if (!$single) { $titleArray = array_map('trim', explode('|', $variantName[0]['oxvarname'])); $hashArray = array_map('md5', $titleArray); $query = str_replace('{{activeSnippet}}', $this->activeSnippet, $this->selectVariantDataQuery); - $dbvariants = $this->database->query( + $dbVariants = $this->database->query( $query, [ 'productId' => $product->id, ] ); - if ($dbvariants) { - $variants = $dbvariants; + if ($dbVariants) { + $variants = $dbVariants; } } - return $variants; + return [$variants, $hashArray]; } @@ -141,7 +141,7 @@ public function apply(Type $product) $product->attributes = []; - $variants = getVariantData($product); + [$variants, $hashArray] = $this->getVariantData($product); foreach ($variants as $variant) { $id = $variant['id']; diff --git a/tests/Makaira/Connect/AssertSnapshotTrait.php b/tests/Makaira/Connect/AssertSnapshotTrait.php new file mode 100644 index 00000000..ef7ebd17 --- /dev/null +++ b/tests/Makaira/Connect/AssertSnapshotTrait.php @@ -0,0 +1,120 @@ +getSnapshotFilename(), $suffix); + + if (!file_exists($snapshotFile)) { + file_put_contents($snapshotFile, $encoder($actual)); + + throw new IncompleteTestError(); + } + + $expected = $decoder(file_get_contents($snapshotFile)); + + if (null === $message) { + $message = sprintf("Current object doesn't match the contents of %s", basename($snapshotFile)); + } + + // Normalize actual value + $actual = $decoder($encoder($actual)); + + $this->assertEqualsCanonicalizing($expected, $actual, $message); + } + + protected function assertPhpSnapshot($actual, ?string $message = null) + { + $this->assertSnapshot($actual, 'serialized', 'serialize', 'unserialize', $message); + } + + protected function assertJsonSnapshot($actual, ?string $message = null) + { + $encoder = static function ($actual) { + return json_encode($actual, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION); + }; + + $decoder = static function ($expected) { + return json_decode($expected, false, 512, JSON_THROW_ON_ERROR); + }; + + $this->assertSnapshot($actual, 'json', $encoder, $decoder, $message); + } + + /** + * @return string + */ + private function getSnapshotFilename(): string + { + $reflection = new ReflectionClass($this); + + $snapshotDir = sprintf('%s/__snapshots__', dirname($reflection->getFileName())); + + $snapshotFilename = sprintf( + '%s--%s--%u', + $reflection->getShortName(), + $this->slugify($this->getName()), + $this->snapshotCount + ); + + $this->snapshotCount++; + + if (!is_dir($snapshotDir)) { + mkdir($snapshotDir, 0755, true); + } + + return sprintf("%s/%s", $snapshotDir, $snapshotFilename); + } +} diff --git a/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php b/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php new file mode 100644 index 00000000..11c3a5eb --- /dev/null +++ b/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php @@ -0,0 +1,114 @@ +createMock(DatabaseInterface::class), + 'OXACTIVE = 1', + [], + [] + ); + + $this->expectException(ConnectException::class); + $this->expectExceptionMessage("Cannot fetch attributes without a product ID."); + + $modifier->apply(new Type()); + } + + /** + * @param string $dbCallback + * + * @return void + * @throws ConnectException + * @dataProvider provideDbCallback + */ + public function testFethcesAttributes(string $dbCallback) + { + $dbMock = $this->createMock(DatabaseInterface::class); + $dbMock->method('query') + ->willReturnCallback([$this, $dbCallback]); + + $modifier = new VariantAttributesModifier( + $dbMock, + 'OXACTIVE = 1', + ['intAttr', '111ebeb2f08072eef3b164f0dc7ab653'], + ['floatAttr', '01aa4923c4110ef347161f848a9d36aa'] + ); + + $product = new Product(['id' => 'phpunit_product']); + $modifier->apply($product); + + $this->assertJsonSnapshot($product); + } + + public function provideDbCallback() + { + return [ + 'Product with variants' => ['productWithVariantsCallback'], + 'Product without variants' => ['productWithoutVariantsCallback'], + ]; + } + + public function productWithVariantsCallback(...$args) + { + if (str_contains($args[0], 'oxvarname')) { + return [['oxvarname' => 'size|color|intAttr|floatAttr']]; + } + + if (str_contains($args[0], 'oxvarselect')) { + return [ + ['id' => 'phpunit_variant1', 'value' => 'S|red|11|1.1'], + ['id' => 'phpunit_variant2', 'value' => 'M|green|22|2.2'], + ['id' => 'phpunit_variant3', 'value' => 'L|blue|33|3.3'], + ]; + } + + if (str_contains($args[0], 'oxvalue')) { + return [ + ['id' => 'a1', 'value' => 'p'], + ['id' => 'a2', 'value' => 'v1'], + ['id' => 'a3', 'value' => 'v2'], + ['id' => 'a4', 'value' => 'v3'], + ]; + } + + return []; + } + + public function productWithoutVariantsCallback(...$args) + { + if (str_contains($args[0], 'oxvarname')) { + return [['oxvarname' => '']]; + } + + if (str_contains($args[0], 'oxvarselect')) { + return []; + } + + if (str_contains($args[0], 'oxvalue')) { + return [ + ['id' => 'intAttr', 'value' => '1337'], + ['id' => 'floatAttr', 'value' => '13.37'], + ['id' => 'stringAttr', 'value' => 'phpunit'], + ]; + } + + return []; + } +} diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json new file mode 100644 index 00000000..2b956a85 --- /dev/null +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json @@ -0,0 +1,82 @@ +{ + "es_id": null, + "id": "phpunit_product", + "timestamp": null, + "url": null, + "active": true, + "shop": [], + "additionalData": [], + "attributeStr": [], + "attributeInt": [], + "attributeFloat": [], + "isPseudo": false, + "ean": "", + "title": "", + "searchkeys": "", + "hidden": false, + "sort": 0, + "longdesc": "", + "shortdesc": "", + "stock": 0, + "onstock": false, + "manufacturerid": "", + "manufacturer_title": "", + "price": 0.0, + "insert": null, + "soldamount": 0, + "rating": 0.0, + "searchable": true, + "picture_url_main": [], + "attributes": [ + { + "f7bd60b75b29d79b660a2859395c1a24": "S", + "70dda5dfb8053dc6d1c492574bce9bfd": "red", + "111ebeb2f08072eef3b164f0dc7ab653": 11, + "01aa4923c4110ef347161f848a9d36aa": 1.1, + "a1": "p", + "a2": "v1", + "a3": "v2", + "a4": "v3" + }, + { + "f7bd60b75b29d79b660a2859395c1a24": "M", + "70dda5dfb8053dc6d1c492574bce9bfd": "green", + "111ebeb2f08072eef3b164f0dc7ab653": 22, + "01aa4923c4110ef347161f848a9d36aa": 2.2, + "a1": "p", + "a2": "v1", + "a3": "v2", + "a4": "v3" + }, + { + "f7bd60b75b29d79b660a2859395c1a24": "L", + "70dda5dfb8053dc6d1c492574bce9bfd": "blue", + "111ebeb2f08072eef3b164f0dc7ab653": 33, + "01aa4923c4110ef347161f848a9d36aa": 3.3, + "a1": "p", + "a2": "v1", + "a3": "v2", + "a4": "v3" + } + ], + "parent": "", + "meta_keywords": null, + "meta_description": null, + "selfLinks": [], + "maincategory": null, + "maincategoryurl": null, + "mak_boost_norm_insert": 0.0, + "mak_boost_norm_sold": 0.0, + "mak_boost_norm_rating": 0.0, + "mak_boost_norm_revenue": 0.0, + "mak_boost_norm_profit_margin": 0.0, + "isVariant": false, + "activeto": null, + "activefrom": null, + "suggest": [], + "category": [], + "TRACKING": null, + "tmpAttributeStr": [], + "tmpAttributeInt": [], + "tmpAttributeFloat": [] +} \ No newline at end of file diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json new file mode 100644 index 00000000..459bec35 --- /dev/null +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json @@ -0,0 +1,57 @@ +{ + "es_id": null, + "id": "phpunit_product", + "timestamp": null, + "url": null, + "active": true, + "shop": [], + "additionalData": [], + "attributeStr": [], + "attributeInt": [], + "attributeFloat": [], + "isPseudo": false, + "ean": "", + "title": "", + "searchkeys": "", + "hidden": false, + "sort": 0, + "longdesc": "", + "shortdesc": "", + "stock": 0, + "onstock": false, + "manufacturerid": "", + "manufacturer_title": "", + "price": 0.0, + "insert": null, + "soldamount": 0, + "rating": 0.0, + "searchable": true, + "picture_url_main": [], + "attributes": [ + { + "intAttr": 1337, + "floatAttr": 13.37, + "stringAttr": "phpunit" + } + ], + "parent": "", + "meta_keywords": null, + "meta_description": null, + "selfLinks": [], + "maincategory": null, + "maincategoryurl": null, + "mak_boost_norm_insert": 0.0, + "mak_boost_norm_sold": 0.0, + "mak_boost_norm_rating": 0.0, + "mak_boost_norm_revenue": 0.0, + "mak_boost_norm_profit_margin": 0.0, + "isVariant": false, + "activeto": null, + "activefrom": null, + "suggest": [], + "category": [], + "TRACKING": null, + "tmpAttributeStr": [], + "tmpAttributeInt": [], + "tmpAttributeFloat": [] +} \ No newline at end of file From edd57f0180779105340b835aefe63ca09c4bac2e Mon Sep 17 00:00:00 2001 From: Stefan Krenz Date: Tue, 9 Jan 2024 11:02:30 +0100 Subject: [PATCH 2/6] Introduce spatie/phpunit-snapshot-assertions --- composer.json | 3 +- tests/Makaira/Connect/AssertSnapshotTrait.php | 120 ------------------ .../Product/VariantAttributesModifierTest.php | 8 +- ...ith_data_set_Product_with_variants--0.json | 82 ------------ ..._data_set_Product_without_variants--0.json | 57 --------- 5 files changed, 6 insertions(+), 264 deletions(-) delete mode 100644 tests/Makaira/Connect/AssertSnapshotTrait.php delete mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json delete mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json diff --git a/composer.json b/composer.json index 3ff07e3a..8f499c7a 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,8 @@ "symfony/expression-language": "^3.4", "symfony/event-dispatcher": "^3.4", "squizlabs/php_codesniffer": "^3.6", - "phpcompatibility/php-compatibility": "^9.3" + "phpcompatibility/php-compatibility": "^9.3", + "spatie/phpunit-snapshot-assertions": "*" }, "autoload": { "classmap": [ diff --git a/tests/Makaira/Connect/AssertSnapshotTrait.php b/tests/Makaira/Connect/AssertSnapshotTrait.php deleted file mode 100644 index ef7ebd17..00000000 --- a/tests/Makaira/Connect/AssertSnapshotTrait.php +++ /dev/null @@ -1,120 +0,0 @@ -getSnapshotFilename(), $suffix); - - if (!file_exists($snapshotFile)) { - file_put_contents($snapshotFile, $encoder($actual)); - - throw new IncompleteTestError(); - } - - $expected = $decoder(file_get_contents($snapshotFile)); - - if (null === $message) { - $message = sprintf("Current object doesn't match the contents of %s", basename($snapshotFile)); - } - - // Normalize actual value - $actual = $decoder($encoder($actual)); - - $this->assertEqualsCanonicalizing($expected, $actual, $message); - } - - protected function assertPhpSnapshot($actual, ?string $message = null) - { - $this->assertSnapshot($actual, 'serialized', 'serialize', 'unserialize', $message); - } - - protected function assertJsonSnapshot($actual, ?string $message = null) - { - $encoder = static function ($actual) { - return json_encode($actual, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION); - }; - - $decoder = static function ($expected) { - return json_decode($expected, false, 512, JSON_THROW_ON_ERROR); - }; - - $this->assertSnapshot($actual, 'json', $encoder, $decoder, $message); - } - - /** - * @return string - */ - private function getSnapshotFilename(): string - { - $reflection = new ReflectionClass($this); - - $snapshotDir = sprintf('%s/__snapshots__', dirname($reflection->getFileName())); - - $snapshotFilename = sprintf( - '%s--%s--%u', - $reflection->getShortName(), - $this->slugify($this->getName()), - $this->snapshotCount - ); - - $this->snapshotCount++; - - if (!is_dir($snapshotDir)) { - mkdir($snapshotDir, 0755, true); - } - - return sprintf("%s/%s", $snapshotDir, $snapshotFilename); - } -} diff --git a/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php b/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php index 11c3a5eb..748caf2d 100644 --- a/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php +++ b/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php @@ -4,18 +4,18 @@ use Makaira\Connect\DatabaseInterface; use Makaira\Connect\Exception as ConnectException; -use Makaira\Connect\AssertSnapshotTrait; use Makaira\Connect\Type; use Makaira\Connect\Type\Product\Product; use PHPUnit\Framework\TestCase; +use Spatie\Snapshots\MatchesSnapshots; + use function str_contains; class VariantAttributesModifierTest extends TestCase { - use AssertSnapshotTrait; + use MatchesSnapshots; - // VariantAttributesModifierTest__testThrowsExceptionIfProductIdIsNotSet public function testThrowsExceptionIfProductIdIsNotSet() { $modifier = new VariantAttributesModifier( @@ -54,7 +54,7 @@ public function testFethcesAttributes(string $dbCallback) $product = new Product(['id' => 'phpunit_product']); $modifier->apply($product); - $this->assertJsonSnapshot($product); + $this->assertMatchesSnapshot($product); } public function provideDbCallback() diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json deleted file mode 100644 index 2b956a85..00000000 --- a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_with_variants--0.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "es_id": null, - "id": "phpunit_product", - "timestamp": null, - "url": null, - "active": true, - "shop": [], - "additionalData": [], - "attributeStr": [], - "attributeInt": [], - "attributeFloat": [], - "isPseudo": false, - "ean": "", - "title": "", - "searchkeys": "", - "hidden": false, - "sort": 0, - "longdesc": "", - "shortdesc": "", - "stock": 0, - "onstock": false, - "manufacturerid": "", - "manufacturer_title": "", - "price": 0.0, - "insert": null, - "soldamount": 0, - "rating": 0.0, - "searchable": true, - "picture_url_main": [], - "attributes": [ - { - "f7bd60b75b29d79b660a2859395c1a24": "S", - "70dda5dfb8053dc6d1c492574bce9bfd": "red", - "111ebeb2f08072eef3b164f0dc7ab653": 11, - "01aa4923c4110ef347161f848a9d36aa": 1.1, - "a1": "p", - "a2": "v1", - "a3": "v2", - "a4": "v3" - }, - { - "f7bd60b75b29d79b660a2859395c1a24": "M", - "70dda5dfb8053dc6d1c492574bce9bfd": "green", - "111ebeb2f08072eef3b164f0dc7ab653": 22, - "01aa4923c4110ef347161f848a9d36aa": 2.2, - "a1": "p", - "a2": "v1", - "a3": "v2", - "a4": "v3" - }, - { - "f7bd60b75b29d79b660a2859395c1a24": "L", - "70dda5dfb8053dc6d1c492574bce9bfd": "blue", - "111ebeb2f08072eef3b164f0dc7ab653": 33, - "01aa4923c4110ef347161f848a9d36aa": 3.3, - "a1": "p", - "a2": "v1", - "a3": "v2", - "a4": "v3" - } - ], - "parent": "", - "meta_keywords": null, - "meta_description": null, - "selfLinks": [], - "maincategory": null, - "maincategoryurl": null, - "mak_boost_norm_insert": 0.0, - "mak_boost_norm_sold": 0.0, - "mak_boost_norm_rating": 0.0, - "mak_boost_norm_revenue": 0.0, - "mak_boost_norm_profit_margin": 0.0, - "isVariant": false, - "activeto": null, - "activefrom": null, - "suggest": [], - "category": [], - "TRACKING": null, - "tmpAttributeStr": [], - "tmpAttributeInt": [], - "tmpAttributeFloat": [] -} \ No newline at end of file diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json deleted file mode 100644 index 459bec35..00000000 --- a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest--testFethcesAttributes_with_data_set_Product_without_variants--0.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "es_id": null, - "id": "phpunit_product", - "timestamp": null, - "url": null, - "active": true, - "shop": [], - "additionalData": [], - "attributeStr": [], - "attributeInt": [], - "attributeFloat": [], - "isPseudo": false, - "ean": "", - "title": "", - "searchkeys": "", - "hidden": false, - "sort": 0, - "longdesc": "", - "shortdesc": "", - "stock": 0, - "onstock": false, - "manufacturerid": "", - "manufacturer_title": "", - "price": 0.0, - "insert": null, - "soldamount": 0, - "rating": 0.0, - "searchable": true, - "picture_url_main": [], - "attributes": [ - { - "intAttr": 1337, - "floatAttr": 13.37, - "stringAttr": "phpunit" - } - ], - "parent": "", - "meta_keywords": null, - "meta_description": null, - "selfLinks": [], - "maincategory": null, - "maincategoryurl": null, - "mak_boost_norm_insert": 0.0, - "mak_boost_norm_sold": 0.0, - "mak_boost_norm_rating": 0.0, - "mak_boost_norm_revenue": 0.0, - "mak_boost_norm_profit_margin": 0.0, - "isVariant": false, - "activeto": null, - "activefrom": null, - "suggest": [], - "category": [], - "TRACKING": null, - "tmpAttributeStr": [], - "tmpAttributeInt": [], - "tmpAttributeFloat": [] -} \ No newline at end of file From d41e76a2e199eea4a7f1a32064c285fdf3742339 Mon Sep 17 00:00:00 2001 From: Stefan Krenz Date: Tue, 9 Jan 2024 11:02:53 +0100 Subject: [PATCH 3/6] Add snapshots --- ...with data set Product with variants__1.yml | 52 +++++++++++++++++++ ...h data set Product without variants__1.yml | 50 ++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml create mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml new file mode 100644 index 00000000..0e66f0a3 --- /dev/null +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml @@ -0,0 +1,52 @@ +attributes: + - { f7bd60b75b29d79b660a2859395c1a24: S, 70dda5dfb8053dc6d1c492574bce9bfd: red, 111ebeb2f08072eef3b164f0dc7ab653: 11, 01aa4923c4110ef347161f848a9d36aa: 1.1, a1: p, a2: v1, a3: v2, a4: v3 } + - { f7bd60b75b29d79b660a2859395c1a24: M, 70dda5dfb8053dc6d1c492574bce9bfd: green, 111ebeb2f08072eef3b164f0dc7ab653: 22, 01aa4923c4110ef347161f848a9d36aa: 2.2, a1: p, a2: v1, a3: v2, a4: v3 } + - { f7bd60b75b29d79b660a2859395c1a24: L, 70dda5dfb8053dc6d1c492574bce9bfd: blue, 111ebeb2f08072eef3b164f0dc7ab653: 33, 01aa4923c4110ef347161f848a9d36aa: 3.3, a1: p, a2: v1, a3: v2, a4: v3 } +parent: '' +meta_keywords: null +meta_description: null +selfLinks: { } +maincategory: null +maincategoryurl: null +mak_boost_norm_insert: 0.0 +mak_boost_norm_sold: 0.0 +mak_boost_norm_rating: 0.0 +mak_boost_norm_revenue: 0.0 +mak_boost_norm_profit_margin: 0.0 +isVariant: false +activeto: null +activefrom: null +suggest: { } +category: { } +TRACKING: null +tmpAttributeStr: { } +tmpAttributeInt: { } +tmpAttributeFloat: { } +attributeStr: { } +attributeInt: { } +attributeFloat: { } +isPseudo: false +ean: '' +title: '' +searchkeys: '' +hidden: false +sort: 0 +longdesc: '' +shortdesc: '' +stock: 0 +onstock: false +manufacturerid: '' +manufacturer_title: '' +price: 0.0 +insert: null +soldamount: 0 +rating: 0.0 +searchable: true +picture_url_main: { } +es_id: null +id: phpunit_product +timestamp: null +url: null +active: true +shop: { } +additionalData: { } diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml new file mode 100644 index 00000000..c0c365af --- /dev/null +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml @@ -0,0 +1,50 @@ +attributes: + - { intAttr: 1337, floatAttr: 13.37, stringAttr: phpunit } +parent: '' +meta_keywords: null +meta_description: null +selfLinks: { } +maincategory: null +maincategoryurl: null +mak_boost_norm_insert: 0.0 +mak_boost_norm_sold: 0.0 +mak_boost_norm_rating: 0.0 +mak_boost_norm_revenue: 0.0 +mak_boost_norm_profit_margin: 0.0 +isVariant: false +activeto: null +activefrom: null +suggest: { } +category: { } +TRACKING: null +tmpAttributeStr: { } +tmpAttributeInt: { } +tmpAttributeFloat: { } +attributeStr: { } +attributeInt: { } +attributeFloat: { } +isPseudo: false +ean: '' +title: '' +searchkeys: '' +hidden: false +sort: 0 +longdesc: '' +shortdesc: '' +stock: 0 +onstock: false +manufacturerid: '' +manufacturer_title: '' +price: 0.0 +insert: null +soldamount: 0 +rating: 0.0 +searchable: true +picture_url_main: { } +es_id: null +id: phpunit_product +timestamp: null +url: null +active: true +shop: { } +additionalData: { } From dba9213ff9895a4f270c1f37515ffed0d71e2de9 Mon Sep 17 00:00:00 2001 From: Stefan Krenz Date: Tue, 9 Jan 2024 11:26:23 +0100 Subject: [PATCH 4/6] Remove composer.lock --- composer.lock | 3546 ------------------------------------------------- 1 file changed, 3546 deletions(-) diff --git a/composer.lock b/composer.lock index 0cfdc8ff..e69de29b 100644 --- a/composer.lock +++ b/composer.lock @@ -1,3546 +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": "11098c1e74e2e969bf5a8221af8cbcdc", - "packages": [ - { - "name": "composer/installers", - "version": "v1.12.0", - "source": { - "type": "git", - "url": "https://github.com/composer/installers.git", - "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/installers/zipball/d20a64ed3c94748397ff5973488761b22f6d3f19", - "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0 || ^2.0" - }, - "replace": { - "roundcube/plugin-installer": "*", - "shama/baton": "*" - }, - "require-dev": { - "composer/composer": "1.6.* || ^2.0", - "composer/semver": "^1 || ^3", - "phpstan/phpstan": "^0.12.55", - "phpstan/phpstan-phpunit": "^0.12.16", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.3" - }, - "type": "composer-plugin", - "extra": { - "class": "Composer\\Installers\\Plugin", - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Installers\\": "src/Composer/Installers" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kyle Robinson Young", - "email": "kyle@dontkry.com", - "homepage": "https://github.com/shama" - } - ], - "description": "A multi-framework Composer library installer", - "homepage": "https://composer.github.io/installers/", - "keywords": [ - "Craft", - "Dolibarr", - "Eliasis", - "Hurad", - "ImageCMS", - "Kanboard", - "Lan Management System", - "MODX Evo", - "MantisBT", - "Mautic", - "Maya", - "OXID", - "Plentymarkets", - "Porto", - "RadPHP", - "SMF", - "Starbug", - "Thelia", - "Whmcs", - "WolfCMS", - "agl", - "aimeos", - "annotatecms", - "attogram", - "bitrix", - "cakephp", - "chef", - "cockpit", - "codeigniter", - "concrete5", - "croogo", - "dokuwiki", - "drupal", - "eZ Platform", - "elgg", - "expressionengine", - "fuelphp", - "grav", - "installer", - "itop", - "joomla", - "known", - "kohana", - "laravel", - "lavalite", - "lithium", - "magento", - "majima", - "mako", - "mediawiki", - "miaoxing", - "modulework", - "modx", - "moodle", - "osclass", - "pantheon", - "phpbb", - "piwik", - "ppi", - "processwire", - "puppet", - "pxcms", - "reindex", - "roundcube", - "shopware", - "silverstripe", - "sydes", - "sylius", - "symfony", - "tastyigniter", - "typo3", - "wordpress", - "yawik", - "zend", - "zikula" - ], - "support": { - "issues": "https://github.com/composer/installers/issues", - "source": "https://github.com/composer/installers/tree/v1.12.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-09-13T08:19:44+00:00" - }, - { - "name": "kore/data-object", - "version": "1.3", - "source": { - "type": "git", - "url": "https://github.com/kore/DataObject.git", - "reference": "ea2d6cd1c91d81131d7e537e8d8b038321b26e67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kore/DataObject/zipball/ea2d6cd1c91d81131d7e537e8d8b038321b26e67", - "reference": "ea2d6cd1c91d81131d7e537e8d8b038321b26e67", - "shasum": "" - }, - "require-dev": { - "pdepend/pdepend": "@stable", - "phpmd/phpmd": "@stable", - "phpunit/phpunit": "@stable", - "sebastian/phpcpd": "@stable", - "squizlabs/php_codesniffer": "@stable" - }, - "type": "library", - "autoload": { - "psr-0": { - "Kore": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Simple base class for data objects.", - "support": { - "issues": "https://github.com/kore/DataObject/issues", - "source": "https://github.com/kore/DataObject/tree/1.3" - }, - "time": "2019-09-27T09:41:36+00:00" - }, - { - "name": "makaira/shared-libs", - "version": "2022.2.4", - "source": { - "type": "git", - "url": "https://github.com/MakairaIO/shared-libs.git", - "reference": "3656c13ba1e680025b8d7c4a75b63e4df4f819e0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MakairaIO/shared-libs/zipball/3656c13ba1e680025b8d7c4a75b63e4df4f819e0", - "reference": "3656c13ba1e680025b8d7c4a75b63e4df4f819e0", - "shasum": "" - }, - "require": { - "kore/data-object": "1.3" - }, - "require-dev": { - "pdepend/pdepend": "@stable", - "phpmd/phpmd": "@stable", - "phpunit/phpunit": "^4.0", - "squizlabs/php_codesniffer": "@stable" - }, - "type": "library", - "autoload": { - "psr-4": { - "Makaira\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "support": { - "issues": "https://github.com/MakairaIO/shared-libs/issues", - "source": "https://github.com/MakairaIO/shared-libs/tree/2022.2.4" - }, - "time": "2023-08-03T12:03:14+00:00" - } - ], - "packages-dev": [ - { - "name": "composer/pcre", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/67a32d7d6f9f560b726ab25a061b38ff3a80c560", - "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/1.0.1" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-01-21T20:24:37+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "2.0.5", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "9e36aeed4616366d2b690bdce11f71e9178c579a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/9e36aeed4616366d2b690bdce11f71e9178c579a", - "reference": "9e36aeed4616366d2b690bdce11f71e9178c579a", - "shasum": "" - }, - "require": { - "composer/pcre": "^1", - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-24T20:20:32+00:00" - }, - { - "name": "doctrine/annotations", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "54cacc9b81758b14e3ce750f205a393d52339e97" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97", - "reference": "54cacc9b81758b14e3ce750f205a393d52339e97", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "doctrine/cache": "1.*", - "phpunit/phpunit": "^5.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/v1.4.0" - }, - "time": "2017-02-24T16:22:25+00:00" - }, - { - "name": "doctrine/cache", - "version": "v1.6.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b", - "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b", - "shasum": "" - }, - "require": { - "php": "~5.5|~7.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "phpunit/phpunit": "~4.8|~5.0", - "predis/predis": "~1.0", - "satooshi/php-coveralls": "~0.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Caching library offering an object-oriented API for many cache backends", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "cache", - "caching" - ], - "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/1.6.x" - }, - "time": "2017-07-22T12:49:21+00:00" - }, - { - "name": "doctrine/collections", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba", - "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "doctrine/coding-standard": "~0.1@dev", - "phpunit/phpunit": "^5.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Collections\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Collections Abstraction library", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "array", - "collections", - "iterator" - ], - "support": { - "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/master" - }, - "time": "2017-01-03T10:49:41+00:00" - }, - { - "name": "doctrine/common", - "version": "v2.7.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/common.git", - "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9", - "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9", - "shasum": "" - }, - "require": { - "doctrine/annotations": "1.*", - "doctrine/cache": "1.*", - "doctrine/collections": "1.*", - "doctrine/inflector": "1.*", - "doctrine/lexer": "1.*", - "php": "~5.6|~7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Common Library for Doctrine projects", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "collections", - "eventmanager", - "persistence", - "spl" - ], - "support": { - "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/v2.7.3" - }, - "time": "2017-07-22T08:35:12+00:00" - }, - { - "name": "doctrine/dbal", - "version": "v2.5.13", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "729340d8d1eec8f01bff708e12e449a3415af873" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873", - "reference": "729340d8d1eec8f01bff708e12e449a3415af873", - "shasum": "" - }, - "require": { - "doctrine/common": ">=2.4,<2.8-dev", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "4.*", - "symfony/console": "2.*||^3.0" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\DBAL\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Database Abstraction Layer", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "database", - "dbal", - "persistence", - "queryobject" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/v2.5.13" - }, - "time": "2017-07-22T20:44:48+00:00" - }, - { - "name": "doctrine/inflector", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462", - "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "inflection", - "pluralize", - "singularize", - "string" - ], - "support": { - "source": "https://github.com/doctrine/inflector/tree/master" - }, - "time": "2017-07-22T12:18:28+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.0.5" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "doctrine/lexer", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/1febd6c3ef84253d7c815bed85fc622ad207a9f8", - "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "^4.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.0.2" - }, - "time": "2019-06-08T11:03:04+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^4.1" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.x" - }, - "time": "2017-10-19T19:58:43+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "" - }, - "require": { - "php": ">= 7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/random_compat/issues", - "source": "https://github.com/paragonie/random_compat" - }, - "time": "2020-10-15T08:29:30+00:00" - }, - { - "name": "pdepend/pdepend", - "version": "2.14.0", - "source": { - "type": "git", - "url": "https://github.com/pdepend/pdepend.git", - "reference": "1121d4b04af06e33e9659bac3a6741b91cab1de1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/1121d4b04af06e33e9659bac3a6741b91cab1de1", - "reference": "1121d4b04af06e33e9659bac3a6741b91cab1de1", - "shasum": "" - }, - "require": { - "php": ">=5.3.7", - "symfony/config": "^2.3.0|^3|^4|^5|^6.0", - "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0", - "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0" - }, - "require-dev": { - "easy-doc/easy-doc": "0.0.0|^1.2.3", - "gregwar/rst": "^1.0", - "phpunit/phpunit": "^4.8.36|^5.7.27", - "squizlabs/php_codesniffer": "^2.0.0" - }, - "bin": [ - "src/bin/pdepend" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "PDepend\\": "src/main/php/PDepend" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Official version of pdepend to be handled with Composer", - "keywords": [ - "PHP Depend", - "PHP_Depend", - "dev", - "pdepend" - ], - "support": { - "issues": "https://github.com/pdepend/pdepend/issues", - "source": "https://github.com/pdepend/pdepend/tree/2.14.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", - "type": "tidelift" - } - ], - "time": "2023-05-26T13:15:18+00:00" - }, - { - "name": "phpcompatibility/php-compatibility", - "version": "9.3.5", - "source": { - "type": "git", - "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", - "reference": "9fb324479acf6f39452e0655d2429cc0d3914243" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243", - "reference": "9fb324479acf6f39452e0655d2429cc0d3914243", - "shasum": "" - }, - "require": { - "php": ">=5.3", - "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" - }, - "conflict": { - "squizlabs/php_codesniffer": "2.6.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" - }, - "suggest": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", - "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." - }, - "type": "phpcodesniffer-standard", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0-or-later" - ], - "authors": [ - { - "name": "Wim Godden", - "homepage": "https://github.com/wimg", - "role": "lead" - }, - { - "name": "Juliette Reinders Folmer", - "homepage": "https://github.com/jrfnl", - "role": "lead" - }, - { - "name": "Contributors", - "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" - } - ], - "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", - "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", - "keywords": [ - "compatibility", - "phpcs", - "standards" - ], - "support": { - "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", - "source": "https://github.com/PHPCompatibility/PHPCompatibility" - }, - "time": "2019-12-27T09:44:58+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" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master" - }, - "time": "2017-09-11T18:02:19+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "4.3.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", - "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", - "shasum": "" - }, - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "doctrine/instantiator": "^1.0.5", - "mockery/mockery": "^1.0", - "phpdocumentor/type-resolver": "0.4.*", - "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.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/4.x" - }, - "time": "2019-12-28T18:55:12+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.5.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "cf842904952e64e703800d094cdf34e715a8a3ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/cf842904952e64e703800d094cdf34e715a8a3ae", - "reference": "cf842904952e64e703800d094cdf34e715a8a3ae", - "shasum": "" - }, - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" - }, - "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" - } - ], - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/master" - }, - "time": "2017-12-30T13:23:38+00:00" - }, - { - "name": "phpmd/phpmd", - "version": "2.13.0", - "source": { - "type": "git", - "url": "https://github.com/phpmd/phpmd.git", - "reference": "dad0228156856b3ad959992f9748514fa943f3e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/dad0228156856b3ad959992f9748514fa943f3e3", - "reference": "dad0228156856b3ad959992f9748514fa943f3e3", - "shasum": "" - }, - "require": { - "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0", - "ext-xml": "*", - "pdepend/pdepend": "^2.12.1", - "php": ">=5.3.9" - }, - "require-dev": { - "easy-doc/easy-doc": "0.0.0 || ^1.3.2", - "ext-json": "*", - "ext-simplexml": "*", - "gregwar/rst": "^1.0", - "mikey179/vfsstream": "^1.6.8", - "phpunit/phpunit": "^4.8.36 || ^5.7.27", - "squizlabs/php_codesniffer": "^2.0" - }, - "bin": [ - "src/bin/phpmd" - ], - "type": "library", - "autoload": { - "psr-0": { - "PHPMD\\": "src/main/php" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Manuel Pichler", - "email": "github@manuel-pichler.de", - "homepage": "https://github.com/manuelpichler", - "role": "Project Founder" - }, - { - "name": "Marc Würth", - "email": "ravage@bluewin.ch", - "homepage": "https://github.com/ravage84", - "role": "Project Maintainer" - }, - { - "name": "Other contributors", - "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", - "role": "Contributors" - } - ], - "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", - "homepage": "https://phpmd.org/", - "keywords": [ - "mess detection", - "mess detector", - "pdepend", - "phpmd", - "pmd" - ], - "support": { - "irc": "irc://irc.freenode.org/phpmd", - "issues": "https://github.com/phpmd/phpmd/issues", - "source": "https://github.com/phpmd/phpmd/tree/2.13.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", - "type": "tidelift" - } - ], - "time": "2022-09-10T08:44:15+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.10.3", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "451c3cd1418cf640de218914901e51b064abb093" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", - "reference": "451c3cd1418cf640de218914901e51b064abb093", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.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.10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "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" - ], - "support": { - "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.10.3" - }, - "time": "2020-03-05T15:02:03+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.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" - ], - "support": { - "irc": "irc://irc.freenode.net/phpunit", - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/4.0" - }, - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.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" - ], - "support": { - "irc": "irc://irc.freenode.net/phpunit", - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.4.5" - }, - "time": "2017-11-27T13:52:08+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" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" - }, - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/master" - }, - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "791198a2c6254db10131eecfe8c06670700904db" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", - "reference": "791198a2c6254db10131eecfe8c06670700904db", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.2.4" - }, - "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": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", - "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master" - }, - "abandoned": true, - "time": "2017-11-27T05:48:46+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.27", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", - "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "^1.0.6|^2.0.1", - "symfony/yaml": "~2.1|~3.0|~4.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/5.7.27" - }, - "time": "2018-02-01T05:50:59+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", - "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "support": { - "irc": "irc://irc.freenode.net/phpunit", - "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues", - "source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/3.4" - }, - "abandoned": true, - "time": "2017-06-30T09:13:00+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/master" - }, - "time": "2016-08-06T20:24:11+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" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" - }, - "time": "2017-02-14T16:28:37+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "time": "2021-05-03T11:20:27+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" - }, - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "phpunit/phpunit": "^8.5" - }, - "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/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-11-30T08:15:22+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.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" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/1.2" - }, - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/1.4" - }, - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "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" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/master" - }, - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "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": "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" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/master" - }, - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.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" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/1.1.1" - }, - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "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" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/master" - }, - "time": "2017-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "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", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/master" - }, - "time": "2016-11-19T07:33:16+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "shasum": "" - }, - "require": { - "php": ">=5.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": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/master" - }, - "time": "2015-07-28T20:34:47+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", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/master" - }, - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "3.7.2", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", - "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "bin": [ - "bin/phpcs", - "bin/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", - "keywords": [ - "phpcs", - "standards", - "static analysis" - ], - "support": { - "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", - "source": "https://github.com/squizlabs/PHP_CodeSniffer", - "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" - }, - "time": "2023-02-22T23:07:41+00:00" - }, - { - "name": "symfony/cache", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "a7a14c4832760bd1fbd31be2859ffedc9b6ff813" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/a7a14c4832760bd1fbd31be2859ffedc9b6ff813", - "reference": "a7a14c4832760bd1fbd31be2859ffedc9b6ff813", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "psr/cache": "~1.0", - "psr/log": "~1.0", - "psr/simple-cache": "^1.0", - "symfony/polyfill-apcu": "~1.1" - }, - "conflict": { - "symfony/var-dumper": "<3.3" - }, - "provide": { - "psr/cache-implementation": "1.0", - "psr/simple-cache-implementation": "1.0" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/cache": "^1.6", - "doctrine/dbal": "^2.4|^3.0", - "predis/predis": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, - "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": "Symfony Cache component with PSR-6, PSR-16, and tags", - "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ], - "support": { - "source": "https://github.com/symfony/cache/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "symfony/config", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", - "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0|~4.0", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" - }, - "require-dev": { - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/event-dispatcher": "~3.3|~4.0", - "symfony/finder": "~3.3|~4.0", - "symfony/yaml": "~3.0|~4.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "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 Config Component", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/config/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "symfony/dependency-injection", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/51d2a2708c6ceadad84393f8581df1dcf9e5e84b", - "reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "psr/container": "^1.0" - }, - "conflict": { - "symfony/config": "<3.3.7", - "symfony/finder": "<3.3", - "symfony/proxy-manager-bridge": "<3.4", - "symfony/yaml": "<3.4" - }, - "provide": { - "psr/container-implementation": "1.0" - }, - "require-dev": { - "symfony/config": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "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 DependencyInjection Component", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "31fde73757b6bad247c54597beef974919ec6860" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/31fde73757b6bad247c54597beef974919ec6860", - "reference": "31fde73757b6bad247c54597beef974919ec6860", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/debug": "~3.4|~4.4", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "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", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "symfony/expression-language", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/expression-language.git", - "reference": "de38e66398fca1fcb9c48e80279910e6889cb28f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/de38e66398fca1fcb9c48e80279910e6889cb28f", - "reference": "de38e66398fca1fcb9c48e80279910e6889cb28f", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/cache": "~3.1|~4.0", - "symfony/polyfill-php70": "~1.6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ExpressionLanguage\\": "" - }, - "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 ExpressionLanguage Component", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/expression-language/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e58d7841cddfed6e846829040dca2cca0ebbbbb3", - "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" - }, - "type": "library", - "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", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "symfony/polyfill-apcu", - "version": "v1.19.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "b44b51e7814c23bfbd793a16ead5d7ce43ed23c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/b44b51e7814c23bfbd793a16ead5d7ce43ed23c5", - "reference": "b44b51e7814c23bfbd793a16ead5d7ce43ed23c5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.19-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Apcu\\": "" - } - }, - "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 backporting apcu_* functions to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "apcu", - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-apcu/tree/v1.19.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-21T09:57:48+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.19.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/aed596913b70fae57be53d86faa2e9ef85a2297b", - "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.19-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.19.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-23T09:01:57+00:00" - }, - { - "name": "symfony/polyfill-php70", - "version": "v1.19.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "3fe414077251a81a1b15b1c709faf5c2fbae3d4e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3fe414077251a81a1b15b1c709faf5c2fbae3d4e", - "reference": "3fe414077251a81a1b15b1c709faf5c2fbae3d4e", - "shasum": "" - }, - "require": { - "paragonie/random_compat": "~1.0|~2.0|~9.99", - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.19-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php70\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "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 backporting some PHP 7.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php70/tree/v1.19.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-23T09:01:57+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "88289caa3c166321883f67fe5130188ebbb47094" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094", - "reference": "88289caa3c166321883f67fe5130188ebbb47094", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "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", - "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", - "support": { - "source": "https://github.com/symfony/yaml/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" - }, - "type": "library", - "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" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.9.1" - }, - "time": "2020-07-08T17:02:28+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "pdepend/pdepend": 0, - "phpmd/phpmd": 0 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.0.0" - }, - "platform-dev": [], - "platform-overrides": { - "php": "7.0.33" - }, - "plugin-api-version": "2.2.0" -} From b1984961d5b31023512648f54aa6461743aac237 Mon Sep 17 00:00:00 2001 From: Stefan Krenz Date: Tue, 9 Jan 2024 12:05:45 +0100 Subject: [PATCH 5/6] Downgrade spatie/phpunit-snapshot-assertions --- src/Makaira/Connect/Type.php | 5 + .../Product/VariantAttributesModifierTest.php | 32 +++-- ...with data set Product with variants__1.yml | 52 --------- ...h data set Product without variants__1.yml | 50 -------- ...thcesAttributesFromProductWithVariants.php | 110 ++++++++++++++++++ ...esAttributesFromProductWithoutVariants.php | 83 +++++++++++++ 6 files changed, 222 insertions(+), 110 deletions(-) delete mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml delete mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml create mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php create mode 100644 tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php diff --git a/src/Makaira/Connect/Type.php b/src/Makaira/Connect/Type.php index 20c91409..f88e1776 100644 --- a/src/Makaira/Connect/Type.php +++ b/src/Makaira/Connect/Type.php @@ -45,4 +45,9 @@ public function __unset($name) { unset($this->additionalData[$name]); } + + public static function __set_state(array $args) + { + return new static($args); + } } diff --git a/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php b/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php index 748caf2d..d4ba0660 100644 --- a/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php +++ b/tests/Makaira/Connect/Modifier/Product/VariantAttributesModifierTest.php @@ -36,13 +36,12 @@ public function testThrowsExceptionIfProductIdIsNotSet() * * @return void * @throws ConnectException - * @dataProvider provideDbCallback */ - public function testFethcesAttributes(string $dbCallback) + public function testFethcesAttributesFromProductWithVariants() { $dbMock = $this->createMock(DatabaseInterface::class); $dbMock->method('query') - ->willReturnCallback([$this, $dbCallback]); + ->willReturnCallback([$this, 'productWithVariantsCallback']); $modifier = new VariantAttributesModifier( $dbMock, @@ -57,12 +56,29 @@ public function testFethcesAttributes(string $dbCallback) $this->assertMatchesSnapshot($product); } - public function provideDbCallback() + /** + * @param string $dbCallback + * + * @return void + * @throws ConnectException + */ + public function testFethcesAttributesFromProductWithoutVariants() { - return [ - 'Product with variants' => ['productWithVariantsCallback'], - 'Product without variants' => ['productWithoutVariantsCallback'], - ]; + $dbMock = $this->createMock(DatabaseInterface::class); + $dbMock->method('query') + ->willReturnCallback([$this, 'productWithoutVariantsCallback']); + + $modifier = new VariantAttributesModifier( + $dbMock, + 'OXACTIVE = 1', + ['intAttr', '111ebeb2f08072eef3b164f0dc7ab653'], + ['floatAttr', '01aa4923c4110ef347161f848a9d36aa'] + ); + + $product = new Product(['id' => 'phpunit_product']); + $modifier->apply($product); + + $this->assertMatchesSnapshot($product); } public function productWithVariantsCallback(...$args) diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml deleted file mode 100644 index 0e66f0a3..00000000 --- a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product with variants__1.yml +++ /dev/null @@ -1,52 +0,0 @@ -attributes: - - { f7bd60b75b29d79b660a2859395c1a24: S, 70dda5dfb8053dc6d1c492574bce9bfd: red, 111ebeb2f08072eef3b164f0dc7ab653: 11, 01aa4923c4110ef347161f848a9d36aa: 1.1, a1: p, a2: v1, a3: v2, a4: v3 } - - { f7bd60b75b29d79b660a2859395c1a24: M, 70dda5dfb8053dc6d1c492574bce9bfd: green, 111ebeb2f08072eef3b164f0dc7ab653: 22, 01aa4923c4110ef347161f848a9d36aa: 2.2, a1: p, a2: v1, a3: v2, a4: v3 } - - { f7bd60b75b29d79b660a2859395c1a24: L, 70dda5dfb8053dc6d1c492574bce9bfd: blue, 111ebeb2f08072eef3b164f0dc7ab653: 33, 01aa4923c4110ef347161f848a9d36aa: 3.3, a1: p, a2: v1, a3: v2, a4: v3 } -parent: '' -meta_keywords: null -meta_description: null -selfLinks: { } -maincategory: null -maincategoryurl: null -mak_boost_norm_insert: 0.0 -mak_boost_norm_sold: 0.0 -mak_boost_norm_rating: 0.0 -mak_boost_norm_revenue: 0.0 -mak_boost_norm_profit_margin: 0.0 -isVariant: false -activeto: null -activefrom: null -suggest: { } -category: { } -TRACKING: null -tmpAttributeStr: { } -tmpAttributeInt: { } -tmpAttributeFloat: { } -attributeStr: { } -attributeInt: { } -attributeFloat: { } -isPseudo: false -ean: '' -title: '' -searchkeys: '' -hidden: false -sort: 0 -longdesc: '' -shortdesc: '' -stock: 0 -onstock: false -manufacturerid: '' -manufacturer_title: '' -price: 0.0 -insert: null -soldamount: 0 -rating: 0.0 -searchable: true -picture_url_main: { } -es_id: null -id: phpunit_product -timestamp: null -url: null -active: true -shop: { } -additionalData: { } diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml deleted file mode 100644 index c0c365af..00000000 --- a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributes with data set Product without variants__1.yml +++ /dev/null @@ -1,50 +0,0 @@ -attributes: - - { intAttr: 1337, floatAttr: 13.37, stringAttr: phpunit } -parent: '' -meta_keywords: null -meta_description: null -selfLinks: { } -maincategory: null -maincategoryurl: null -mak_boost_norm_insert: 0.0 -mak_boost_norm_sold: 0.0 -mak_boost_norm_rating: 0.0 -mak_boost_norm_revenue: 0.0 -mak_boost_norm_profit_margin: 0.0 -isVariant: false -activeto: null -activefrom: null -suggest: { } -category: { } -TRACKING: null -tmpAttributeStr: { } -tmpAttributeInt: { } -tmpAttributeFloat: { } -attributeStr: { } -attributeInt: { } -attributeFloat: { } -isPseudo: false -ean: '' -title: '' -searchkeys: '' -hidden: false -sort: 0 -longdesc: '' -shortdesc: '' -stock: 0 -onstock: false -manufacturerid: '' -manufacturer_title: '' -price: 0.0 -insert: null -soldamount: 0 -rating: 0.0 -searchable: true -picture_url_main: { } -es_id: null -id: phpunit_product -timestamp: null -url: null -active: true -shop: { } -additionalData: { } diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php new file mode 100644 index 00000000..12d68388 --- /dev/null +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php @@ -0,0 +1,110 @@ + NULL, + 'id' => 'phpunit_product', + 'timestamp' => NULL, + 'url' => NULL, + 'active' => true, + 'shop' => + array ( + ), + 'additionalData' => + array ( + ), + 'attributeStr' => + array ( + ), + 'attributeInt' => + array ( + ), + 'attributeFloat' => + array ( + ), + 'isPseudo' => false, + 'ean' => '', + 'title' => '', + 'searchkeys' => '', + 'hidden' => false, + 'sort' => 0, + 'longdesc' => '', + 'shortdesc' => '', + 'stock' => 0, + 'onstock' => false, + 'manufacturerid' => '', + 'manufacturer_title' => '', + 'price' => 0.0, + 'insert' => NULL, + 'soldamount' => 0, + 'rating' => 0.0, + 'searchable' => true, + 'picture_url_main' => + array ( + ), + 'attributes' => + array ( + 0 => + array ( + 'f7bd60b75b29d79b660a2859395c1a24' => 'S', + '70dda5dfb8053dc6d1c492574bce9bfd' => 'red', + '111ebeb2f08072eef3b164f0dc7ab653' => 11, + '01aa4923c4110ef347161f848a9d36aa' => 1.1, + 'a1' => 'p', + 'a2' => 'v1', + 'a3' => 'v2', + 'a4' => 'v3', + ), + 1 => + array ( + 'f7bd60b75b29d79b660a2859395c1a24' => 'M', + '70dda5dfb8053dc6d1c492574bce9bfd' => 'green', + '111ebeb2f08072eef3b164f0dc7ab653' => 22, + '01aa4923c4110ef347161f848a9d36aa' => 2.2, + 'a1' => 'p', + 'a2' => 'v1', + 'a3' => 'v2', + 'a4' => 'v3', + ), + 2 => + array ( + 'f7bd60b75b29d79b660a2859395c1a24' => 'L', + '70dda5dfb8053dc6d1c492574bce9bfd' => 'blue', + '111ebeb2f08072eef3b164f0dc7ab653' => 33, + '01aa4923c4110ef347161f848a9d36aa' => 3.3, + 'a1' => 'p', + 'a2' => 'v1', + 'a3' => 'v2', + 'a4' => 'v3', + ), + ), + 'parent' => '', + 'meta_keywords' => NULL, + 'meta_description' => NULL, + 'selfLinks' => + array ( + ), + 'maincategory' => NULL, + 'maincategoryurl' => NULL, + 'mak_boost_norm_insert' => 0.0, + 'mak_boost_norm_sold' => 0.0, + 'mak_boost_norm_rating' => 0.0, + 'mak_boost_norm_revenue' => 0.0, + 'mak_boost_norm_profit_margin' => 0.0, + 'isVariant' => false, + 'activeto' => NULL, + 'activefrom' => NULL, + 'suggest' => + array ( + ), + 'category' => + array ( + ), + 'TRACKING' => NULL, + 'tmpAttributeStr' => + array ( + ), + 'tmpAttributeInt' => + array ( + ), + 'tmpAttributeFloat' => + array ( + ), +)); \ No newline at end of file diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php new file mode 100644 index 00000000..d482698b --- /dev/null +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php @@ -0,0 +1,83 @@ + NULL, + 'id' => 'phpunit_product', + 'timestamp' => NULL, + 'url' => NULL, + 'active' => true, + 'shop' => + array ( + ), + 'additionalData' => + array ( + ), + 'attributeStr' => + array ( + ), + 'attributeInt' => + array ( + ), + 'attributeFloat' => + array ( + ), + 'isPseudo' => false, + 'ean' => '', + 'title' => '', + 'searchkeys' => '', + 'hidden' => false, + 'sort' => 0, + 'longdesc' => '', + 'shortdesc' => '', + 'stock' => 0, + 'onstock' => false, + 'manufacturerid' => '', + 'manufacturer_title' => '', + 'price' => 0.0, + 'insert' => NULL, + 'soldamount' => 0, + 'rating' => 0.0, + 'searchable' => true, + 'picture_url_main' => + array ( + ), + 'attributes' => + array ( + 0 => + array ( + 'intAttr' => 1337, + 'floatAttr' => 13.37, + 'stringAttr' => 'phpunit', + ), + ), + 'parent' => '', + 'meta_keywords' => NULL, + 'meta_description' => NULL, + 'selfLinks' => + array ( + ), + 'maincategory' => NULL, + 'maincategoryurl' => NULL, + 'mak_boost_norm_insert' => 0.0, + 'mak_boost_norm_sold' => 0.0, + 'mak_boost_norm_rating' => 0.0, + 'mak_boost_norm_revenue' => 0.0, + 'mak_boost_norm_profit_margin' => 0.0, + 'isVariant' => false, + 'activeto' => NULL, + 'activefrom' => NULL, + 'suggest' => + array ( + ), + 'category' => + array ( + ), + 'TRACKING' => NULL, + 'tmpAttributeStr' => + array ( + ), + 'tmpAttributeInt' => + array ( + ), + 'tmpAttributeFloat' => + array ( + ), +)); \ No newline at end of file From 3ce12a7e3cebab095c8e30aa554aeb94011cc69f Mon Sep 17 00:00:00 2001 From: Stefan Krenz Date: Tue, 9 Jan 2024 14:39:03 +0100 Subject: [PATCH 6/6] Update tests --- composer.lock | 0 ...sAttributesFromProductWithVariants__1.php} | 84 +++++++++---------- ...tributesFromProductWithoutVariants__1.php} | 84 +++++++++---------- tests/bootstrap.php | 7 ++ 4 files changed, 91 insertions(+), 84 deletions(-) delete mode 100644 composer.lock rename tests/Makaira/Connect/Modifier/Product/__snapshots__/{VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php => VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants__1.php} (96%) rename tests/Makaira/Connect/Modifier/Product/__snapshots__/{VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php => VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants__1.php} (95%) diff --git a/composer.lock b/composer.lock deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants__1.php similarity index 96% rename from tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php rename to tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants__1.php index 12d68388..8b887f98 100644 --- a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants.php +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithVariants__1.php @@ -1,44 +1,4 @@ - NULL, - 'id' => 'phpunit_product', - 'timestamp' => NULL, - 'url' => NULL, - 'active' => true, - 'shop' => - array ( - ), - 'additionalData' => - array ( - ), - 'attributeStr' => - array ( - ), - 'attributeInt' => - array ( - ), - 'attributeFloat' => - array ( - ), - 'isPseudo' => false, - 'ean' => '', - 'title' => '', - 'searchkeys' => '', - 'hidden' => false, - 'sort' => 0, - 'longdesc' => '', - 'shortdesc' => '', - 'stock' => 0, - 'onstock' => false, - 'manufacturerid' => '', - 'manufacturer_title' => '', - 'price' => 0.0, - 'insert' => NULL, - 'soldamount' => 0, - 'rating' => 0.0, - 'searchable' => true, - 'picture_url_main' => - array ( - ), + array ( 0 => @@ -107,4 +67,44 @@ 'tmpAttributeFloat' => array ( ), -)); \ No newline at end of file + 'attributeStr' => + array ( + ), + 'attributeInt' => + array ( + ), + 'attributeFloat' => + array ( + ), + 'isPseudo' => false, + 'ean' => '', + 'title' => '', + 'searchkeys' => '', + 'hidden' => false, + 'sort' => 0, + 'longdesc' => '', + 'shortdesc' => '', + 'stock' => 0, + 'onstock' => false, + 'manufacturerid' => '', + 'manufacturer_title' => '', + 'price' => 0.0, + 'insert' => NULL, + 'soldamount' => 0, + 'rating' => 0.0, + 'searchable' => true, + 'picture_url_main' => + array ( + ), + 'es_id' => NULL, + 'id' => 'phpunit_product', + 'timestamp' => NULL, + 'url' => NULL, + 'active' => true, + 'shop' => + array ( + ), + 'additionalData' => + array ( + ), +)); diff --git a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants__1.php similarity index 95% rename from tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php rename to tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants__1.php index d482698b..6c741020 100644 --- a/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants.php +++ b/tests/Makaira/Connect/Modifier/Product/__snapshots__/VariantAttributesModifierTest__testFethcesAttributesFromProductWithoutVariants__1.php @@ -1,44 +1,4 @@ - NULL, - 'id' => 'phpunit_product', - 'timestamp' => NULL, - 'url' => NULL, - 'active' => true, - 'shop' => - array ( - ), - 'additionalData' => - array ( - ), - 'attributeStr' => - array ( - ), - 'attributeInt' => - array ( - ), - 'attributeFloat' => - array ( - ), - 'isPseudo' => false, - 'ean' => '', - 'title' => '', - 'searchkeys' => '', - 'hidden' => false, - 'sort' => 0, - 'longdesc' => '', - 'shortdesc' => '', - 'stock' => 0, - 'onstock' => false, - 'manufacturerid' => '', - 'manufacturer_title' => '', - 'price' => 0.0, - 'insert' => NULL, - 'soldamount' => 0, - 'rating' => 0.0, - 'searchable' => true, - 'picture_url_main' => - array ( - ), + array ( 0 => @@ -80,4 +40,44 @@ 'tmpAttributeFloat' => array ( ), -)); \ No newline at end of file + 'attributeStr' => + array ( + ), + 'attributeInt' => + array ( + ), + 'attributeFloat' => + array ( + ), + 'isPseudo' => false, + 'ean' => '', + 'title' => '', + 'searchkeys' => '', + 'hidden' => false, + 'sort' => 0, + 'longdesc' => '', + 'shortdesc' => '', + 'stock' => 0, + 'onstock' => false, + 'manufacturerid' => '', + 'manufacturer_title' => '', + 'price' => 0.0, + 'insert' => NULL, + 'soldamount' => 0, + 'rating' => 0.0, + 'searchable' => true, + 'picture_url_main' => + array ( + ), + 'es_id' => NULL, + 'id' => 'phpunit_product', + 'timestamp' => NULL, + 'url' => NULL, + 'active' => true, + 'shop' => + array ( + ), + 'additionalData' => + array ( + ), +)); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 874a60e5..05a11258 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -24,3 +24,10 @@ if (!class_exists('OxidEsales\\EshopCommunity\\Internal\\Container\\ContainerFactory')) { require_once __DIR__ . '/Makaira/Connect/OxidMocks/ContainerFactory.php'; } + +if (!function_exists('str_contains')) { + function str_contains(string $haystack, string $needle): bool + { + return $needle !== '' && mb_strpos($haystack, $needle) !== false; + } +}