diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..a0861cd --- /dev/null +++ b/.drone.yml @@ -0,0 +1,8 @@ +pipeline: + phpcs: + image: composer:latest + commands: + - echo $(date) + - composer install --prefer-dist --no-progress --no-interaction + - vendor/bin/robo check:codestyle + - echo $(date) diff --git a/RoboFile.php b/RoboFile.php index d87d46c..fa3448d 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -1,33 +1,47 @@ taskCodeChecks() ->setBaseRepositoryPath(__DIR__) ->setCodeStyleStandardsFolder($sniffersPath) - ->setCodeStyleCheckFolders(['/src']) + ->setCodeStyleCheckFolders( + array( + 'src' + ) + ) ->checkCodeStyle() ->run() ->stopOnFail(); } -} \ No newline at end of file +} diff --git a/composer.json b/composer.json index 6201a2a..7bfa231 100644 --- a/composer.json +++ b/composer.json @@ -16,14 +16,22 @@ ], "require": { "php" : ">=5.5.9", - "consolidation/robo" : "~1" + "consolidation/robo" : "^1", + "symfony/console" : "~3|~4", + "symfony/filesystem" : "~3|~4", + "symfony/finder" : "~3|~4", + "symfony/process" : "~3|~4", + "symfony/yaml" : "~3|~4" }, "require-dev": { - "joomla-projects/joomla-testing-robo" : "~1.0" + "joomla-projects/joomla-testing-robo" : "dev-container-test", + "codeception/codeception" : "~2.4" }, "autoload": { "psr-4": { "Codeception\\Module\\" : "src" } - } + }, + "minimum-stability" : "dev", + "prefer-stable" : true } diff --git a/composer.lock b/composer.lock index 63d9173..9b8e526 100644 --- a/composer.lock +++ b/composer.lock @@ -1,38 +1,37 @@ { "_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#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "hash": "cb842ef622442a681b76d44a4776b3b8", - "content-hash": "99cb0679ec06f6781afa395039a1633b", + "content-hash": "f1eed94a1458b7bc9b6ecbb365072069", "packages": [ { "name": "consolidation/annotated-command", - "version": "2.2.1", + "version": "2.8.4", "source": { "type": "git", "url": "https://github.com/consolidation/annotated-command.git", - "reference": "cd3bc8eae38abc480e39e7a171171e58f7dc6948" + "reference": "651541a0b68318a2a202bda558a676e5ad92223c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/cd3bc8eae38abc480e39e7a171171e58f7dc6948", - "reference": "cd3bc8eae38abc480e39e7a171171e58f7dc6948", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/651541a0b68318a2a202bda558a676e5ad92223c", + "reference": "651541a0b68318a2a202bda558a676e5ad92223c", "shasum": "" }, "require": { - "consolidation/output-formatters": "^3.1.5", + "consolidation/output-formatters": "^3.1.12", "php": ">=5.4.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "psr/log": "~1", - "symfony/console": "^2.8|~3", - "symfony/event-dispatcher": "^2.5|~3", - "symfony/finder": "^2.5|~3" + "psr/log": "^1", + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4" }, "require-dev": { - "phpunit/phpunit": "4.*", - "satooshi/php-coveralls": "^1.0", + "g1a/composer-test-scenarios": "^2", + "phpunit/phpunit": "^6", + "satooshi/php-coveralls": "^2", "squizlabs/php_codesniffer": "^2.7" }, "type": "library", @@ -57,29 +56,85 @@ } ], "description": "Initialize Symfony Console commands from annotated command class methods.", - "time": "2016-12-14 19:06:04" + "time": "2018-05-25T18:04:25+00:00" + }, + { + "name": "consolidation/config", + "version": "1.0.11", + "source": { + "type": "git", + "url": "https://github.com/consolidation/config.git", + "reference": "ede41d946078e97e7a9513aadc3352f1c26817af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/config/zipball/ede41d946078e97e7a9513aadc3352f1c26817af", + "reference": "ede41d946078e97e7a9513aadc3352f1c26817af", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^1.1.0", + "grasmash/expander": "^1", + "php": ">=5.4.0" + }, + "require-dev": { + "g1a/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4", + "satooshi/php-coveralls": "^1.0", + "squizlabs/php_codesniffer": "2.*", + "symfony/console": "^2.5|^3|^4", + "symfony/yaml": "^2.8.11|^3|^4" + }, + "suggest": { + "symfony/yaml": "Required to use Consolidation\\Config\\Loader\\YamlConfigLoader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Consolidation\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + } + ], + "description": "Provide configuration services for a commandline tool.", + "time": "2018-05-27T01:17:02+00:00" }, { "name": "consolidation/log", - "version": "1.0.3", + "version": "1.0.6", "source": { "type": "git", "url": "https://github.com/consolidation/log.git", - "reference": "74ba81b4edc585616747cc5c5309ce56fec41254" + "reference": "dfd8189a771fe047bf3cd669111b2de5f1c79395" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/log/zipball/74ba81b4edc585616747cc5c5309ce56fec41254", - "reference": "74ba81b4edc585616747cc5c5309ce56fec41254", + "url": "https://api.github.com/repos/consolidation/log/zipball/dfd8189a771fe047bf3cd669111b2de5f1c79395", + "reference": "dfd8189a771fe047bf3cd669111b2de5f1c79395", "shasum": "" }, "require": { "php": ">=5.5.0", "psr/log": "~1.0", - "symfony/console": "~2.5|~3.0" + "symfony/console": "^2.8|^3|^4" }, "require-dev": { + "g1a/composer-test-scenarios": "^1", "phpunit/phpunit": "4.*", + "satooshi/php-coveralls": "^2", "squizlabs/php_codesniffer": "2.*" }, "type": "library", @@ -104,37 +159,43 @@ } ], "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.", - "time": "2016-03-23 23:46:42" + "time": "2018-05-25T18:14:39+00:00" }, { "name": "consolidation/output-formatters", - "version": "3.1.5", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/consolidation/output-formatters.git", - "reference": "cc821a08b7bd89511038aa081625cb5b573960f6" + "reference": "d78ef59aea19d3e2e5a23f90a055155ee78a0ad5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/cc821a08b7bd89511038aa081625cb5b573960f6", - "reference": "cc821a08b7bd89511038aa081625cb5b573960f6", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/d78ef59aea19d3e2e5a23f90a055155ee78a0ad5", + "reference": "d78ef59aea19d3e2e5a23f90a055155ee78a0ad5", "shasum": "" }, "require": { "php": ">=5.4.0", - "symfony/console": "~2.5|~3.0", - "symfony/finder": "~2.5|~3.0", - "victorjonsson/markdowndocs": "^1.3" + "symfony/console": "^2.8|^3|^4", + "symfony/finder": "^2.5|^3|^4" }, "require-dev": { - "phpunit/phpunit": "4.*", - "satooshi/php-coveralls": "^1.0", - "squizlabs/php_codesniffer": "2.*" + "g1a/composer-test-scenarios": "^2", + "phpunit/phpunit": "^5.7.27", + "satooshi/php-coveralls": "^2", + "squizlabs/php_codesniffer": "^2.7", + "symfony/console": "3.2.3", + "symfony/var-dumper": "^2.8|^3|^4", + "victorjonsson/markdowndocs": "^1.3" + }, + "suggest": { + "symfony/var-dumper": "For using the var_dump formatter" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { @@ -153,52 +214,57 @@ } ], "description": "Format text by applying transformations provided by plug-in formatters.", - "time": "2016-11-23 23:10:13" + "time": "2018-05-25T18:02:34+00:00" }, { "name": "consolidation/robo", - "version": "1.0.5", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/consolidation/Robo.git", - "reference": "d06450370e8e303ebd1495dfc956f4c6c1b9dd01" + "reference": "ac563abfadf7cb7314b4e152f2b5033a6c255f6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/Robo/zipball/d06450370e8e303ebd1495dfc956f4c6c1b9dd01", - "reference": "d06450370e8e303ebd1495dfc956f4c6c1b9dd01", + "url": "https://api.github.com/repos/consolidation/Robo/zipball/ac563abfadf7cb7314b4e152f2b5033a6c255f6f", + "reference": "ac563abfadf7cb7314b4e152f2b5033a6c255f6f", "shasum": "" }, "require": { - "consolidation/annotated-command": "^2.2", + "consolidation/annotated-command": "^2.8.2", + "consolidation/config": "^1.0.10", "consolidation/log": "~1", - "consolidation/output-formatters": "^3.1.5", + "consolidation/output-formatters": "^3.1.13", + "grasmash/yaml-expander": "^1.3", "league/container": "^2.2", "php": ">=5.5.0", - "symfony/console": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.5|~3.0", - "symfony/filesystem": "~2.5|~3.0", - "symfony/finder": "~2.5|~3.0", - "symfony/process": "~2.5|~3.0" + "symfony/console": "^2.8|^3|^4", + "symfony/event-dispatcher": "^2.5|^3|^4", + "symfony/filesystem": "^2.5|^3|^4", + "symfony/finder": "^2.5|^3|^4", + "symfony/process": "^2.5|^3|^4" }, "replace": { "codegyre/robo": "< 1.0" }, "require-dev": { - "codeception/aspect-mock": "~1", - "codeception/base": "^2.2.6", + "codeception/aspect-mock": "^1|^2.1.1", + "codeception/base": "^2.3.7", "codeception/verify": "^0.3.2", - "henrikbjorn/lurker": "~1", - "natxet/cssmin": "~3", + "g1a/composer-test-scenarios": "^2", + "goaop/framework": "~2.1.2", + "goaop/parser-reflection": "^1.1.0", + "natxet/cssmin": "3.0.4", + "nikic/php-parser": "^3.1.5", "patchwork/jsqueeze": "~2", "pear/archive_tar": "^1.4.2", "phpunit/php-code-coverage": "~2|~4", - "satooshi/php-coveralls": "~1", - "squizlabs/php_codesniffer": "~2" + "satooshi/php-coveralls": "^2", + "squizlabs/php_codesniffer": "^2.8" }, "suggest": { "henrikbjorn/lurker": "For monitoring filesystem changes in taskWatch", - "natxet/CssMin": "For minifying JS files in taskMinify", + "natxet/CssMin": "For minifying CSS files in taskMinify", "patchwork/jsqueeze": "For minifying JS files in taskMinify", "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively." }, @@ -208,13 +274,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "1.x-dev", + "dev-state": "1.x-dev" } }, "autoload": { - "classmap": [ - "scripts/composer/ScriptHandler.php" - ], "psr-4": { "Robo\\": "src" } @@ -230,22 +294,25 @@ } ], "description": "Modern task runner", - "time": "2016-11-24 02:07:48" + "time": "2018-05-27T01:42:53+00:00" }, { "name": "container-interop/container-interop", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/container-interop/container-interop.git", - "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e" + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/container-interop/container-interop/zipball/fc08354828f8fd3245f77a66b9e23a6bca48297e", - "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", + "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", "shasum": "" }, + "require": { + "psr/container": "^1.0" + }, "type": "library", "autoload": { "psr-4": { @@ -257,45 +324,101 @@ "MIT" ], "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", - "time": "2014-12-30 15:22:37" + "homepage": "https://github.com/container-interop/container-interop", + "time": "2017-02-14T19:40:03+00:00" }, { - "name": "league/container", - "version": "2.2.0", + "name": "dflydev/dot-access-data", + "version": "v1.1.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/container.git", - "reference": "c0e7d947b690891f700dc4967ead7bdb3d6708c1" + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/container/zipball/c0e7d947b690891f700dc4967ead7bdb3d6708c1", - "reference": "c0e7d947b690891f700dc4967ead7bdb3d6708c1", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/3fbd874921ab2c041e899d044585a2ab9795df8a", + "reference": "3fbd874921ab2c041e899d044585a2ab9795df8a", "shasum": "" }, "require": { - "container-interop/container-interop": "^1.1", - "php": ">=5.4.0" + "php": ">=5.3.2" }, - "provide": { - "container-interop/container-interop-implementation": "^1.1" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } }, - "replace": { - "orno/di": "~2.0" + "autoload": { + "psr-0": { + "Dflydev\\DotAccessData": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "time": "2017-01-20T21:14:22+00:00" + }, + { + "name": "grasmash/expander", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/grasmash/expander.git", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/grasmash/expander/zipball/95d6037344a4be1dd5f8e0b0b2571a28c397578f", + "reference": "95d6037344a4be1dd5f8e0b0b2571a28c397578f", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4" }, "require-dev": { - "phpunit/phpunit": "4.*" + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev", - "dev-1.x": "1.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "League\\Container\\": "src" + "Grasmash\\Expander\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -304,56 +427,46 @@ ], "authors": [ { - "name": "Phil Bennett", - "email": "philipobenito@gmail.com", - "homepage": "http://www.philipobenito.com", - "role": "Developer" + "name": "Matthew Grasmick" } ], - "description": "A fast and intuitive dependency injection container.", - "homepage": "https://github.com/thephpleague/container", - "keywords": [ - "container", - "dependency", - "di", - "injection", - "league", - "provider", - "service" - ], - "time": "2016-03-17 11:07:59" + "description": "Expands internal property references in PHP arrays file.", + "time": "2017-12-21T22:14:55+00:00" }, { - "name": "phpdocumentor/reflection-common", - "version": "1.0", + "name": "grasmash/yaml-expander", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + "url": "https://github.com/grasmash/yaml-expander.git", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "url": "https://api.github.com/repos/grasmash/yaml-expander/zipball/3f0f6001ae707a24f4d9733958d77d92bf9693b1", + "reference": "3f0f6001ae707a24f4d9733958d77d92bf9693b1", "shasum": "" }, "require": { - "php": ">=5.5" + "dflydev/dot-access-data": "^1.1.0", + "php": ">=5.4", + "symfony/yaml": "^2.8.11|^3|^4" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "greg-1-anderson/composer-test-scenarios": "^1", + "phpunit/phpunit": "^4.8|^5.5.4", + "satooshi/php-coveralls": "^1.0.2|dev-master", + "squizlabs/php_codesniffer": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "Grasmash\\YamlExpander\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -362,51 +475,50 @@ ], "authors": [ { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" + "name": "Matthew Grasmick" } ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2015-12-27 11:43:31" + "description": "Expands internal property references in a yaml file.", + "time": "2017-12-16T16:06:03+00:00" }, { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", + "name": "league/container", + "version": "2.4.1", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" + "url": "https://github.com/thephpleague/container.git", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", + "url": "https://api.github.com/repos/thephpleague/container/zipball/43f35abd03a12977a60ffd7095efd6a7808488c0", + "reference": "43f35abd03a12977a60ffd7095efd6a7808488c0", "shasum": "" }, "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" + "container-interop/container-interop": "^1.2", + "php": "^5.4.0 || ^7.0" + }, + "provide": { + "container-interop/container-interop-implementation": "^1.2", + "psr/container-implementation": "^1.0" + }, + "replace": { + "orno/di": "~2.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" + "phpunit/phpunit": "4.*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "League\\Container\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -415,34 +527,41 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" + "name": "Phil Bennett", + "email": "philipobenito@gmail.com", + "homepage": "http://www.philipobenito.com", + "role": "Developer" } ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2016-09-30 07:12:33" + "description": "A fast and intuitive dependency injection container.", + "homepage": "https://github.com/thephpleague/container", + "keywords": [ + "container", + "dependency", + "di", + "injection", + "league", + "provider", + "service" + ], + "time": "2017-05-10T09:20:27+00:00" }, { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", + "name": "psr/container", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" + "php": ">=5.3.0" }, "type": "library", "extra": { @@ -452,9 +571,7 @@ }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -463,11 +580,20 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "time": "2016-11-25 06:54:22" + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" }, { "name": "psr/log", @@ -514,43 +640,48 @@ "psr", "psr-3" ], - "time": "2016-10-10 12:19:37" + "time": "2016-10-10T12:19:37+00:00" }, { "name": "symfony/console", - "version": "v3.2.1", + "version": "v4.1.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "d12aa9ca20f4db83ec58410978dab6afcb9d6aaa" + "reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/d12aa9ca20f4db83ec58410978dab6afcb9d6aaa", - "reference": "d12aa9ca20f4db83ec58410978dab6afcb9d6aaa", + "url": "https://api.github.com/repos/symfony/console/zipball/70591cda56b4b47c55776ac78e157c4bb6c8b43f", + "reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", + "php": "^7.1.3", "symfony/polyfill-mbstring": "~1.0" }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" }, "suggest": { - "psr/log": "For using the console logger", + "psr/log-implementation": "For using the console logger", "symfony/event-dispatcher": "", - "symfony/filesystem": "", + "symfony/lock": "", "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -577,42 +708,48 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2016-12-11 14:34:22" + "time": "2018-05-31T10:17:53+00:00" }, { - "name": "symfony/debug", - "version": "v3.2.1", + "name": "symfony/event-dispatcher", + "version": "v4.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "9f923e68d524a3095c5a2ae5fc7220c7cbc12231" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/9f923e68d524a3095c5a2ae5fc7220c7cbc12231", - "reference": "9f923e68d524a3095c5a2ae5fc7220c7cbc12231", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2391ed210a239868e7256eb6921b1bd83f3087b5", + "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5", "shasum": "" }, "require": { - "php": ">=5.5.9", - "psr/log": "~1.0" + "php": "^7.1.3" }, "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "symfony/dependency-injection": "<3.4" }, "require-dev": { - "symfony/class-loader": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -632,47 +769,37 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2016-11-16 22:18:16" + "time": "2018-04-06T07:35:57+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v3.2.1", + "name": "symfony/filesystem", + "version": "v4.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "e8f47a327c2f0fd5aa04fa60af2b693006ed7283" + "url": "https://github.com/symfony/filesystem.git", + "reference": "562bf7005b55fd80d26b582d28e3e10f2dd5ae9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e8f47a327c2f0fd5aa04fa60af2b693006ed7283", - "reference": "e8f47a327c2f0fd5aa04fa60af2b693006ed7283", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/562bf7005b55fd80d26b582d28e3e10f2dd5ae9c", + "reference": "562bf7005b55fd80d26b582d28e3e10f2dd5ae9c", "shasum": "" }, "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -692,36 +819,36 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2016-10-13 06:29:04" + "time": "2018-05-30T07:26:09+00:00" }, { - "name": "symfony/filesystem", - "version": "v3.2.1", + "name": "symfony/finder", + "version": "v4.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "8d4cf7561a5b17e5eb7a02b80d0b8f014a3796d4" + "url": "https://github.com/symfony/finder.git", + "reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8d4cf7561a5b17e5eb7a02b80d0b8f014a3796d4", - "reference": "8d4cf7561a5b17e5eb7a02b80d0b8f014a3796d4", + "url": "https://api.github.com/repos/symfony/finder/zipball/84714b8417d19e4ba02ea78a41a975b3efaafddb", + "reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Filesystem\\": "" + "Symfony\\Component\\Finder\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -741,39 +868,39 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", + "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2016-11-24 00:46:43" + "time": "2018-06-19T21:38:16+00:00" }, { - "name": "symfony/finder", - "version": "v3.2.1", + "name": "symfony/polyfill-ctype", + "version": "v1.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "a69cb5d455b4885ca376dc5bb3e1155cc8c08c4b" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a69cb5d455b4885ca376dc5bb3e1155cc8c08c4b", - "reference": "a69cb5d455b4885ca376dc5bb3e1155cc8c08c4b", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "1.8-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Polyfill\\Ctype\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -781,31 +908,37 @@ "MIT" ], "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" } ], - "description": "Symfony Finder Component", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "time": "2016-12-13 09:39:43" + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2018-04-30T19:57:29+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" + "reference": "3296adf6a6454a050679cde90f95350ad604b171" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", + "reference": "3296adf6a6454a050679cde90f95350ad604b171", "shasum": "" }, "require": { @@ -817,7 +950,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -851,29 +984,29 @@ "portable", "shim" ], - "time": "2016-11-14 01:06:16" + "time": "2018-04-26T10:06:28+00:00" }, { "name": "symfony/process", - "version": "v3.2.1", + "version": "v4.1.1", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "02ea84847aad71be7e32056408bb19f3a616cdd3" + "reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/02ea84847aad71be7e32056408bb19f3a616cdd3", - "reference": "02ea84847aad71be7e32056408bb19f3a616cdd3", + "url": "https://api.github.com/repos/symfony/process/zipball/1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a", + "reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -900,37 +1033,48 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2016-11-24 10:40:28" + "time": "2018-05-31T10:17:53+00:00" }, { - "name": "victorjonsson/markdowndocs", - "version": "1.3.7", + "name": "symfony/yaml", + "version": "v4.1.1", "source": { "type": "git", - "url": "https://github.com/victorjonsson/PHP-Markdown-Documentation-Generator.git", - "reference": "a8244617cdce4804cd94ea508c82e8d7e29a273a" + "url": "https://github.com/symfony/yaml.git", + "reference": "80e4bfa9685fc4a09acc4a857ec16974a9cd944e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/victorjonsson/PHP-Markdown-Documentation-Generator/zipball/a8244617cdce4804cd94ea508c82e8d7e29a273a", - "reference": "a8244617cdce4804cd94ea508c82e8d7e29a273a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/80e4bfa9685fc4a09acc4a857ec16974a9cd944e", + "reference": "80e4bfa9685fc4a09acc4a857ec16974a9cd944e", "shasum": "" }, "require": { - "php": ">=5.5.0", - "symfony/console": ">=2.6" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" }, "require-dev": { - "phpunit/phpunit": "3.7.23" + "symfony/console": "~3.4|~4.0" }, - "bin": [ - "bin/phpdoc-md" - ], - "type": "library", - "autoload": { - "psr-0": { - "PHPDocsMD": "src/" - } + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -938,44 +1082,54 @@ ], "authors": [ { - "name": "Victor Jonsson", - "email": "kontakt@victorjonsson.se" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Command line tool for generating markdown-formatted class documentation", - "homepage": "https://github.com/victorjonsson/PHP-Markdown-Documentation-Generator", - "time": "2016-10-11 21:10:19" - }, + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2018-05-30T07:26:09+00:00" + } + ], + "packages-dev": [ { - "name": "webmozart/assert", - "version": "1.2.0", + "name": "behat/gherkin", + "version": "v4.5.1", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + "url": "https://github.com/Behat/Gherkin.git", + "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a", + "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": ">=5.3.1" }, "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3", + "symfony/yaml": "~2.3|~3" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" + "psr-0": { + "Behat\\Gherkin": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -984,32 +1138,35 @@ ], "authors": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Assertions to validate method input/output with nice error messages.", + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", "keywords": [ - "assert", - "check", - "validate" + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" ], - "time": "2016-11-23 20:04:58" - } - ], - "packages-dev": [ + "time": "2017-08-30T11:04:43+00:00" + }, { "name": "cloudinary/cloudinary_php", - "version": "1.4.2", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/cloudinary/cloudinary_php.git", - "reference": "327f2db5767ceb8a19d51785e1b60e86674a6a2e" + "reference": "aca317781ec1ad6614187a73dd0058026a02474e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cloudinary/cloudinary_php/zipball/327f2db5767ceb8a19d51785e1b60e86674a6a2e", - "reference": "327f2db5767ceb8a19d51785e1b60e86674a6a2e", + "url": "https://api.github.com/repos/cloudinary/cloudinary_php/zipball/aca317781ec1ad6614187a73dd0058026a02474e", + "reference": "aca317781ec1ad6614187a73dd0058026a02474e", "shasum": "" }, "require": { @@ -1018,7 +1175,7 @@ "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "4.7.*" + "phpunit/phpunit": "4.8.*" }, "type": "library", "autoload": { @@ -1048,7 +1205,288 @@ "image management", "sdk" ], - "time": "2016-10-27 22:02:47" + "time": "2018-05-10T14:02:04+00:00" + }, + { + "name": "codeception/codeception", + "version": "2.4.3", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "13b2db0d54068afaabf3ca8ac8b6591d69018f46" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/13b2db0d54068afaabf3ca8ac8b6591d69018f46", + "reference": "13b2db0d54068afaabf3ca8ac8b6591d69018f46", + "shasum": "" + }, + "require": { + "behat/gherkin": "^4.4.0", + "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", + "codeception/stub": "^2.0", + "ext-json": "*", + "ext-mbstring": "*", + "facebook/webdriver": ">=1.1.3 <2.0", + "guzzlehttp/guzzle": ">=4.1.4 <7.0", + "guzzlehttp/psr7": "~1.0", + "php": ">=5.6.0 <8.0", + "symfony/browser-kit": ">=2.7 <5.0", + "symfony/console": ">=2.7 <5.0", + "symfony/css-selector": ">=2.7 <5.0", + "symfony/dom-crawler": ">=2.7 <5.0", + "symfony/event-dispatcher": ">=2.7 <5.0", + "symfony/finder": ">=2.7 <5.0", + "symfony/yaml": ">=2.7 <5.0" + }, + "require-dev": { + "codeception/specify": "~0.3", + "facebook/graph-sdk": "~5.3", + "flow/jsonpath": "~0.2", + "monolog/monolog": "~1.8", + "pda/pheanstalk": "~3.0", + "php-amqplib/php-amqplib": "~2.4", + "predis/predis": "^1.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": ">=2.7 <5.0", + "vlucas/phpdotenv": "^2.4.0" + }, + "suggest": { + "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module", + "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests", + "codeception/specify": "BDD-style code blocks", + "codeception/verify": "BDD-style assertions", + "flow/jsonpath": "For using JSONPath in REST module", + "league/factory-muffin": "For DataFactory module", + "league/factory-muffin-faker": "For Faker support in DataFactory module", + "phpseclib/phpseclib": "for SFTP option in FTP Module", + "stecman/symfony-console-completion": "For BASH autocompletion", + "symfony/phpunit-bridge": "For phpunit-bridge support" + }, + "bin": [ + "codecept" + ], + "type": "library", + "extra": { + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Codeception\\": "src\\Codeception", + "Codeception\\Extension\\": "ext" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + } + ], + "description": "BDD-style testing framework", + "homepage": "http://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "time": "2018-06-26T14:09:28+00:00" + }, + { + "name": "codeception/phpunit-wrapper", + "version": "7.1.4", + "source": { + "type": "git", + "url": "https://github.com/Codeception/phpunit-wrapper.git", + "reference": "f18ed631f1eddbb603d72219f577d223b23a1f89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/f18ed631f1eddbb603d72219f577d223b23a1f89", + "reference": "f18ed631f1eddbb603d72219f577d223b23a1f89", + "shasum": "" + }, + "require": { + "phpunit/php-code-coverage": "^6.0", + "phpunit/phpunit": "^7.1", + "sebastian/comparator": "^3.0", + "sebastian/diff": "^3.0" + }, + "require-dev": { + "codeception/specify": "*", + "vlucas/phpdotenv": "^2.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\PHPUnit\\": "src\\" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + } + ], + "description": "PHPUnit classes used by Codeception", + "time": "2018-06-20T20:07:21+00:00" + }, + { + "name": "codeception/stub", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Stub.git", + "reference": "b2eff325d8ff0b824ff659048be7be4e5767d7d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/b2eff325d8ff0b824ff659048be7be4e5767d7d0", + "reference": "b2eff325d8ff0b824ff659048be7be4e5767d7d0", + "shasum": "" + }, + "require": { + "phpunit/phpunit-mock-objects": ">2.3 <7.0" + }, + "require-dev": { + "phpunit/phpunit": ">=4.8 <8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "time": "2018-05-18T14:33:08+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "^6.2.3", + "squizlabs/php_codesniffer": "^3.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2017-07-22T11:58:36+00:00" + }, + { + "name": "facebook/webdriver", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-webdriver.git", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e", + "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2018-05-16T17:37:13+00:00" }, { "name": "guzzle/guzzle", @@ -1141,147 +1579,1747 @@ "web service" ], "abandoned": "guzzlehttp/guzzle", - "time": "2014-01-28 22:29:15" + "time": "2014-01-28T22:29:15+00:00" }, { - "name": "joomla-projects/joomla-testing-robo", - "version": "1.0.1", + "name": "guzzlehttp/guzzle", + "version": "6.3.3", "source": { "type": "git", - "url": "https://github.com/joomla-projects/joomla-testing-robo.git", - "reference": "6d459ea7c3293b907e59429e077dea1367658f68" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-projects/joomla-testing-robo/zipball/6d459ea7c3293b907e59429e077dea1367658f68", - "reference": "6d459ea7c3293b907e59429e077dea1367658f68", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", "shasum": "" }, "require": { - "cloudinary/cloudinary_php": "~1", - "consolidation/robo": "~1", - "knplabs/github-api": "~1", - "php": ">=5.4.0", - "squizlabs/php_codesniffer": "~1" + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" }, - "replace": { - "joomla-projects/robo": "< 1.0" + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-dev" + } + }, "autoload": { + "files": [ + "src/functions_include.php" + ], "psr-4": { - "Joomla\\Testing\\Robo\\": "src/" + "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "GPL-2.0+" + "MIT" ], "authors": [ { - "name": "Tito Alvarez", - "email": "tito.alvarez@community.joomla.org" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "Joomla automated testing swiss knife", + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", "keywords": [ - "qa", - "robo", - "task", - "tests" + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" ], - "time": "2016-12-14 20:43:15" + "time": "2018-04-22T15:46:56+00:00" }, { - "name": "knplabs/github-api", - "version": "1.7.1", + "name": "guzzlehttp/promises", + "version": "v1.3.1", "source": { "type": "git", - "url": "https://github.com/KnpLabs/php-github-api.git", - "reference": "98d0bcd2c4c96a40ded9081f8f6289907f73823c" + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/98d0bcd2c4c96a40ded9081f8f6289907f73823c", - "reference": "98d0bcd2c4c96a40ded9081f8f6289907f73823c", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", "shasum": "" }, "require": { - "ext-curl": "*", - "guzzle/guzzle": "~3.7", - "php": ">=5.3.2" + "php": ">=5.5.0" }, "require-dev": { - "phpunit/phpunit": "~4.0", - "sllh/php-cs-fixer-styleci-bridge": "~1.3" - }, - "suggest": { - "knplabs/gaufrette": "Needed for optional Gaufrette cache" + "phpunit/phpunit": "^4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.4-dev" } }, "autoload": { "psr-4": { - "Github\\": "lib/Github/" - } - }, - "notification-url": "https://packagist.org/downloads/", + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "joomla-projects/joomla-testing", + "version": "dev-container-test", + "source": { + "type": "git", + "url": "https://github.com/joomla-projects/joomla-testing.git", + "reference": "705c7aeed75c181f3b7ad15a7af419173c867923" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/joomla-projects/joomla-testing/zipball/705c7aeed75c181f3b7ad15a7af419173c867923", + "reference": "705c7aeed75c181f3b7ad15a7af419173c867923", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "consolidation/robo": "~1", + "joomla-projects/joomla-testing-robo": "dev-container-test", + "joomla-projects/virtualisation": "dev-container-test", + "symfony/process": "~3", + "symfony/yaml": "^3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Joomla\\Testing\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Tito Alvarez", + "email": "tito.alvarez@community.joomla.org" + } + ], + "description": "Joomla automated testing scripts with container capabilities", + "keywords": [ + "containers", + "docker", + "qa", + "robo", + "task", + "tests" + ], + "time": "2017-08-24T14:09:45+00:00" + }, + { + "name": "joomla-projects/joomla-testing-robo", + "version": "dev-container-test", + "source": { + "type": "git", + "url": "https://github.com/joomla-projects/joomla-testing-robo.git", + "reference": "8a44d557f43357f6da3d440bd2689949a9424129" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/joomla-projects/joomla-testing-robo/zipball/8a44d557f43357f6da3d440bd2689949a9424129", + "reference": "8a44d557f43357f6da3d440bd2689949a9424129", + "shasum": "" + }, + "require": { + "cloudinary/cloudinary_php": "~1", + "consolidation/robo": "~1", + "guzzlehttp/guzzle": "~6.3", + "joomla-projects/joomla-testing": "dev-container-test", + "knplabs/github-api": "~1", + "php": ">=5.4.0", + "squizlabs/php_codesniffer": "~2" + }, + "replace": { + "joomla-projects/robo": "< 1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Joomla\\Testing\\Robo\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Tito Alvarez", + "email": "tito.alvarez@community.joomla.org" + } + ], + "description": "Joomla automated testing swiss knife", + "keywords": [ + "qa", + "robo", + "task", + "tests" + ], + "time": "2018-01-05T05:43:27+00:00" + }, + { + "name": "knplabs/github-api", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/KnpLabs/php-github-api.git", + "reference": "98d0bcd2c4c96a40ded9081f8f6289907f73823c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/98d0bcd2c4c96a40ded9081f8f6289907f73823c", + "reference": "98d0bcd2c4c96a40ded9081f8f6289907f73823c", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "guzzle/guzzle": "~3.7", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "sllh/php-cs-fixer-styleci-bridge": "~1.3" + }, + "suggest": { + "knplabs/gaufrette": "Needed for optional Gaufrette cache" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Github\\": "lib/Github/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thibault Duplessis", + "email": "thibault.duplessis@gmail.com", + "homepage": "http://ornicar.github.com" + }, + { + "name": "KnpLabs Team", + "homepage": "http://knplabs.com" + } + ], + "description": "GitHub API v3 client", + "homepage": "https://github.com/KnpLabs/php-github-api", + "keywords": [ + "api", + "gh", + "gist", + "github" + ], + "time": "2016-07-26T08:49:38+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2018-06-11T23:09:50+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" + }, + { + "name": "phar-io/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2017-07-14T14:27:02+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.7.6", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", + "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2018-04-18T13:57:24+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "6.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "4cab20a326d14de7575a8e235c70d879b569a57a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4cab20a326d14de7575a8e235c70d879b569a57a", + "reference": "4cab20a326d14de7575a8e235c70d879b569a57a", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.1", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^3.0", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.1", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "suggest": { + "ext-xdebug": "^2.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2018-05-28T11:49:20+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" + ], + "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" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", + "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2018-02-01T13:07:23+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", + "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2018-02-01T13:16:43+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "7.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "ca64dba53b88aba6af32aebc6b388068db95c435" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ca64dba53b88aba6af32aebc6b388068db95c435", + "reference": "ca64dba53b88aba6af32aebc6b388068db95c435", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.1", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^6.0.1", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^2.0", + "phpunit/phpunit-mock-objects": "^6.1.1", + "sebastian/comparator": "^3.0", + "sebastian/diff": "^3.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "^2.0" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2018-04-29T15:09:19+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "6.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "f9756fd4f43f014cb2dca98deeaaa8ce5500a36e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/f9756fd4f43f014cb2dca98deeaaa8ce5500a36e", + "reference": "f9756fd4f43f014cb2dca98deeaaa8ce5500a36e", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.5", + "php": "^7.1", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2018-05-29T13:54:20+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, + { + "name": "sebastian/comparator", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "591a30922f54656695e59b1f39501aec513403da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/591a30922f54656695e59b1f39501aec513403da", + "reference": "591a30922f54656695e59b1f39501aec513403da", + "shasum": "" + }, + "require": { + "php": "^7.1", + "sebastian/diff": "^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-06-14T15:05:28+00:00" + }, + { + "name": "sebastian/diff", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "366541b989927187c4ca70490a35615d3fef2dce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/366541b989927187c4ca70490a35615d3fef2dce", + "reference": "366541b989927187c4ca70490a35615d3fef2dce", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0", + "symfony/process": "^2 || ^3.3 || ^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "time": "2018-06-10T07:54:39+00:00" + }, + { + "name": "sebastian/environment", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2017-07-01T08:51:00+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2017-04-03T13:19:02+00:00" + }, + { + "name": "sebastian/global-state", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2017-04-27T15:39:26+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "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": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Thibault Duplessis", - "email": "thibault.duplessis@gmail.com", - "homepage": "http://ornicar.github.com" - }, - { - "name": "KnpLabs Team", - "homepage": "http://knplabs.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "GitHub API v3 client", - "homepage": "https://github.com/KnpLabs/php-github-api", - "keywords": [ - "api", - "gh", - "gist", - "github" + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "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" + } ], - "time": "2016-07-26 08:49:38" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "1.5.6", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5" + "reference": "dcbed1074f8244661eecddfc2a675430d8d33f62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6f3e42d311b882b25b4d409d23a289f4d3b803d5", - "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/dcbed1074f8244661eecddfc2a675430d8d33f62", + "reference": "dcbed1074f8244661eecddfc2a675430d8d33f62", "shasum": "" }, "require": { + "ext-simplexml": "*", "ext-tokenizer": "*", + "ext-xmlwriter": "*", "php": ">=5.1.2" }, - "suggest": { - "phpunit/php-timer": "dev-master" + "require-dev": { + "phpunit/phpunit": "~4.0" }, "bin": [ - "scripts/phpcs" + "scripts/phpcs", + "scripts/phpcbf" ], "type": "library", "extra": { "branch-alias": { - "dev-phpcs-fixer": "2.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -1290,12 +3328,12 @@ "CodeSniffer/CLI.php", "CodeSniffer/Exception.php", "CodeSniffer/File.php", + "CodeSniffer/Fixer.php", "CodeSniffer/Report.php", "CodeSniffer/Reporting.php", "CodeSniffer/Sniff.php", "CodeSniffer/Tokens.php", "CodeSniffer/Reports/", - "CodeSniffer/CommentParser/", "CodeSniffer/Tokenizers/", "CodeSniffer/DocGenerators/", "CodeSniffer/Standards/AbstractPatternSniff.php", @@ -1321,19 +3359,278 @@ "role": "lead" } ], - "description": "PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", "homepage": "http://www.squizlabs.com/php-codesniffer", "keywords": [ "phpcs", "standards" ], - "time": "2014-12-04 22:32:15" + "time": "2017-05-22T02:43:20+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "ff9ac5d5808a530b2e7f6abcf3a2412d4f9bcd62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/ff9ac5d5808a530b2e7f6abcf3a2412d4f9bcd62", + "reference": "ff9ac5d5808a530b2e7f6abcf3a2412d4f9bcd62", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/dom-crawler": "~3.4|~4.0" + }, + "require-dev": { + "symfony/css-selector": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "time": "2018-06-04T17:31:56+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/03ac71606ecb0b0ce792faa17d74cc32c2949ef4", + "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2018-05-30T07:26:09+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "3350cacf151b48d903114ab8f7a4ccb23e07e10a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/3350cacf151b48d903114ab8f7a4ccb23e07e10a", + "reference": "3350cacf151b48d903114ab8f7a4ccb23e07e10a", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~3.4|~4.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2018-05-01T23:02:13+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2017-04-07T12:08:54+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-01-29T19:49:41+00:00" } ], "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, + "minimum-stability": "dev", + "stability-flags": { + "joomla-projects/joomla-testing-robo": 20 + }, + "prefer-stable": true, "prefer-lowest": false, "platform": { "php": ">=5.5.9" diff --git a/src/JoomlaBrowser.php b/src/JoomlaBrowser.php index 1586c47..e5432eb 100644 --- a/src/JoomlaBrowser.php +++ b/src/JoomlaBrowser.php @@ -2,14 +2,13 @@ /** * @package JoomlaBrowser * - * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved. + * @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Codeception\Module; use Codeception\Module\Locators\Locators; -use Codeception\Module\WebDriver; use Codeception\Lib\ModuleContainer; const TIMEOUT = 60; @@ -110,6 +109,7 @@ protected function instantiateLocator() * @return void * * @since 3.0.0 + * @throws \Exception */ public function doAdministratorLogin($user = null, $password = null, $useSnapshot = true) { @@ -117,14 +117,17 @@ public function doAdministratorLogin($user = null, $password = null, $useSnapsho { $user = $this->config['username']; } + if (is_null($password)) { $password = $this->config['password']; } + if ($useSnapshot && $this->loadSessionSnapshot($user)) { return; } + $this->debug('I open Joomla Administrator Login Page'); $this->amOnPage($this->locator->adminLoginPageUrl); $this->waitForElement($this->locator->adminLoginUserName, TIMEOUT); @@ -132,12 +135,15 @@ public function doAdministratorLogin($user = null, $password = null, $useSnapsho $this->fillField($this->locator->adminLoginUserName, $user); $this->debug('Fill Password Text Field'); $this->fillField($this->locator->adminLoginPassword, $password); + // @todo: update login button in joomla login screen to make this xPath more friendly $this->debug('I click Login button'); $this->click($this->locator->adminLoginButton); $this->debug('I wait to see Administrator Control Panel'); $this->waitForText($this->locator->adminControlPanelText, 4, $this->locator->controlPanelLocator); - if ($useSnapshot) { + + if ($useSnapshot) + { $this->saveSessionSnapshot($user); } } @@ -151,6 +157,7 @@ public function doAdministratorLogin($user = null, $password = null, $useSnapsho * @return void * * @since 3.0.0 + * @throws \Exception */ public function doFrontEndLogin($user = null, $password = null) { @@ -185,6 +192,7 @@ public function doFrontEndLogin($user = null, $password = null) * @return void * * @since 3.0.0 + * @throws \Exception */ public function doFrontendLogout() { @@ -207,6 +215,7 @@ public function doFrontendLogout() * @return void * * @since 3.0.0 + * @throws \Exception */ public function installJoomla($databaseName = null, $databasePrefix = null) { @@ -222,9 +231,11 @@ public function installJoomla($databaseName = null, $databasePrefix = null) $this->debug('I open Joomla Installation Configuration Page'); $this->amOnPage('/installation/index.php'); - $this->debug('I check that FTP tab is not present in installation. Otherwise it means that I have not enough ' - . 'permissions to install joomla and execution will be stopped'); - $this->dontSeeElement(['id' => 'ftp']); + $this->debug( + 'I check that FTP tab is not present in installation. Otherwise it means that I have not enough ' + . 'permissions to install joomla and execution will be stopped' + ); + $this->dontSeeElement(array('id' => 'ftp')); // I Wait for the text Main Configuration, meaning that the page is loaded $this->debug('I wait for Main Configuration'); @@ -244,61 +255,61 @@ public function installJoomla($databaseName = null, $databasePrefix = null) $this->selectOptionInChosenWithTextField('#jform_language', 'English (United Kingdom)'); $this->waitForText('Main Configuration', TIMEOUT, 'h3'); $this->debug('I fill Site Name'); - $this->fillField(['id' => 'jform_site_name'], 'Joomla CMS test'); + $this->fillField(array('id' => 'jform_site_name'), 'Joomla CMS test'); $this->debug('I fill Site Description'); - $this->fillField(['id' => 'jform_site_metadesc'], 'Site for testing Joomla CMS'); + $this->fillField(array('id' => 'jform_site_metadesc'), 'Site for testing Joomla CMS'); // I get the configuration from acceptance.suite.yml (see: tests/_support/acceptancehelper.php) $this->debug('I fill Admin Email'); - $this->fillField(['id' => 'jform_admin_email'], $this->config['admin email']); + $this->fillField(array('id' => 'jform_admin_email'), $this->config['admin email']); $this->debug('I fill Admin Username'); - $this->fillField(['id' => 'jform_admin_user'], $this->config['username']); + $this->fillField(array('id' => 'jform_admin_user'), $this->config['username']); $this->debug('I fill Admin Password'); - $this->fillField(['id' => 'jform_admin_password'], $this->config['password']); + $this->fillField(array('id' => 'jform_admin_password'), $this->config['password']); $this->debug('I fill Admin Password Confirmation'); - $this->fillField(['id' => 'jform_admin_password2'], $this->config['password']); + $this->fillField(array('id' => 'jform_admin_password2'), $this->config['password']); $this->debug('I click Site Offline: no'); // ['No Site Offline'] - $this->click(['xpath' => "//fieldset[@id='jform_site_offline']/label[@for='jform_site_offline1']"]); + $this->click(array('xpath' => "//fieldset[@id='jform_site_offline']/label[@for='jform_site_offline1']")); $this->debug('I click Next'); - $this->click(['link' => 'Next']); + $this->click(array('link' => 'Next')); $this->debug('I Fill the form for creating the Joomla site Database'); - $this->waitForText('Database Configuration', TIMEOUT, ['css' => 'h3']); + $this->waitForText('Database Configuration', TIMEOUT, array('css' => 'h3')); $this->debug('I select MySQLi'); - $this->selectOption(['id' => 'jform_db_type'], $this->config['database type']); + $this->selectOption(array('id' => 'jform_db_type'), $this->config['database type']); $this->debug('I fill Database Host'); - $this->fillField(['id' => 'jform_db_host'], $this->config['database host']); + $this->fillField(array('id' => 'jform_db_host'), $this->config['database host']); $this->debug('I fill Database User'); - $this->fillField(['id' => 'jform_db_user'], $this->config['database user']); + $this->fillField(array('id' => 'jform_db_user'), $this->config['database user']); $this->debug('I fill Database Password'); - $this->fillField(['id' => 'jform_db_pass'], $this->config['database password']); + $this->fillField(array('id' => 'jform_db_pass'), $this->config['database password']); $this->debug('I fill Database Name'); - $this->fillField(['id' => 'jform_db_name'], $databaseName); + $this->fillField(array('id' => 'jform_db_name'), $databaseName); $this->debug('I fill Database Prefix'); - $this->fillField(['id' => 'jform_db_prefix'], $databasePrefix); + $this->fillField(array('id' => 'jform_db_prefix'), $databasePrefix); $this->debug('I click Remove Old Database '); $this->selectOptionInRadioField('Old Database Process', 'Remove'); $this->debug('I click Next'); - $this->click(['link' => 'Next']); + $this->click(array('link' => 'Next')); $this->debug('I wait Joomla to remove the old database if exist'); $this->wait(1); - $this->waitForElementVisible(['id' => 'jform_sample_file-lbl'], 30); + $this->waitForElementVisible(array('id' => 'jform_sample_file-lbl'), 30); $this->debug('I install joomla with or without sample data'); - $this->waitForText('Finalisation', TIMEOUT, ['xpath' => '//h3']); + $this->waitForText('Finalisation', TIMEOUT, array('xpath' => '//h3')); // @todo: installation of sample data needs to be created // No sample data - $this->selectOption(['id' => 'jform_sample_file'], ['id' => 'jform_sample_file0']); - $this->click(['link' => 'Install']); + $this->selectOption(array('id' => 'jform_sample_file'), array('id' => 'jform_sample_file0')); + $this->click(array('link' => 'Install')); // Wait while Joomla gets installed $this->debug('I wait for Joomla being installed'); - $this->waitForText('Congratulations! Joomla! is now installed.', TIMEOUT, ['xpath' => '//h3']); + $this->waitForText('Congratulations! Joomla! is now installed.', TIMEOUT, array('xpath' => '//h3')); } /** @@ -310,13 +321,14 @@ public function installJoomla($databaseName = null, $databasePrefix = null) * @return void * * @since 3.0.0 + * @throws \Exception */ public function installJoomlaRemovingInstallationFolder($databaseName = null, $databasePrefix = null) { $this->installJoomla($databaseName, $databasePrefix); $this->debug('Removing Installation Folder'); - $this->click(['xpath' => "//input[@value='Remove \"installation\" folder']"]); + $this->click(array('xpath' => "//input[@value='Remove \"installation\" folder']")); $this->debug('I wait for Removing Installation Folder button to become disabled'); $this->waitForJS("return jQuery('form#adminForm input[name=instDefault]').attr('disabled') == 'disabled';", TIMEOUT); @@ -328,7 +340,7 @@ public function installJoomlaRemovingInstallationFolder($databaseName = null, $d /** * Installs Joomla with Multilingual Feature active * - * @param array $languages Array containing the language names to be installed + * @param array $languages Array containing the language names to be installed * @param string|null $databaseName Optional Database Name. If not passed the one in acceptance.suite.yml will be used * @param string|null $databasePrefix Optional Database Prefix. If not passed the one in acceptance.suite.yml will be used * @@ -337,6 +349,7 @@ public function installJoomlaRemovingInstallationFolder($databaseName = null, $d * @return void * * @since 3.0.0 + * @throws \Exception */ public function installJoomlaMultilingualSite($languages = array(), $databaseName = null, $databasePrefix = null) { @@ -349,26 +362,26 @@ public function installJoomlaMultilingualSite($languages = array(), $databaseNam $this->installJoomla($databaseName, $databasePrefix); $this->debug('I go to Install Languages page'); - $this->click(['id' => 'instLangs']); - $this->waitForText('Install Language packages', TIMEOUT, ['xpath' => '//h3']); + $this->click(array('id' => 'instLangs')); + $this->waitForText('Install Language packages', TIMEOUT, array('xpath' => '//h3')); foreach ($languages as $language) { $this->debug('I mark the checkbox of the language: ' . $language); - $this->click(['xpath' => "//label[contains(text()[normalize-space()], '$language')]"]); + $this->click(array('xpath' => "//label[contains(text()[normalize-space()], '$language')]")); } - $this->click(['link' => 'Next']); - $this->waitForText('Multilingual', TIMEOUT, ['xpath' => '//h3']); + $this->click(array('link' => 'Next')); + $this->waitForText('Multilingual', TIMEOUT, array('xpath' => '//h3')); $this->selectOptionInRadioField('Activate the multilingual feature', 'Yes'); - $this->waitForElementVisible(['id' => 'jform_activatePluginLanguageCode-lbl']); + $this->waitForElementVisible(array('id' => 'jform_activatePluginLanguageCode-lbl')); $this->selectOptionInRadioField('Install localised content', 'Yes'); $this->selectOptionInRadioField('Enable the language code plugin', 'Yes'); - $this->click(['link' => 'Next']); + $this->click(array('link' => 'Next')); - $this->waitForText('Congratulations! Joomla! is now installed.', TIMEOUT, ['xpath' => '//h3']); + $this->waitForText('Congratulations! Joomla! is now installed.', TIMEOUT, array('xpath' => '//h3')); $this->debug('Removing Installation Folder'); - $this->click(['xpath' => "//input[@value='Remove \"installation\" folder']"]); + $this->click(array('xpath' => "//input[@value='Remove \"installation\" folder']")); // @todo https://github.com/joomla-projects/joomla-browser/issues/45 $this->wait(2); @@ -384,21 +397,22 @@ public function installJoomlaMultilingualSite($languages = array(), $databaseNam * @return void * * @since 3.0.0 + * @throws \Exception */ public function setErrorReportingToDevelopment() { $this->debug('I open Joomla Global Configuration Page'); $this->amOnPage('/administrator/index.php?option=com_config'); $this->debug('I wait for Global Configuration title'); - $this->waitForText('Global Configuration', TIMEOUT, ['css' => '.page-title']); + $this->waitForText('Global Configuration', TIMEOUT, array('css' => '.page-title')); $this->debug('I open the Server Tab'); - $this->click(['link' => 'Server']); + $this->click(array('link' => 'Server')); $this->debug('I wait for error reporting dropdown'); $this->selectOptionInChosen('Error Reporting', 'Development'); $this->debug('I click on save'); - $this->click(['xpath' => "//div[@id='toolbar-apply']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-apply']//button")); $this->debug('I wait for global configuration being saved'); - $this->waitForText('Global Configuration', TIMEOUT, ['css' => '.page-title']); + $this->waitForText('Global Configuration', TIMEOUT, array('css' => '.page-title')); $this->see('Configuration saved.', '#system-message-container'); } @@ -415,6 +429,7 @@ public function setErrorReportingToDevelopment() * @return void * * @since 3.0.0 + * @throws \Exception */ public function installExtensionFromDirectory($path, $type = 'Extension') { @@ -433,16 +448,17 @@ public function installExtensionFromDirectory($path, $type = 'Extension') * @return void * * @since 3.0.0 + * @throws \Exception */ public function installExtensionFromFolder($path, $type = 'Extension') { $this->amOnPage('/administrator/index.php?option=com_installer'); - $this->waitForText('Extensions: Install', '30', ['css' => 'H1']); - $this->click(['link' => 'Install from Folder']); + $this->waitForText('Extensions: Install', '30', array('css' => 'H1')); + $this->click(array('link' => 'Install from Folder')); $this->debug('I enter the Path'); - $this->fillField(['id' => 'install_directory'], $path); - $this->click(['id' => 'installbutton_directory']); - $this->waitForText('was successful', TIMEOUT, ['id' => 'system-message-container']); + $this->fillField(array('id' => 'install_directory'), $path); + $this->click(array('id' => 'installbutton_directory')); + $this->waitForText('was successful', TIMEOUT, array('id' => 'system-message-container')); $this->debug("$type successfully installed from $path"); } @@ -457,16 +473,17 @@ public function installExtensionFromFolder($path, $type = 'Extension') * @return void * * @since 3.0.0 + * @throws \Exception */ public function installExtensionFromUrl($url, $type = 'Extension') { $this->amOnPage('/administrator/index.php?option=com_installer'); - $this->waitForText('Extensions: Install', '30', ['css' => 'H1']); - $this->click(['link' => 'Install from URL']); + $this->waitForText('Extensions: Install', '30', array('css' => 'H1')); + $this->click(array('link' => 'Install from URL')); $this->debug('I enter the url'); - $this->fillField(['id' => 'install_url'], $url); - $this->click(['id' => 'installbutton_url']); - $this->waitForText('was successful', '30', ['id' => 'system-message-container']); + $this->fillField(array('id' => 'install_url'), $url); + $this->click(array('id' => 'installbutton_url')); + $this->waitForText('was successful', '30', array('id' => 'system-message-container')); if ($type == 'Extension') { @@ -492,7 +509,8 @@ public function installExtensionFromUrl($url, $type = 'Extension') * * {@internal doAdminLogin() before} * - * @return void + * @return void + * @throws \Exception */ public function installExtensionFromFileUpload($file, $type = 'Extension') { @@ -564,7 +582,7 @@ public function checkForPhpNoticesOrWarnings($page = null) public function selectOptionInRadioField($label, $option) { $this->debug("Trying to select the $option from the $label"); - $label = $this->findField(['xpath' => "//label[contains(normalize-space(string(.)), '$label')]"]); + $label = $this->findField(array('xpath' => "//label[contains(normalize-space(string(.)), '$label')]")); $radioId = $label->getAttribute('for'); $this->click("//fieldset[@id='$radioId']/label[contains(normalize-space(string(.)), '$option')]"); @@ -587,9 +605,9 @@ public function selectOptionInChosen($label, $option) $chosenSelectID = $selectID . '_chzn'; $this->debug("I open the $label chosen selector"); - $this->click(['xpath' => "//div[@id='$chosenSelectID']/a/div/b"]); + $this->click(array('xpath' => "//div[@id='$chosenSelectID']/a/div/b")); $this->debug("I select $option"); - $this->click(['xpath' => "//div[@id='$chosenSelectID']//li[text()='$option']"]); + $this->click(array('xpath' => "//div[@id='$chosenSelectID']//li[text()='$option']")); // Gives time to chosen to close $this->wait(1); @@ -612,10 +630,10 @@ public function selectOptionInChosenWithTextField($label, $option) $chosenSelectID = $selectID . '_chzn'; $this->debug("I open the $label chosen selector"); - $this->click(['css' => 'div#' . $chosenSelectID]); + $this->click(array('css' => 'div#' . $chosenSelectID)); $this->debug("I select $option"); - $this->fillField(['xpath' => "//div[@id='$chosenSelectID']/div/div/input"], $option); - $this->click(['xpath' => "//div[@id='$chosenSelectID']/div/ul/li[1]"]); + $this->fillField(array('xpath' => "//div[@id='$chosenSelectID']/div/div/input"), $option); + $this->click(array('xpath' => "//div[@id='$chosenSelectID']/div/ul/li[1]")); // Gives time to chosen to close $this->wait(1); @@ -634,9 +652,9 @@ public function selectOptionInChosenById($selectId, $option) $chosenSelectID = $selectId . '_chzn'; $this->debug("I open the $chosenSelectID chosen selector"); - $this->click(['xpath' => "//div[@id='$chosenSelectID']/a/div/b"]); + $this->click(array('xpath' => "//div[@id='$chosenSelectID']/a/div/b")); $this->debug("I select $option"); - $this->click(['xpath' => "//div[@id='$chosenSelectID']//li[text()='$option']"]); + $this->click(array('xpath' => "//div[@id='$chosenSelectID']//li[text()='$option']")); // Gives time to chosen to close $this->wait(1); @@ -682,9 +700,9 @@ public function selectMultipleOptionsInChosen($label, $options) foreach ($options as $option) { $this->debug("I open the $label chosen selector"); - $this->click(['xpath' => "//div[@id='$chosenSelectID']/ul"]); + $this->click(array('xpath' => "//div[@id='$chosenSelectID']/ul")); $this->debug("I select $option"); - $this->click(['xpath' => "//div[@id='$chosenSelectID']//li[contains(text()[normalize-space()], '$option')]"]); + $this->click(array('xpath' => "//div[@id='$chosenSelectID']//li[contains(text()[normalize-space()], '$option')]")); // Gives time to chosen to close $this->wait(1); @@ -697,15 +715,16 @@ public function selectMultipleOptionsInChosen($label, $options) * @return void * * @since 3.0.0 + * @throws \Exception */ public function doAdministratorLogout() { - $this->click(['xpath' => "//ul[@class='nav nav-user pull-right']//li//a[@class='dropdown-toggle']"]); + $this->click(array('xpath' => "//ul[@class='nav nav-user pull-right']//li//a[@class='dropdown-toggle']")); $this->debug("I click on Top Right corner toggle to Logout from Admin"); - $this->waitForElement(['xpath' => "//li[@class='dropdown open']/ul[@class='dropdown-menu']//a[text() = 'Logout']"], TIMEOUT); - $this->click(['xpath' => "//li[@class='dropdown open']/ul[@class='dropdown-menu']//a[text() = 'Logout']"]); - $this->waitForElement(['id' => 'mod-login-username'], TIMEOUT); - $this->waitForText('Log in', TIMEOUT, ['xpath' => "//fieldset[@class='loginform']//button"]); + $this->waitForElement(array('xpath' => "//li[@class='dropdown open']/ul[@class='dropdown-menu']//a[text() = 'Logout']"), TIMEOUT); + $this->click(array('xpath' => "//li[@class='dropdown open']/ul[@class='dropdown-menu']//a[text() = 'Logout']")); + $this->waitForElement(array('id' => 'mod-login-username'), TIMEOUT); + $this->waitForText('Log in', TIMEOUT, array('xpath' => "//fieldset[@class='loginform']//button")); } /** @@ -716,6 +735,7 @@ public function doAdministratorLogout() * @return void * * @since 3.0.0 + * @throws \Exception */ public function enablePlugin($pluginName) { @@ -725,8 +745,8 @@ public function enablePlugin($pluginName) $this->searchForItem($pluginName); $this->waitForElement($this->searchResultPluginName($pluginName), 30); $this->checkExistenceOf($pluginName); - $this->click(['xpath' => "//input[@id='cb0']"]); - $this->click(['xpath' => "//div[@id='toolbar-publish']/button"]); + $this->click(array('xpath' => "//input[@id='cb0']")); + $this->click(array('xpath' => "//div[@id='toolbar-publish']/button")); $this->see(' enabled', '#system-message-container'); } @@ -754,6 +774,7 @@ private function searchResultPluginName($pluginName) * @return void * * @since 3.0.0 + * @throws \Exception */ public function disablePlugin($pluginName) { @@ -763,8 +784,8 @@ public function disablePlugin($pluginName) $this->searchForItem($pluginName); $this->waitForElement($this->searchResultPluginName($pluginName), 30); $this->checkExistenceOf($pluginName); - $this->click(['xpath' => "//input[@id='cb0']"]); - $this->click(['xpath' => "//div[@id='toolbar-unpublish']/button"]); + $this->click(array('xpath' => "//input[@id='cb0']")); + $this->click(array('xpath' => "//div[@id='toolbar-unpublish']/button")); $this->see(' disabled', '#system-message-container'); } @@ -776,23 +797,24 @@ public function disablePlugin($pluginName) * @return void * * @since 3.0.0 + * @throws \Exception */ public function uninstallExtension($extensionName) { $this->amOnPage('/administrator/index.php?option=com_installer&view=manage'); - $this->waitForText('Extensions: Manage', '30', ['css' => 'H1']); + $this->waitForText('Extensions: Manage', '30', array('css' => 'H1')); $this->searchForItem($extensionName); - $this->waitForElement(['id' => 'manageList'], '30'); - $this->click(['xpath' => "//input[@id='cb0']"]); - $this->click(['xpath' => "//div[@id='toolbar-delete']/button"]); + $this->waitForElement(array('id' => 'manageList'), '30'); + $this->click(array('xpath' => "//input[@id='cb0']")); + $this->click(array('xpath' => "//div[@id='toolbar-delete']/button")); $this->acceptPopup(); - $this->waitForText('was successful', '30', ['id' => 'system-message-container']); + $this->waitForText('was successful', '30', array('id' => 'system-message-container')); $this->see('was successful', '#system-message-container'); $this->searchForItem($extensionName); $this->waitForText( 'There are no extensions installed matching your query.', TIMEOUT, - ['class' => 'alert-no-items'] + array('class' => 'alert-no-items') ); $this->see('There are no extensions installed matching your query.', '.alert-no-items'); $this->debug('Extension successfully uninstalled'); @@ -812,14 +834,14 @@ public function searchForItem($name = null) if ($name) { $this->debug("Searching for $name"); - $this->fillField(['id' => "filter_search"], $name); - $this->click(['xpath' => "//button[@type='submit' and @data-original-title='Search']"]); + $this->fillField(array('id' => "filter_search"), $name); + $this->click(array('xpath' => "//button[@type='submit' and @data-original-title='Search']")); return; } $this->debug('clearing search filter'); - $this->click(['xpath' => "//button[@type='button' and @data-original-title='Clear']"]); + $this->click(array('xpath' => "//button[@type='button' and @data-original-title='Clear']")); } /** @@ -835,7 +857,7 @@ public function searchForItem($name = null) public function checkExistenceOf($name) { $this->debug("Verifying if $name exist in search result"); - $this->seeElement(['xpath' => "//form[@id='adminForm']/div/table/tbody"]); + $this->seeElement(array('xpath' => "//form[@id='adminForm']/div/table/tbody")); $this->see($name, "//form[@id='adminForm']/div/table/tbody"); } @@ -849,7 +871,7 @@ public function checkExistenceOf($name) public function checkAllResults() { $this->debug("Selecting Checkall button"); - $this->click(['xpath' => "//thead//input[@name='checkall-toggle' or @name='toggle']"]); + $this->click(array('xpath' => "//thead//input[@name='checkall-toggle' or @name='toggle']")); } /** @@ -858,6 +880,7 @@ public function checkAllResults() * @param string $languageName Name of the language you want to install * * @return void + * @throws \Exception */ public function installLanguage($languageName) { @@ -865,13 +888,13 @@ public function installLanguage($languageName) $this->debug('I check for Notices and Warnings'); $this->checkForPhpNoticesOrWarnings(); $this->debug('Refreshing languages'); - $this->click(['xpath' => "//div[@id='toolbar-refresh']/button"]); - $this->waitForElement(['id' => 'j-main-container'], 30); + $this->click(array('xpath' => "//div[@id='toolbar-refresh']/button")); + $this->waitForElement(array('id' => 'j-main-container'), 30); $this->searchForItem($languageName); $this->waitForElement($this->searchResultLanguageName($languageName), 30); - $this->click(['id' => "cb0"]); - $this->click(['xpath' => "//div[@id='toolbar-upload']/button"]); - $this->waitForText('was successful.', TIMEOUT, ['id' => 'system-message-container']); + $this->click(array('id' => "cb0")); + $this->click(array('xpath' => "//div[@id='toolbar-upload']/button")); + $this->waitForText('was successful.', TIMEOUT, array('id' => 'system-message-container')); $this->see('No Matching Results', '.alert-no-items'); $this->debug($languageName . ' successfully installed'); } @@ -897,18 +920,19 @@ private function searchResultLanguageName($languageName) * @param string $position The template position of a module. Right position by default * * @return void + * @throws \Exception */ public function setModulePosition($module, $position = 'position-7') { $this->amOnPage('administrator/index.php?option=com_modules'); $this->searchForItem($module); - $this->click(['link' => $module]); - $this->waitForText("Modules: $module", 30, ['css' => 'h1.page-title']); - $this->click(['link' => 'Module']); - $this->waitForElement(['id' => 'general'], 30); + $this->click(array('link' => $module)); + $this->waitForText("Modules: $module", 30, array('css' => 'h1.page-title')); + $this->click(array('link' => 'Module')); + $this->waitForElement(array('id' => 'general'), 30); $this->selectOptionInChosen('Position', $position); - $this->click(['xpath' => "//div[@id='toolbar-apply']/button"]); - $this->waitForText('Module saved', 30, ['id' => 'system-message-container']); + $this->click(array('xpath' => "//div[@id='toolbar-apply']/button")); + $this->waitForText('Module saved', 30, array('id' => 'system-message-container')); } /** @@ -919,14 +943,15 @@ public function setModulePosition($module, $position = 'position-7') * @return void * * @since 3.0.0 + * @throws \Exception */ public function publishModule($module) { $this->amOnPage('administrator/index.php?option=com_modules'); $this->searchForItem($module); $this->checkAllResults(); - $this->click(['xpath' => "//div[@id='toolbar-publish']/button"]); - $this->waitForText(' published.', 30, ['id' => 'system-message-container']); + $this->click(array('xpath' => "//div[@id='toolbar-publish']/button")); + $this->waitForText(' published.', 30, array('id' => 'system-message-container')); } /** @@ -937,19 +962,20 @@ public function publishModule($module) * @return void * * @since 3.0.0 + * @throws \Exception */ public function displayModuleOnAllPages($module) { $this->amOnPage('administrator/index.php?option=com_modules'); $this->searchForItem($module); - $this->click(['link' => $module]); - $this->waitForElement(['link' => 'Menu Assignment'], 30); - $this->click(['link' => 'Menu Assignment']); - $this->waitForElement(['id' => 'jform_menus-lbl'], 30); - $this->click(['id' => 'jform_assignment_chzn']); - $this->click(['xpath' => "//li[@data-option-array-index='0']"]); - $this->click(['xpath' => "//div[@id='toolbar-apply']/button"]); - $this->waitForText('Module saved', 30, ['id' => 'system-message-container']); + $this->click(array('link' => $module)); + $this->waitForElement(array('link' => 'Menu Assignment'), 30); + $this->click(array('link' => 'Menu Assignment')); + $this->waitForElement(array('id' => 'jform_menus-lbl'), 30); + $this->click(array('id' => 'jform_assignment_chzn')); + $this->click(array('xpath' => "//li[@data-option-array-index='0']")); + $this->click(array('xpath' => "//div[@id='toolbar-apply']/button")); + $this->waitForText('Module saved', 30, array('id' => 'system-message-container')); } /** @@ -975,49 +1001,49 @@ public function clickToolbarButton($button) switch ($input) { case "new": - $this->click(['xpath' => "//div[@id='toolbar-new']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-new']//button")); break; case "edit": - $this->click(['xpath' => "//div[@id='toolbar-edit']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-edit']//button")); break; case "publish": - $this->click(['xpath' => "//div[@id='toolbar-publish']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-publish']//button")); break; case "unpublish": - $this->click(['xpath' => "//div[@id='toolbar-unpublish']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-unpublish']//button")); break; case "archive": - $this->click(['xpath' => "//div[@id='toolbar-archive']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-archive']//button")); break; case "check-in": - $this->click(['xpath' => "//div[@id='toolbar-checkin']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-checkin']//button")); break; case "batch": - $this->click(['xpath' => "//div[@id='toolbar-batch']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-batch']//button")); break; case "rebuild": - $this->click(['xpath' => "//div[@id='toolbar-refresh']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-refresh']//button")); break; case "trash": - $this->click(['xpath' => "//div[@id='toolbar-trash']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-trash']//button")); break; case "save": - $this->click(['xpath' => "//div[@id='toolbar-apply']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-apply']//button")); break; case "save & close": - $this->click(['xpath' => "//div[@id='toolbar-save']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-save']//button")); break; case "save & new": - $this->click(['xpath' => "//div[@id='toolbar-save-new']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-save-new']//button")); break; case "cancel": - $this->click(['xpath' => "//div[@id='toolbar-cancel']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-cancel']//button")); break; case "options": - $this->click(['xpath' => "//div[@id='toolbar-options']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-options']//button")); break; case "empty trash": - $this->click(['xpath' => "//div[@id='toolbar-delete']//button"]); + $this->click(array('xpath' => "//div[@id='toolbar-delete']//button")); break; } } @@ -1034,28 +1060,29 @@ public function clickToolbarButton($button) * @return void * * @since 3.0.0 + * @throws \Exception */ public function createMenuItem($menuTitle, $menuCategory, $menuItem, $menu = 'Main Menu', $language = 'All') { $this->debug("I open the menus page"); $this->amOnPage('administrator/index.php?option=com_menus&view=menus'); - $this->waitForText('Menus', TIMEOUT, ['css' => 'H1']); + $this->waitForText('Menus', TIMEOUT, array('css' => 'H1')); $this->checkForPhpNoticesOrWarnings(); $this->debug("I click in the menu: $menu"); - $this->click(['link' => $menu]); - $this->waitForText('Menus: Items', TIMEOUT, ['css' => 'H1']); + $this->click(array('link' => $menu)); + $this->waitForText('Menus: Items', TIMEOUT, array('css' => 'H1')); $this->checkForPhpNoticesOrWarnings(); $this->debug("I click new"); $this->click("New"); - $this->waitForText('Menus: New Item', TIMEOUT, ['css' => 'h1']); + $this->waitForText('Menus: New Item', TIMEOUT, array('css' => 'h1')); $this->checkForPhpNoticesOrWarnings(); - $this->fillField(['id' => 'jform_title'], $menuTitle); + $this->fillField(array('id' => 'jform_title'), $menuTitle); $this->debug("Open the menu types iframe"); - $this->click(['link' => "Select"]); - $this->waitForElement(['id' => 'menuTypeModal'], TIMEOUT); + $this->click(array('link' => "Select")); + $this->waitForElement(array('id' => 'menuTypeModal'), TIMEOUT); $this->wait(1); $this->switchToIFrame("Menu Item Type"); @@ -1063,23 +1090,23 @@ public function createMenuItem($menuTitle, $menuCategory, $menuItem, $menu = 'Ma // Open the category $this->wait(1); - $this->waitForElement(['link' => $menuCategory], TIMEOUT); - $this->click(['link' => $menuCategory]); + $this->waitForElement(array('link' => $menuCategory), TIMEOUT); + $this->click(array('link' => $menuCategory)); $this->debug("Choose the menu item type: $menuItem"); $this->wait(1); - $this->waitForElement(['xpath' => "//a[contains(text()[normalize-space()], '$menuItem')]"], TIMEOUT); - $this->click(['xpath' => "//div[@id='collapseTypes']//a[contains(text()[normalize-space()], '$menuItem')]"]); + $this->waitForElement(array('xpath' => "//a[contains(text()[normalize-space()], '$menuItem')]"), TIMEOUT); + $this->click(array('xpath' => "//div[@id='collapseTypes']//a[contains(text()[normalize-space()], '$menuItem')]")); $this->debug('I switch back to the main window'); $this->switchToIFrame(); $this->debug('I leave time to the iframe to close'); $this->wait(2); $this->selectOptionInChosen('Language', $language); - $this->waitForText('Menus: New Item', '30', ['css' => 'h1']); + $this->waitForText('Menus: New Item', '30', array('css' => 'h1')); $this->debug('I save the menu'); $this->click("Save"); - $this->waitForText('Menu item saved', TIMEOUT, ['id' => 'system-message-container']); + $this->waitForText('Menu item saved', TIMEOUT, array('id' => 'system-message-container')); } /** @@ -1104,7 +1131,7 @@ public function setFilter($label, $value) "select max levels" => "filter_level" ); - $this->click(['xpath' => "//button[@data-original-title='Filter the list items.']"]); + $this->click(array('xpath' => "//button[@data-original-title='Filter the list items.']")); $this->debug('I try to select the filters'); foreach ($filters as $fieldName => $id) @@ -1128,7 +1155,7 @@ public function setFilter($label, $value) * * @since 3.0.0 */ - public function verifyAvailableTabs($expectedTabs, $tabsLocator = ['xpath' => "//ul[@id='myTabTabs']/li/a"]) + public function verifyAvailableTabs($expectedTabs, $tabsLocator = array('xpath' => "//ul[@id='myTabTabs']/li/a")) { $actualArrayOfTabs = $this->grabMultiple($tabsLocator); @@ -1146,13 +1173,14 @@ public function verifyAvailableTabs($expectedTabs, $tabsLocator = ['xpath' => "/ * @return void * * @since 3.5.0 + * @throws \Exception */ public function disableStatistics() { $this->debug('I click on never'); $this->wait(1); - $this->waitForElement(['link' => 'Never'], TIMEOUT); - $this->click(['link' => 'Never']); + $this->waitForElement(array('link' => 'Never'), TIMEOUT); + $this->click(array('link' => 'Never')); } /** @@ -1164,6 +1192,7 @@ public function disableStatistics() * @return void * * @since 3.7.5 + * @throws \Exception */ public function createCategory($title, $extension = '') { @@ -1177,16 +1206,16 @@ public function createCategory($title, $extension = '') $this->amOnPage('administrator/index.php?option=com_categories' . $extension); - $this->waitForElement(['class' => 'page-title']); + $this->waitForElement(array('class' => 'page-title')); $this->checkForPhpNoticesOrWarnings(); $this->debug('Click new category button'); $this->click($this->locator->adminToolbarButtonNew); - $this->waitForElement(['class' => 'page-title']); + $this->waitForElement(array('class' => 'page-title')); $this->checkForPhpNoticesOrWarnings(); - $this->fillField(['id' => 'jform_title'], $title); + $this->fillField(array('id' => 'jform_title'), $title); $this->debug('Click new category apply button'); $this->click($this->locator->adminToolbarButtonApply); diff --git a/src/Locators/Locators.php b/src/Locators/Locators.php index 4970eb6..835055a 100644 --- a/src/Locators/Locators.php +++ b/src/Locators/Locators.php @@ -1,4 +1,11 @@ 'username']; + public $loginUserName = array('id' => 'username'); /** * Locator for the Password field @@ -24,7 +31,7 @@ class Locators * @var array * @since 3.7.4.2 */ - public $loginPassword = ['id' => 'password']; + public $loginPassword = array('id' => 'password'); /** * Locator for the Login Button @@ -32,35 +39,35 @@ class Locators * @var array * @since 3.7.4.2 */ - public $loginButton = ['xpath' => "//div[@class='login']/form/fieldset/div[4]/div/button"]; + public $loginButton = array('xpath' => "//div[@class='login']/form/fieldset/div[4]/div/button"); /** * Locator for the Logout Button - * + * * @var array * @since 3.7.4.2 */ - public $frontEndLoginSuccess = ['xpath' => "//form[@id='login-form']/div[@class='logout-button']"]; + public $frontEndLoginSuccess = array('xpath' => "//form[@id='login-form']/div[@class='logout-button']"); /** * Locator for the Logout Button - * + * * @var array * @since 3.7.4.2 */ - public $frontEndLogoutButton = ['xpath' => "//div[@class='logout-button']//input[@value='Log out']"]; + public $frontEndLogoutButton = array('xpath' => "//div[@class='logout-button']//input[@value='Log out']"); /** * Locator for the Login Button - * + * * @var array * @since 3.7.4.2 */ - public $frontEndLoginForm = ['xpath' => "//div[@class='login']//button[contains(text(), 'Log in')]"]; + public $frontEndLoginForm = array('xpath' => "//div[@class='login']//button[contains(text(), 'Log in')]"); /** * Locator for the Login Page Url - * + * * @var array * @since 3.7.4.2 */ @@ -68,40 +75,40 @@ class Locators /** * Locator for the administrator username field - * + * * @var array * @since 3.7.4.2 */ - public $adminLoginUserName = ['id' => 'mod-login-username']; + public $adminLoginUserName = array('id' => 'mod-login-username'); /** * Locator for the admin password field - * + * * @var array * @since 3.7.4.2 */ - public $adminLoginPassword = ['id' => 'mod-login-password']; + public $adminLoginPassword = array('id' => 'mod-login-password'); /** * Locator for the Login Button - * + * * @var array * @since 3.7.4.2 */ - public $adminLoginButton = ['xpath' => "//button[contains(normalize-space(), 'Log in')]"]; + public $adminLoginButton = array('xpath' => "//button[contains(normalize-space(), 'Log in')]"); /** * Locator for the Control Panel - * + * * @var array * @since 3.7.4.2 */ - public $controlPanelLocator = ['css' => 'h1.page-title']; + public $controlPanelLocator = array('css' => 'h1.page-title'); /** * Locator for the Login URL - * - * @var array + * + * @var string * @since 3.7.4.2 */ public $frontEndLoginUrl = '/index.php?option=com_users&view=login'; @@ -112,7 +119,7 @@ class Locators * @var array * @since 3.7.5 */ - public $adminToolbarButtonNew = ['class' => 'button-new']; + public $adminToolbarButtonNew = array('class' => 'button-new'); /** * Apply Button in the Admin toolbar @@ -120,12 +127,12 @@ class Locators * @var array * @since 3.7.5 */ - public $adminToolbarButtonApply = ['class' => 'button-apply']; + public $adminToolbarButtonApply = array('class' => 'button-apply'); /** * Admin Control Panel Text * - * @var array + * @var string * @since 3.7.5 */ public $adminControlPanelText = 'Control Panel';