[DEPENDENCIES][TOOL] Add codeception and bootstrap it for acceptance and accessibility testing
This commit is contained in:
parent
a697399a6f
commit
38baa192d8
10
codeception.yml
Normal file
10
codeception.yml
Normal file
@ -0,0 +1,10 @@
|
||||
paths:
|
||||
tests: tests/CodeCeption
|
||||
output: tests/CodeCeption/_output
|
||||
data: tests/CodeCeption/_data
|
||||
support: tests/CodeCeption/_support
|
||||
envs: tests/CodeCeption/_envs
|
||||
actor_suffix: Tester
|
||||
extensions:
|
||||
enabled:
|
||||
- Codeception\Extension\RunFailed
|
@ -67,6 +67,9 @@
|
||||
"wikimedia/composer-merge-plugin": "^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/codeception": "^4.1",
|
||||
"codeception/module-phpbrowser": "^2.0",
|
||||
"codeception/module-symfony": "^2.1",
|
||||
"doctrine/doctrine-fixtures-bundle": "^3.4",
|
||||
"friendsofphp/php-cs-fixer": "^3.2.1",
|
||||
"jchook/phpunit-assert-throws": "^1.0",
|
||||
@ -82,7 +85,8 @@
|
||||
"symfony/stopwatch": "5.4.*",
|
||||
"symfony/web-profiler-bundle": "^5.4.",
|
||||
"ulrichsg/getopt-php": "*",
|
||||
"wp-cli/php-cli-tools": "^0.11.13"
|
||||
"wp-cli/php-cli-tools": "^0.11.13",
|
||||
"codeception/module-asserts": "^1.0.0"
|
||||
},
|
||||
"config": {
|
||||
"preferred-install": {
|
||||
@ -108,7 +112,11 @@
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"App\\Tests\\": "tests/"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"tests/CodeCeption/_support/_generated/AcceptanceTesterActions.php",
|
||||
"tests/CodeCeption/_support/AcceptanceTester.php"
|
||||
]
|
||||
},
|
||||
"replace": {
|
||||
"paragonie/random_compat": "2.*",
|
||||
@ -184,6 +192,42 @@
|
||||
"reference": "master"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "package",
|
||||
"package": {
|
||||
"name": "codeception/codeception",
|
||||
"version": "4.1.30",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Codeception\\": "src/Codeception",
|
||||
"Codeception\\Extension\\": "ext"
|
||||
},
|
||||
"files": ["functions.php"]
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6.0 <9.0",
|
||||
"ext-curl": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"codeception/lib-asserts": "^1.0 | 2.0.*@dev",
|
||||
"guzzlehttp/psr7": "^1.4 | ^2.0",
|
||||
"symfony/finder": ">=2.7 <6.0",
|
||||
"symfony/console": ">=2.7 <6.0",
|
||||
"symfony/event-dispatcher": ">=2.7 <6.0",
|
||||
"symfony/yaml": ">=2.7 <6.0",
|
||||
"symfony/css-selector": ">=2.7 <6.0",
|
||||
"behat/gherkin": "^4.4.0",
|
||||
"codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0",
|
||||
"codeception/stub": "^2.0 | ^3.0 | ^4.0"
|
||||
},
|
||||
"bin":["codecept"],
|
||||
"source": {
|
||||
"url": "https://github.com/someonewithpc/Codeception.git",
|
||||
"type": "git",
|
||||
"reference": "4.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
653
composer.lock
generated
653
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "b65e020cc6b2de3186778d0b3f1aa277",
|
||||
"content-hash": "4533a7f4059639e03dbbb34b48f09cf5",
|
||||
"packages": [
|
||||
{
|
||||
"name": "alchemy/binary-driver",
|
||||
@ -553,16 +553,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/dbal",
|
||||
"version": "3.2.0",
|
||||
"version": "3.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/dbal.git",
|
||||
"reference": "5d54f63541d7bed1156cb5c9b79274ced61890e4"
|
||||
"reference": "4caf37acf14b513a91dd4f087f7eda424fa25542"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/5d54f63541d7bed1156cb5c9b79274ced61890e4",
|
||||
"reference": "5d54f63541d7bed1156cb5c9b79274ced61890e4",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/4caf37acf14b513a91dd4f087f7eda424fa25542",
|
||||
"reference": "4caf37acf14b513a91dd4f087f7eda424fa25542",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -577,14 +577,14 @@
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "9.0.0",
|
||||
"jetbrains/phpstorm-stubs": "2021.1",
|
||||
"phpstan/phpstan": "1.2.0",
|
||||
"phpstan/phpstan": "1.3.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.1",
|
||||
"phpunit/phpunit": "9.5.10",
|
||||
"phpunit/phpunit": "9.5.11",
|
||||
"psalm/plugin-phpunit": "0.16.1",
|
||||
"squizlabs/php_codesniffer": "3.6.1",
|
||||
"squizlabs/php_codesniffer": "3.6.2",
|
||||
"symfony/cache": "^5.2|^6.0",
|
||||
"symfony/console": "^2.0.5|^3.0|^4.0|^5.0|^6.0",
|
||||
"vimeo/psalm": "4.13.0"
|
||||
"vimeo/psalm": "4.16.1"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/console": "For helpful console commands such as SQL execution and import of files."
|
||||
@ -644,7 +644,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/dbal/issues",
|
||||
"source": "https://github.com/doctrine/dbal/tree/3.2.0"
|
||||
"source": "https://github.com/doctrine/dbal/tree/3.2.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -660,7 +660,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-11-26T21:00:12+00:00"
|
||||
"time": "2022-01-05T08:52:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
@ -707,16 +707,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/doctrine-bundle",
|
||||
"version": "2.5.4",
|
||||
"version": "2.5.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/DoctrineBundle.git",
|
||||
"reference": "f6191c50600bad1c0195638413f53aee6158b909"
|
||||
"reference": "5c086cbbe5327937dd6f90da075f7d421b0f28bc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/f6191c50600bad1c0195638413f53aee6158b909",
|
||||
"reference": "f6191c50600bad1c0195638413f53aee6158b909",
|
||||
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/5c086cbbe5327937dd6f90da075f7d421b0f28bc",
|
||||
"reference": "5c086cbbe5327937dd6f90da075f7d421b0f28bc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -729,7 +729,7 @@
|
||||
"symfony/cache": "^4.3.3|^5.0|^6.0",
|
||||
"symfony/config": "^4.4.3|^5.0|^6.0",
|
||||
"symfony/console": "^3.4.30|^4.3.3|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^4.3.3|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^4.4.18|^5.0|^6.0",
|
||||
"symfony/deprecation-contracts": "^2.1|^3",
|
||||
"symfony/doctrine-bridge": "^4.4.22|^5.2.7|^6.0",
|
||||
"symfony/framework-bundle": "^3.4.30|^4.3.3|^5.0|^6.0",
|
||||
@ -800,7 +800,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/DoctrineBundle/issues",
|
||||
"source": "https://github.com/doctrine/DoctrineBundle/tree/2.5.4"
|
||||
"source": "https://github.com/doctrine/DoctrineBundle/tree/2.5.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -816,7 +816,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-12-30T18:43:28+00:00"
|
||||
"time": "2022-01-06T08:56:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/doctrine-migrations-bundle",
|
||||
@ -1651,16 +1651,16 @@
|
||||
},
|
||||
{
|
||||
"name": "embed/embed",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/oscarotero/Embed.git",
|
||||
"reference": "4dd2b05119462142ea4adfcf42e75f31dc056975"
|
||||
"reference": "24fe9376e8de48c536ddaddf0025ae39cae5ddfe"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/oscarotero/Embed/zipball/4dd2b05119462142ea4adfcf42e75f31dc056975",
|
||||
"reference": "4dd2b05119462142ea4adfcf42e75f31dc056975",
|
||||
"url": "https://api.github.com/repos/oscarotero/Embed/zipball/24fe9376e8de48c536ddaddf0025ae39cae5ddfe",
|
||||
"reference": "24fe9376e8de48c536ddaddf0025ae39cae5ddfe",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1720,9 +1720,9 @@
|
||||
"support": {
|
||||
"email": "oom@oscarotero.com",
|
||||
"issues": "https://github.com/oscarotero/Embed/issues",
|
||||
"source": "https://github.com/oscarotero/Embed/tree/v4.3.5"
|
||||
"source": "https://github.com/oscarotero/Embed/tree/v4.4.0"
|
||||
},
|
||||
"time": "2021-10-10T17:10:44+00:00"
|
||||
"time": "2022-01-08T13:26:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "erusev/parsedown",
|
||||
@ -3938,16 +3938,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
"version": "1.5.1",
|
||||
"version": "1.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
|
||||
"reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
|
||||
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/93ebd0014cab80c4ea9f5e297ea48672f1b87706",
|
||||
"reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3982,9 +3982,9 @@
|
||||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.0"
|
||||
},
|
||||
"time": "2021-10-02T14:08:47+00:00"
|
||||
"time": "2022-01-04T19:58:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpseclib/phpseclib",
|
||||
@ -7614,16 +7614,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-grapheme",
|
||||
"version": "v1.23.1",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
|
||||
"reference": "81b86b50cf841a64252b439e738e97f4a34e2783"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
|
||||
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783",
|
||||
"reference": "81b86b50cf841a64252b439e738e97f4a34e2783",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7675,7 +7675,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -7691,20 +7691,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T12:26:48+00:00"
|
||||
"time": "2021-11-23T21:10:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-icu",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
||||
"reference": "4a80a521d6176870b6445cfb469c130f9cae1dda"
|
||||
"reference": "c023a439b8551e320cc3c8433b198e408a623af1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/4a80a521d6176870b6445cfb469c130f9cae1dda",
|
||||
"reference": "4a80a521d6176870b6445cfb469c130f9cae1dda",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/c023a439b8551e320cc3c8433b198e408a623af1",
|
||||
"reference": "c023a439b8551e320cc3c8433b198e408a623af1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7762,7 +7762,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -7778,20 +7778,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-24T10:04:56+00:00"
|
||||
"time": "2021-10-26T17:16:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-idn",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
||||
"reference": "65bd267525e82759e7d8c4e8ceea44f398838e65"
|
||||
"reference": "749045c69efb97c70d25d7463abba812e91f3a44"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65",
|
||||
"reference": "65bd267525e82759e7d8c4e8ceea44f398838e65",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44",
|
||||
"reference": "749045c69efb97c70d25d7463abba812e91f3a44",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7849,7 +7849,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -7865,11 +7865,11 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T09:27:20+00:00"
|
||||
"time": "2021-09-14T14:02:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
@ -7933,7 +7933,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -7953,21 +7953,24 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.23.1",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
|
||||
"reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
|
||||
"reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"provide": {
|
||||
"ext-mbstring": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "For best performance"
|
||||
},
|
||||
@ -8013,7 +8016,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8029,20 +8032,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T12:26:48+00:00"
|
||||
"time": "2021-11-30T18:21:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php73",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
|
||||
"reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
|
||||
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5",
|
||||
"reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -8092,7 +8095,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8108,20 +8111,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-19T12:13:01+00:00"
|
||||
"time": "2021-06-05T21:20:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.23.1",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
|
||||
"reference": "57b712b08eddb97c762a8caa32c84e037892d2e9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9",
|
||||
"reference": "57b712b08eddb97c762a8caa32c84e037892d2e9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -8175,7 +8178,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8191,20 +8194,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-07-28T13:41:28+00:00"
|
||||
"time": "2021-09-13T13:58:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php81",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.24.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php81.git",
|
||||
"reference": "e66119f3de95efc359483f810c4c3e6436279436"
|
||||
"reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436",
|
||||
"reference": "e66119f3de95efc359483f810c4c3e6436279436",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
|
||||
"reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -8254,7 +8257,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.24.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8270,7 +8273,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-21T13:25:03+00:00"
|
||||
"time": "2021-09-13T13:58:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
@ -11131,6 +11134,496 @@
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "behat/gherkin",
|
||||
"version": "v4.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Behat/Gherkin.git",
|
||||
"reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4",
|
||||
"reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "~7.2|~8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"cucumber/cucumber": "dev-gherkin-22.0.0",
|
||||
"phpunit/phpunit": "~8|~9",
|
||||
"symfony/yaml": "~3|~4|~5"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/yaml": "If you want to parse features, represented in YAML files"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Behat\\Gherkin": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Konstantin Kudryashov",
|
||||
"email": "ever.zet@gmail.com",
|
||||
"homepage": "http://everzet.com"
|
||||
}
|
||||
],
|
||||
"description": "Gherkin DSL parser for PHP",
|
||||
"homepage": "http://behat.org/",
|
||||
"keywords": [
|
||||
"BDD",
|
||||
"Behat",
|
||||
"Cucumber",
|
||||
"DSL",
|
||||
"gherkin",
|
||||
"parser"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Behat/Gherkin/issues",
|
||||
"source": "https://github.com/Behat/Gherkin/tree/v4.9.0"
|
||||
},
|
||||
"time": "2021-10-12T13:05:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/codeception",
|
||||
"version": "4.1.30",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/someonewithpc/Codeception.git",
|
||||
"reference": "4.1"
|
||||
},
|
||||
"require": {
|
||||
"behat/gherkin": "^4.4.0",
|
||||
"codeception/lib-asserts": "^1.0 | 2.0.*@dev",
|
||||
"codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0",
|
||||
"codeception/stub": "^2.0 | ^3.0 | ^4.0",
|
||||
"ext-curl": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"guzzlehttp/psr7": "^1.4 | ^2.0",
|
||||
"php": ">=5.6.0 <9.0",
|
||||
"symfony/console": ">=2.7 <6.0",
|
||||
"symfony/css-selector": ">=2.7 <6.0",
|
||||
"symfony/event-dispatcher": ">=2.7 <6.0",
|
||||
"symfony/finder": ">=2.7 <6.0",
|
||||
"symfony/yaml": ">=2.7 <6.0"
|
||||
},
|
||||
"bin": [
|
||||
"codecept"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Codeception\\": "src/Codeception",
|
||||
"Codeception\\Extension\\": "ext"
|
||||
},
|
||||
"files": [
|
||||
"functions.php"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "codeception/lib-asserts",
|
||||
"version": "1.13.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Codeception/lib-asserts.git",
|
||||
"reference": "184231d5eab66bc69afd6b9429344d80c67a33b6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/184231d5eab66bc69afd6b9429344d80c67a33b6",
|
||||
"reference": "184231d5eab66bc69afd6b9429344d80c67a33b6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3 | ^9.0",
|
||||
"ext-dom": "*",
|
||||
"php": ">=5.6.0 <9.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michael Bodnarchuk",
|
||||
"email": "davert@mail.ua",
|
||||
"homepage": "http://codegyre.com"
|
||||
},
|
||||
{
|
||||
"name": "Gintautas Miselis"
|
||||
},
|
||||
{
|
||||
"name": "Gustavo Nieves",
|
||||
"homepage": "https://medium.com/@ganieves"
|
||||
}
|
||||
],
|
||||
"description": "Assertion methods used by Codeception core and Asserts module",
|
||||
"homepage": "https://codeception.com/",
|
||||
"keywords": [
|
||||
"codeception"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Codeception/lib-asserts/issues",
|
||||
"source": "https://github.com/Codeception/lib-asserts/tree/1.13.2"
|
||||
},
|
||||
"time": "2020-10-21T16:26:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/lib-innerbrowser",
|
||||
"version": "2.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Codeception/lib-innerbrowser.git",
|
||||
"reference": "c7bf42d5a38e2883ae9cf298ec9d15b1185815fb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/c7bf42d5a38e2883ae9cf298ec9d15b1185815fb",
|
||||
"reference": "c7bf42d5a38e2883ae9cf298ec9d15b1185815fb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"codeception/codeception": "^4.1 | 4.*@dev",
|
||||
"ext-dom": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"php": "^7.4 | ^8.0",
|
||||
"symfony/browser-kit": "^4.4 | ^5.4 | ^6.0",
|
||||
"symfony/dom-crawler": "^4.4 | ^5.4 | ^6.0"
|
||||
},
|
||||
"conflict": {
|
||||
"codeception/codeception": "<4.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/util-universalframework": "dev-master"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michael Bodnarchuk",
|
||||
"email": "davert@mail.ua",
|
||||
"homepage": "https://codegyre.com"
|
||||
},
|
||||
{
|
||||
"name": "Gintautas Miselis"
|
||||
}
|
||||
],
|
||||
"description": "Parent library for all Codeception framework modules and PhpBrowser",
|
||||
"homepage": "https://codeception.com/",
|
||||
"keywords": [
|
||||
"codeception"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Codeception/lib-innerbrowser/issues",
|
||||
"source": "https://github.com/Codeception/lib-innerbrowser/tree/2.0.1"
|
||||
},
|
||||
"time": "2021-12-21T01:40:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/module-asserts",
|
||||
"version": "1.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Codeception/module-asserts.git",
|
||||
"reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Codeception/module-asserts/zipball/59374f2fef0cabb9e8ddb53277e85cdca74328de",
|
||||
"reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"codeception/codeception": "*@dev",
|
||||
"codeception/lib-asserts": "^1.13.1",
|
||||
"php": ">=5.6.0 <9.0"
|
||||
},
|
||||
"conflict": {
|
||||
"codeception/codeception": "<4.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michael Bodnarchuk"
|
||||
},
|
||||
{
|
||||
"name": "Gintautas Miselis"
|
||||
},
|
||||
{
|
||||
"name": "Gustavo Nieves",
|
||||
"homepage": "https://medium.com/@ganieves"
|
||||
}
|
||||
],
|
||||
"description": "Codeception module containing various assertions",
|
||||
"homepage": "https://codeception.com/",
|
||||
"keywords": [
|
||||
"assertions",
|
||||
"asserts",
|
||||
"codeception"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Codeception/module-asserts/issues",
|
||||
"source": "https://github.com/Codeception/module-asserts/tree/1.3.1"
|
||||
},
|
||||
"time": "2020-10-21T16:48:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/module-phpbrowser",
|
||||
"version": "2.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Codeception/module-phpbrowser.git",
|
||||
"reference": "fda6d97253d0595843adb87ec0b9b7d6d89539ac"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/fda6d97253d0595843adb87ec0b9b7d6d89539ac",
|
||||
"reference": "fda6d97253d0595843adb87ec0b9b7d6d89539ac",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"codeception/codeception": "^4.1 | *@dev",
|
||||
"codeception/lib-innerbrowser": "^2.0 | *@dev",
|
||||
"ext-json": "*",
|
||||
"guzzlehttp/guzzle": "^7.4",
|
||||
"php": "^7.4 | ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"codeception/codeception": "<4.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"aws/aws-sdk-php": "^3.199",
|
||||
"codeception/module-rest": "^2.0 | *@dev",
|
||||
"ext-curl": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michael Bodnarchuk"
|
||||
},
|
||||
{
|
||||
"name": "Gintautas Miselis"
|
||||
}
|
||||
],
|
||||
"description": "Codeception module for testing web application over HTTP",
|
||||
"homepage": "https://codeception.com/",
|
||||
"keywords": [
|
||||
"codeception",
|
||||
"functional-testing",
|
||||
"http"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Codeception/module-phpbrowser/issues",
|
||||
"source": "https://github.com/Codeception/module-phpbrowser/tree/2.0.2"
|
||||
},
|
||||
"time": "2021-12-21T15:16:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/module-symfony",
|
||||
"version": "2.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Codeception/module-symfony.git",
|
||||
"reference": "6cbbd24aa51f3d9b56164ba043c38df28c00cabe"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Codeception/module-symfony/zipball/6cbbd24aa51f3d9b56164ba043c38df28c00cabe",
|
||||
"reference": "6cbbd24aa51f3d9b56164ba043c38df28c00cabe",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"codeception/codeception": "^4.1",
|
||||
"codeception/lib-innerbrowser": "^2.0",
|
||||
"ext-json": "*",
|
||||
"php": "^7.4 | ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/module-asserts": "^2.0",
|
||||
"codeception/module-doctrine2": "^2.0",
|
||||
"doctrine/orm": "^2.10",
|
||||
"symfony/form": "^4.4 | ^5.0",
|
||||
"symfony/framework-bundle": "^4.4 | ^5.0",
|
||||
"symfony/http-kernel": "^4.4 | ^5.0",
|
||||
"symfony/mailer": "^4.4 | ^5.0",
|
||||
"symfony/routing": "^4.4 | ^5.0",
|
||||
"symfony/security-bundle": "^4.4 | ^5.0",
|
||||
"symfony/twig-bundle": "^4.4 | ^5.0",
|
||||
"vlucas/phpdotenv": "^4.2 | ^5.4"
|
||||
},
|
||||
"suggest": {
|
||||
"codeception/module-asserts": "Include traditional PHPUnit assertions in your tests",
|
||||
"symfony/web-profiler-bundle": "Tool that gives information about the execution of requests"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michael Bodnarchuk"
|
||||
},
|
||||
{
|
||||
"name": "Gustavo Nieves",
|
||||
"homepage": "https://medium.com/@ganieves"
|
||||
}
|
||||
],
|
||||
"description": "Codeception module for Symfony framework",
|
||||
"homepage": "https://codeception.com/",
|
||||
"keywords": [
|
||||
"codeception",
|
||||
"symfony"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Codeception/module-symfony/issues",
|
||||
"source": "https://github.com/Codeception/module-symfony/tree/2.1.1"
|
||||
},
|
||||
"time": "2021-12-08T02:43:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/phpunit-wrapper",
|
||||
"version": "9.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Codeception/phpunit-wrapper.git",
|
||||
"reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/b0c06abb3181eedca690170f7ed0fd26a70bfacc",
|
||||
"reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2",
|
||||
"phpunit/phpunit": "^9.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/specify": "*",
|
||||
"consolidation/robo": "^3.0.0-alpha3",
|
||||
"vlucas/phpdotenv": "^3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Codeception\\PHPUnit\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Davert",
|
||||
"email": "davert.php@resend.cc"
|
||||
},
|
||||
{
|
||||
"name": "Naktibalda"
|
||||
}
|
||||
],
|
||||
"description": "PHPUnit classes used by Codeception",
|
||||
"support": {
|
||||
"issues": "https://github.com/Codeception/phpunit-wrapper/issues",
|
||||
"source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.6"
|
||||
},
|
||||
"time": "2020-12-28T13:59:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/stub",
|
||||
"version": "4.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Codeception/Stub.git",
|
||||
"reference": "ce0a9e418c775ca8b737d50c2b4ac1132f3990d8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Codeception/Stub/zipball/ce0a9e418c775ca8b737d50c2b4ac1132f3990d8",
|
||||
"reference": "ce0a9e418c775ca8b737d50c2b4ac1132f3990d8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4 | ^8.0",
|
||||
"phpunit/phpunit": "^8.4 | ^9.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"consolidation/robo": "^3.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",
|
||||
"support": {
|
||||
"issues": "https://github.com/Codeception/Stub/issues",
|
||||
"source": "https://github.com/Codeception/Stub/tree/4.0.1"
|
||||
},
|
||||
"time": "2022-01-08T09:35:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/pcre",
|
||||
"version": "1.0.0",
|
||||
@ -11954,12 +12447,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "c3e7a5837829b3cd5907b895da73a4da084a9f8f"
|
||||
"reference": "8cc108ee97f222890cc38fa56c26407e291d4fda"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/c3e7a5837829b3cd5907b895da73a4da084a9f8f",
|
||||
"reference": "c3e7a5837829b3cd5907b895da73a4da084a9f8f",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/8cc108ee97f222890cc38fa56c26407e291d4fda",
|
||||
"reference": "8cc108ee97f222890cc38fa56c26407e291d4fda",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -11976,7 +12469,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.3-dev"
|
||||
"dev-master": "1.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -11991,7 +12484,7 @@
|
||||
"description": "PHPStan - PHP Static Analysis Tool",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan/issues",
|
||||
"source": "https://github.com/phpstan/phpstan/tree/1.3.1"
|
||||
"source": "https://github.com/phpstan/phpstan/tree/master"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -12011,7 +12504,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-01-04T17:12:37+00:00"
|
||||
"time": "2022-01-09T12:34:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
|
@ -2,6 +2,15 @@
|
||||
"alchemy/binary-driver": {
|
||||
"version": "v5.2.0"
|
||||
},
|
||||
"behat/gherkin": {
|
||||
"version": "v4.9.0"
|
||||
},
|
||||
"codeception/module-asserts": {
|
||||
"version": "1.3.1"
|
||||
},
|
||||
"codeception/stub": {
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"composer/ca-bundle": {
|
||||
"version": "1.2.10"
|
||||
},
|
||||
|
0
tests/CodeCeption/_data/.gitkeep
Normal file
0
tests/CodeCeption/_data/.gitkeep
Normal file
2
tests/CodeCeption/_output/.gitignore
vendored
Normal file
2
tests/CodeCeption/_output/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
28
tests/CodeCeption/_support/AcceptanceTester.php
Normal file
28
tests/CodeCeption/_support/AcceptanceTester.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Inherited Methods
|
||||
*
|
||||
* @method void wantToTest($text)
|
||||
* @method void wantTo($text)
|
||||
* @method void execute($callable)
|
||||
* @method void expectTo($prediction)
|
||||
* @method void expect($prediction)
|
||||
* @method void amGoingTo($argumentation)
|
||||
* @method void am($role)
|
||||
* @method void lookForwardTo($achieveValue)
|
||||
* @method void comment($description)
|
||||
* @method void pause()
|
||||
*
|
||||
* @SuppressWarnings(PHPMD)
|
||||
*/
|
||||
class AcceptanceTester extends \Codeception\Actor
|
||||
{
|
||||
use _generated\AcceptanceTesterActions;
|
||||
|
||||
/**
|
||||
* Define custom actions here
|
||||
*/
|
||||
}
|
12
tests/CodeCeption/_support/Helper/Acceptance.php
Normal file
12
tests/CodeCeption/_support/Helper/Acceptance.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
namespace Helper;
|
||||
|
||||
// here you can define custom actions
|
||||
// all public methods declared in helper class will be available in $I
|
||||
|
||||
class Acceptance extends \Codeception\Module
|
||||
{
|
||||
}
|
147
tests/CodeCeption/_support/Helper/AccessibilityValidator.php
Normal file
147
tests/CodeCeption/_support/Helper/AccessibilityValidator.php
Normal file
@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* A helper class for Codeception (http://codeception.com/) that allows automated accessility checks
|
||||
* (WCAG 2.0, Section508) using the pa11y (http://pa11y.org/) command line tool
|
||||
* during acceptance testing.
|
||||
* It uses local binaries and can therefore be run offline.
|
||||
*
|
||||
* Requirements:
|
||||
* =============
|
||||
*
|
||||
* - Codeception with WebDriver or PhpBrowser set up
|
||||
* - pa11y is installed locally (e.g. using "npm insgall -g pa11y")
|
||||
*
|
||||
*
|
||||
* Installation:
|
||||
* =============
|
||||
*
|
||||
* - Copy this file to _support/Helper/ in the codeception directory
|
||||
* - Merge the following configuration to acceptance.suite.yml:
|
||||
*
|
||||
* modules:
|
||||
* enabled:
|
||||
* - \Helper\AccessibilityValidator
|
||||
* config:
|
||||
* \Helper\AccessibilityValidator:
|
||||
* pa11yPath: /usr/local/bin/pa11y
|
||||
*
|
||||
*
|
||||
* Usage:
|
||||
* ======
|
||||
*
|
||||
* Validate the current site against WCAG 2.0 (AAA):
|
||||
* $I->validatePa11y(\Helper\AccessibilityValidator::STANDARD_WCAG2AAA);
|
||||
*
|
||||
* Validate the current site against WCAG 2.0 (AA):
|
||||
* $I->validatePa11y(); // or:
|
||||
* $I->validatePa11y(\Helper\AccessibilityValidator::STANDARD_WCAG2A);
|
||||
*
|
||||
* Validate the current site against WCAG 2.0 (A):
|
||||
* $I->validatePa11y(\Helper\AccessibilityValidator::STANDARD_WCAG2A);
|
||||
*
|
||||
* Validate the current site against Section 508:
|
||||
* $I->validatePa11y(\Helper\AccessibilityValidator::STANDARD_SECTION508);
|
||||
*
|
||||
* Validate against WCAG 2.0 (AA), but ignore errors containing the string "Ignoreme":
|
||||
* $I->validatePa11y(\Helper\AccessibilityValidator::STANDARD_WCAG2A, ["Ignoreme"]);
|
||||
*
|
||||
* @license http://www.opensource.org/licenses/mit-license.html MIT License
|
||||
* @author Tobias Hößl <tobias@hoessl.eu>
|
||||
*/
|
||||
|
||||
namespace Helper;
|
||||
|
||||
use Exception;
|
||||
use PHPUnit\Framework\Assert;
|
||||
|
||||
class AccessibilityValidator extends \Codeception\Module
|
||||
{
|
||||
public static $SUPPORTED_STANDARDS = [
|
||||
'WCAG2AAA',
|
||||
'WCAG2AA',
|
||||
'WCAG2A',
|
||||
'Section508',
|
||||
];
|
||||
public const STANDARD_WCAG2AAA = 'WCAG2AAA';
|
||||
public const STANDARD_WCAG2AA = 'WCAG2AA';
|
||||
public const STANDARD_WCAG2A = 'WCAG2A';
|
||||
public const STANDARD_SECTION508 = 'Section508';
|
||||
|
||||
private function getPageUrl(): string
|
||||
{
|
||||
if ($this->hasModule('WebDriver')) {
|
||||
/** @var \Codeception\Module\WebDriver $webdriver */
|
||||
$webdriver = $this->getModule('WebDriver');
|
||||
return $webdriver->webDriver->getCurrentURL();
|
||||
} else {
|
||||
/** @var \Codeception\Module\PhpBrowser $phpBrowser */
|
||||
$phpBrowser = $this->getModule('PhpBrowser');
|
||||
return trim($phpBrowser->_getUrl(), '/') . $phpBrowser->_getCurrentUri();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
private function validateByPa11y(string $url, string $standard): array
|
||||
{
|
||||
if (!\in_array($standard, static::$SUPPORTED_STANDARDS)) {
|
||||
throw new Exception('Unknown standard: ' . $standard);
|
||||
}
|
||||
|
||||
$pa11yPath = $this->_getConfig('pa11yPath');
|
||||
if (!$pa11yPath) {
|
||||
$pa11yPath = 'pa11y';
|
||||
}
|
||||
if (!file_exists($pa11yPath)) {
|
||||
throw new Exception('pa11y not found: ' . $pa11yPath);
|
||||
}
|
||||
|
||||
exec($pa11yPath . ' -s ' . $standard . " -r json '" . addslashes($url) . "'", $return);
|
||||
$data = json_decode($return[0], true);
|
||||
if (!$data) {
|
||||
$msg = 'Invalid data returned from validation service: ';
|
||||
throw new Exception($msg . $return);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string[] $ignoreMessages
|
||||
*/
|
||||
public function validatePa11y(string $standard = 'WCAG2AA', array $ignoreMessages = []): void
|
||||
{
|
||||
try {
|
||||
$url = $this->getPageUrl();
|
||||
$messages = $this->validateByPa11y($url, $standard);
|
||||
} catch (Exception $e) {
|
||||
$this->fail($e->getMessage());
|
||||
return;
|
||||
}
|
||||
$failMessages = [];
|
||||
foreach ($messages as $message) {
|
||||
if ($message['type'] == 'error') {
|
||||
$string = $message['code'] . "\n" . $message['selector'] . ': ';
|
||||
$string .= $message['context'] . "\n";
|
||||
$string .= $message['message'];
|
||||
$ignoring = false;
|
||||
foreach ($ignoreMessages as $ignoreMessage) {
|
||||
if (mb_stripos($string, $ignoreMessage) !== false) {
|
||||
$ignoring = true;
|
||||
}
|
||||
}
|
||||
if (!$ignoring) {
|
||||
$failMessages[] = $string;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (\count($failMessages) > 0) {
|
||||
$failStr = 'Failed ' . $standard . ' check: ' . "\n";
|
||||
$failStr .= implode("\n\n", $failMessages);
|
||||
Assert::fail($failStr);
|
||||
}
|
||||
}
|
||||
}
|
2
tests/CodeCeption/_support/_generated/.gitignore
vendored
Normal file
2
tests/CodeCeption/_support/_generated/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
17
tests/CodeCeption/acceptance.suite.yml
Normal file
17
tests/CodeCeption/acceptance.suite.yml
Normal file
@ -0,0 +1,17 @@
|
||||
# Codeception Test Suite Configuration
|
||||
#
|
||||
# Suite for acceptance tests.
|
||||
# Perform tests in browser using the WebDriver or PhpBrowser.
|
||||
# If you need both WebDriver and PHPBrowser tests - create a separate suite.
|
||||
|
||||
actor: AcceptanceTester
|
||||
modules:
|
||||
enabled:
|
||||
- PhpBrowser:
|
||||
url: https://nginx
|
||||
- \Helper\Acceptance
|
||||
- \Helper\AccessibilityValidator
|
||||
config:
|
||||
\Helper\AccessibilityValidator:
|
||||
pa11yPath: /usr/local/bin/pa11y
|
||||
step_decorators: ~
|
16
tests/CodeCeption/acceptance/FirstCest.php
Normal file
16
tests/CodeCeption/acceptance/FirstCest.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
class FirstCest
|
||||
{
|
||||
public function _before(AcceptanceTester $I)
|
||||
{
|
||||
}
|
||||
|
||||
public function root(AcceptanceTester $I)
|
||||
{
|
||||
$I->amOnPage('/');
|
||||
$I->see('Feed');
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user