Commit 8b9f2521f5e33ddd2a8e4ef47841884aff5414ae

Authored by Administrator
1 parent 47bd5ade

28.03.16

.gitignore
... ... @@ -28,4 +28,5 @@ composer.phar
28 28 phpunit.phar
29 29 # local phpunit config
30 30 /phpunit.xml
31   -storage
32 31 \ No newline at end of file
  32 +storage
  33 +tests/_output/*
33 34 \ No newline at end of file
... ...
codeception.yml 0 → 100644
  1 +actor: Tester
  2 +paths:
  3 + tests: tests
  4 + log: tests/_output
  5 + data: tests/_data
  6 + support: tests/_support
  7 + envs: tests/_envs
  8 +settings:
  9 + bootstrap: _bootstrap.php
  10 + colors: true
  11 + memory_limit: 1024M
  12 +extensions:
  13 + enabled:
  14 + - Codeception\Extension\RunFailed
  15 +modules:
  16 + config:
  17 + Db:
  18 + dsn: ''
  19 + user: ''
  20 + password: ''
  21 + dump: tests/_data/dump.sql
... ...
composer.json
... ... @@ -28,10 +28,10 @@
28 28 "mihaildev/yii2-elfinder": "^1.1",
29 29 "kartik-v/yii2-widget-colorinput": "*",
30 30 "2amigos/yii2-transliterator-helper": "*",
31   - "rmrevin/yii2-comments": "1.4.*"
  31 + "rmrevin/yii2-comments": "1.4.*",
  32 + "codeception/codeception":"*"
32 33 },
33 34 "require-dev": {
34   - "yiisoft/yii2-codeception": "*",
35 35 "yiisoft/yii2-debug": "*",
36 36 "yiisoft/yii2-gii": "*",
37 37 "yiisoft/yii2-faker": "*"
... ...
composer.lock
... ... @@ -4,8 +4,8 @@
4 4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 5 "This file is @generated automatically"
6 6 ],
7   - "hash": "67e32b98a5cc37bfa51bc84148316627",
8   - "content-hash": "706cd7bd8f9339ce92d17c5871da8b8f",
  7 + "hash": "339705c7dacfdc2f67cc7fccc576934b",
  8 + "content-hash": "a1a45a52bb26fe4e63dfccd69d0a3991",
9 9 "packages": [
10 10 {
11 11 "name": "2amigos/yii2-transliterator-helper",
... ... @@ -52,16 +52,16 @@
52 52 },
53 53 {
54 54 "name": "almasaeed2010/adminlte",
55   - "version": "v2.3.2",
  55 + "version": "v2.3.3",
56 56 "source": {
57 57 "type": "git",
58 58 "url": "https://github.com/almasaeed2010/AdminLTE.git",
59   - "reference": "1ee281b3b99e8d8cccdc72fb8437c6888149cb46"
  59 + "reference": "8db979795044412a2e2b4e9659788c23cb59fcd3"
60 60 },
61 61 "dist": {
62 62 "type": "zip",
63   - "url": "https://api.github.com/repos/almasaeed2010/AdminLTE/zipball/1ee281b3b99e8d8cccdc72fb8437c6888149cb46",
64   - "reference": "1ee281b3b99e8d8cccdc72fb8437c6888149cb46",
  63 + "url": "https://api.github.com/repos/almasaeed2010/AdminLTE/zipball/8db979795044412a2e2b4e9659788c23cb59fcd3",
  64 + "reference": "8db979795044412a2e2b4e9659788c23cb59fcd3",
65 65 "shasum": ""
66 66 },
67 67 "type": "library",
... ... @@ -88,7 +88,66 @@
88 88 "theme",
89 89 "web"
90 90 ],
91   - "time": "2015-10-23 14:50:49"
  91 + "time": "2016-03-24 14:31:41"
  92 + },
  93 + {
  94 + "name": "behat/gherkin",
  95 + "version": "dev-master",
  96 + "source": {
  97 + "type": "git",
  98 + "url": "https://github.com/Behat/Gherkin.git",
  99 + "reference": "6f005467f571c3c53477fb0a646ba8092aa54bd4"
  100 + },
  101 + "dist": {
  102 + "type": "zip",
  103 + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/6f005467f571c3c53477fb0a646ba8092aa54bd4",
  104 + "reference": "6f005467f571c3c53477fb0a646ba8092aa54bd4",
  105 + "shasum": ""
  106 + },
  107 + "require": {
  108 + "php": ">=5.3.1"
  109 + },
  110 + "require-dev": {
  111 + "phpunit/phpunit": "~4.5|~5",
  112 + "symfony/phpunit-bridge": "~2.7|~3",
  113 + "symfony/yaml": "~2.3|~3"
  114 + },
  115 + "suggest": {
  116 + "symfony/yaml": "If you want to parse features, represented in YAML files"
  117 + },
  118 + "type": "library",
  119 + "extra": {
  120 + "branch-alias": {
  121 + "dev-master": "4.4-dev"
  122 + }
  123 + },
  124 + "autoload": {
  125 + "psr-0": {
  126 + "Behat\\Gherkin": "src/"
  127 + }
  128 + },
  129 + "notification-url": "https://packagist.org/downloads/",
  130 + "license": [
  131 + "MIT"
  132 + ],
  133 + "authors": [
  134 + {
  135 + "name": "Konstantin Kudryashov",
  136 + "email": "ever.zet@gmail.com",
  137 + "homepage": "http://everzet.com"
  138 + }
  139 + ],
  140 + "description": "Gherkin DSL parser for PHP 5.3",
  141 + "homepage": "http://behat.org/",
  142 + "keywords": [
  143 + "BDD",
  144 + "Behat",
  145 + "Cucumber",
  146 + "DSL",
  147 + "gherkin",
  148 + "parser"
  149 + ],
  150 + "time": "2015-12-31 10:51:34"
92 151 },
93 152 {
94 153 "name": "bower-asset/bootstrap",
... ... @@ -354,8 +413,7 @@
354 413 },
355 414 "license": [
356 415 "MIT"
357   - ],
358   - "time": "2015-12-31 08:33:51"
  416 + ]
359 417 },
360 418 {
361 419 "name": "cebe/markdown",
... ... @@ -461,6 +519,91 @@
461 519 "time": "2013-12-10 17:49:58"
462 520 },
463 521 {
  522 + "name": "codeception/codeception",
  523 + "version": "dev-master",
  524 + "source": {
  525 + "type": "git",
  526 + "url": "https://github.com/Codeception/Codeception.git",
  527 + "reference": "a04ceaea52d2a050d8df19df1a85fb1b24456477"
  528 + },
  529 + "dist": {
  530 + "type": "zip",
  531 + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/a04ceaea52d2a050d8df19df1a85fb1b24456477",
  532 + "reference": "a04ceaea52d2a050d8df19df1a85fb1b24456477",
  533 + "shasum": ""
  534 + },
  535 + "require": {
  536 + "behat/gherkin": "~4.4.0",
  537 + "ext-json": "*",
  538 + "ext-mbstring": "*",
  539 + "facebook/webdriver": ">=1.0.1 <2.0",
  540 + "guzzlehttp/guzzle": ">=4.1.4 <7.0",
  541 + "guzzlehttp/psr7": "~1.0",
  542 + "php": ">=5.4.0 <8.0",
  543 + "phpunit/php-code-coverage": ">=2.1.3",
  544 + "phpunit/phpunit": ">4.8.20 <6.0",
  545 + "symfony/browser-kit": ">=2.7 <3.1",
  546 + "symfony/console": ">=2.7 <3.1",
  547 + "symfony/css-selector": ">=2.7 <3.1",
  548 + "symfony/dom-crawler": ">=2.7 <3.1",
  549 + "symfony/event-dispatcher": ">=2.7 <3.1",
  550 + "symfony/finder": ">=2.7 <3.1",
  551 + "symfony/yaml": ">=2.7 <3.1"
  552 + },
  553 + "require-dev": {
  554 + "codeception/specify": "~0.3",
  555 + "facebook/php-sdk-v4": "~5.0",
  556 + "flow/jsonpath": "~0.2",
  557 + "league/factory-muffin": "^3.0",
  558 + "league/factory-muffin-faker": "^1.0",
  559 + "monolog/monolog": "~1.8",
  560 + "pda/pheanstalk": "~3.0",
  561 + "php-amqplib/php-amqplib": "~2.4"
  562 + },
  563 + "suggest": {
  564 + "codeception/specify": "BDD-style code blocks",
  565 + "codeception/verify": "BDD-style assertions",
  566 + "flow/jsonpath": "For using JSONPath in REST module",
  567 + "league/factory-muffin": "For DataFactory module",
  568 + "league/factory-muffin-faker": "For Faker support in DataFactory module",
  569 + "phpseclib/phpseclib": "for SFTP option in FTP Module"
  570 + },
  571 + "bin": [
  572 + "codecept"
  573 + ],
  574 + "type": "library",
  575 + "extra": {
  576 + "branch-alias": []
  577 + },
  578 + "autoload": {
  579 + "psr-4": {
  580 + "Codeception\\": "src\\Codeception",
  581 + "Codeception\\Extension\\": "ext"
  582 + }
  583 + },
  584 + "notification-url": "https://packagist.org/downloads/",
  585 + "license": [
  586 + "MIT"
  587 + ],
  588 + "authors": [
  589 + {
  590 + "name": "Michael Bodnarchuk",
  591 + "email": "davert@mail.ua",
  592 + "homepage": "http://codegyre.com"
  593 + }
  594 + ],
  595 + "description": "BDD-style testing framework",
  596 + "homepage": "http://codeception.com/",
  597 + "keywords": [
  598 + "BDD",
  599 + "TDD",
  600 + "acceptance testing",
  601 + "functional testing",
  602 + "unit testing"
  603 + ],
  604 + "time": "2016-03-26 21:39:36"
  605 + },
  606 + {
464 607 "name": "developeruz/yii2-db-rbac",
465 608 "version": "dev-master",
466 609 "source": {
... ... @@ -556,6 +699,60 @@
556 699 "time": "2016-03-23 04:18:15"
557 700 },
558 701 {
  702 + "name": "doctrine/instantiator",
  703 + "version": "dev-master",
  704 + "source": {
  705 + "type": "git",
  706 + "url": "https://github.com/doctrine/instantiator.git",
  707 + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
  708 + },
  709 + "dist": {
  710 + "type": "zip",
  711 + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
  712 + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
  713 + "shasum": ""
  714 + },
  715 + "require": {
  716 + "php": ">=5.3,<8.0-DEV"
  717 + },
  718 + "require-dev": {
  719 + "athletic/athletic": "~0.1.8",
  720 + "ext-pdo": "*",
  721 + "ext-phar": "*",
  722 + "phpunit/phpunit": "~4.0",
  723 + "squizlabs/php_codesniffer": "~2.0"
  724 + },
  725 + "type": "library",
  726 + "extra": {
  727 + "branch-alias": {
  728 + "dev-master": "1.0.x-dev"
  729 + }
  730 + },
  731 + "autoload": {
  732 + "psr-4": {
  733 + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
  734 + }
  735 + },
  736 + "notification-url": "https://packagist.org/downloads/",
  737 + "license": [
  738 + "MIT"
  739 + ],
  740 + "authors": [
  741 + {
  742 + "name": "Marco Pivetta",
  743 + "email": "ocramius@gmail.com",
  744 + "homepage": "http://ocramius.github.com/"
  745 + }
  746 + ],
  747 + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
  748 + "homepage": "https://github.com/doctrine/instantiator",
  749 + "keywords": [
  750 + "constructor",
  751 + "instantiate"
  752 + ],
  753 + "time": "2015-06-14 21:17:01"
  754 + },
  755 + {
559 756 "name": "ezyang/htmlpurifier",
560 757 "version": "v4.7.0",
561 758 "source": {
... ... @@ -600,6 +797,220 @@
600 797 "time": "2015-08-05 01:03:42"
601 798 },
602 799 {
  800 + "name": "facebook/webdriver",
  801 + "version": "1.1.1",
  802 + "source": {
  803 + "type": "git",
  804 + "url": "https://github.com/facebook/php-webdriver.git",
  805 + "reference": "1c98108ba3eb435b681655764de11502a0653705"
  806 + },
  807 + "dist": {
  808 + "type": "zip",
  809 + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/1c98108ba3eb435b681655764de11502a0653705",
  810 + "reference": "1c98108ba3eb435b681655764de11502a0653705",
  811 + "shasum": ""
  812 + },
  813 + "require": {
  814 + "php": ">=5.3.19"
  815 + },
  816 + "require-dev": {
  817 + "phpunit/phpunit": "4.6.*"
  818 + },
  819 + "suggest": {
  820 + "phpdocumentor/phpdocumentor": "2.*"
  821 + },
  822 + "type": "library",
  823 + "autoload": {
  824 + "psr-4": {
  825 + "Facebook\\WebDriver\\": "lib/"
  826 + }
  827 + },
  828 + "notification-url": "https://packagist.org/downloads/",
  829 + "license": [
  830 + "Apache-2.0"
  831 + ],
  832 + "description": "A PHP client for WebDriver",
  833 + "homepage": "https://github.com/facebook/php-webdriver",
  834 + "keywords": [
  835 + "facebook",
  836 + "php",
  837 + "selenium",
  838 + "webdriver"
  839 + ],
  840 + "time": "2015-12-31 15:58:49"
  841 + },
  842 + {
  843 + "name": "guzzlehttp/guzzle",
  844 + "version": "dev-master",
  845 + "source": {
  846 + "type": "git",
  847 + "url": "https://github.com/guzzle/guzzle.git",
  848 + "reference": "d094e337976dff9d8e2424e8485872194e768662"
  849 + },
  850 + "dist": {
  851 + "type": "zip",
  852 + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d094e337976dff9d8e2424e8485872194e768662",
  853 + "reference": "d094e337976dff9d8e2424e8485872194e768662",
  854 + "shasum": ""
  855 + },
  856 + "require": {
  857 + "guzzlehttp/promises": "~1.0",
  858 + "guzzlehttp/psr7": "~1.1",
  859 + "php": ">=5.5.0"
  860 + },
  861 + "require-dev": {
  862 + "ext-curl": "*",
  863 + "phpunit/phpunit": "~4.0",
  864 + "psr/log": "~1.0"
  865 + },
  866 + "type": "library",
  867 + "extra": {
  868 + "branch-alias": {
  869 + "dev-master": "6.2-dev"
  870 + }
  871 + },
  872 + "autoload": {
  873 + "files": [
  874 + "src/functions_include.php"
  875 + ],
  876 + "psr-4": {
  877 + "GuzzleHttp\\": "src/"
  878 + }
  879 + },
  880 + "notification-url": "https://packagist.org/downloads/",
  881 + "license": [
  882 + "MIT"
  883 + ],
  884 + "authors": [
  885 + {
  886 + "name": "Michael Dowling",
  887 + "email": "mtdowling@gmail.com",
  888 + "homepage": "https://github.com/mtdowling"
  889 + }
  890 + ],
  891 + "description": "Guzzle is a PHP HTTP client library",
  892 + "homepage": "http://guzzlephp.org/",
  893 + "keywords": [
  894 + "client",
  895 + "curl",
  896 + "framework",
  897 + "http",
  898 + "http client",
  899 + "rest",
  900 + "web service"
  901 + ],
  902 + "time": "2016-03-21 20:02:09"
  903 + },
  904 + {
  905 + "name": "guzzlehttp/promises",
  906 + "version": "1.1.0",
  907 + "source": {
  908 + "type": "git",
  909 + "url": "https://github.com/guzzle/promises.git",
  910 + "reference": "bb9024c526b22f3fe6ae55a561fd70653d470aa8"
  911 + },
  912 + "dist": {
  913 + "type": "zip",
  914 + "url": "https://api.github.com/repos/guzzle/promises/zipball/bb9024c526b22f3fe6ae55a561fd70653d470aa8",
  915 + "reference": "bb9024c526b22f3fe6ae55a561fd70653d470aa8",
  916 + "shasum": ""
  917 + },
  918 + "require": {
  919 + "php": ">=5.5.0"
  920 + },
  921 + "require-dev": {
  922 + "phpunit/phpunit": "~4.0"
  923 + },
  924 + "type": "library",
  925 + "extra": {
  926 + "branch-alias": {
  927 + "dev-master": "1.0-dev"
  928 + }
  929 + },
  930 + "autoload": {
  931 + "psr-4": {
  932 + "GuzzleHttp\\Promise\\": "src/"
  933 + },
  934 + "files": [
  935 + "src/functions_include.php"
  936 + ]
  937 + },
  938 + "notification-url": "https://packagist.org/downloads/",
  939 + "license": [
  940 + "MIT"
  941 + ],
  942 + "authors": [
  943 + {
  944 + "name": "Michael Dowling",
  945 + "email": "mtdowling@gmail.com",
  946 + "homepage": "https://github.com/mtdowling"
  947 + }
  948 + ],
  949 + "description": "Guzzle promises library",
  950 + "keywords": [
  951 + "promise"
  952 + ],
  953 + "time": "2016-03-08 01:15:46"
  954 + },
  955 + {
  956 + "name": "guzzlehttp/psr7",
  957 + "version": "1.2.3",
  958 + "source": {
  959 + "type": "git",
  960 + "url": "https://github.com/guzzle/psr7.git",
  961 + "reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b"
  962 + },
  963 + "dist": {
  964 + "type": "zip",
  965 + "url": "https://api.github.com/repos/guzzle/psr7/zipball/2e89629ff057ebb49492ba08e6995d3a6a80021b",
  966 + "reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b",
  967 + "shasum": ""
  968 + },
  969 + "require": {
  970 + "php": ">=5.4.0",
  971 + "psr/http-message": "~1.0"
  972 + },
  973 + "provide": {
  974 + "psr/http-message-implementation": "1.0"
  975 + },
  976 + "require-dev": {
  977 + "phpunit/phpunit": "~4.0"
  978 + },
  979 + "type": "library",
  980 + "extra": {
  981 + "branch-alias": {
  982 + "dev-master": "1.0-dev"
  983 + }
  984 + },
  985 + "autoload": {
  986 + "psr-4": {
  987 + "GuzzleHttp\\Psr7\\": "src/"
  988 + },
  989 + "files": [
  990 + "src/functions_include.php"
  991 + ]
  992 + },
  993 + "notification-url": "https://packagist.org/downloads/",
  994 + "license": [
  995 + "MIT"
  996 + ],
  997 + "authors": [
  998 + {
  999 + "name": "Michael Dowling",
  1000 + "email": "mtdowling@gmail.com",
  1001 + "homepage": "https://github.com/mtdowling"
  1002 + }
  1003 + ],
  1004 + "description": "PSR-7 message implementation",
  1005 + "keywords": [
  1006 + "http",
  1007 + "message",
  1008 + "stream",
  1009 + "uri"
  1010 + ],
  1011 + "time": "2016-02-18 21:54:00"
  1012 + },
  1013 + {
603 1014 "name": "imagine/imagine",
604 1015 "version": "0.5.x-dev",
605 1016 "source": {
... ... @@ -1077,35 +1488,1159 @@
1077 1488 "time": "2016-01-13 18:15:48"
1078 1489 },
1079 1490 {
1080   - "name": "rmrevin/yii2-comments",
1081   - "version": "1.4.2",
  1491 + "name": "phpdocumentor/reflection-docblock",
  1492 + "version": "2.0.4",
1082 1493 "source": {
1083 1494 "type": "git",
1084   - "url": "https://github.com/rmrevin/yii2-comments.git",
1085   - "reference": "c68ddf276fe24ece0173781a8f7391a2cf7e6a12"
  1495 + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
  1496 + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
1086 1497 },
1087 1498 "dist": {
1088 1499 "type": "zip",
1089   - "url": "https://api.github.com/repos/rmrevin/yii2-comments/zipball/c68ddf276fe24ece0173781a8f7391a2cf7e6a12",
1090   - "reference": "c68ddf276fe24ece0173781a8f7391a2cf7e6a12",
  1500 + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
  1501 + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
1091 1502 "shasum": ""
1092 1503 },
1093 1504 "require": {
1094   - "php": ">=5.4.0",
1095   - "rmrevin/yii2-fontawesome": "~2.10",
1096   - "yiisoft/yii2": "2.0.*"
  1505 + "php": ">=5.3.3"
1097 1506 },
1098   - "type": "yii2-extension",
1099   - "extra": {
1100   - "asset-installer-paths": {
1101   - "npm-asset-library": "vendor/npm",
1102   - "bower-asset-library": "vendor/bower"
1103   - }
  1507 + "require-dev": {
  1508 + "phpunit/phpunit": "~4.0"
  1509 + },
  1510 + "suggest": {
  1511 + "dflydev/markdown": "~1.0",
  1512 + "erusev/parsedown": "~1.0"
  1513 + },
  1514 + "type": "library",
  1515 + "extra": {
  1516 + "branch-alias": {
  1517 + "dev-master": "2.0.x-dev"
  1518 + }
  1519 + },
  1520 + "autoload": {
  1521 + "psr-0": {
  1522 + "phpDocumentor": [
  1523 + "src/"
  1524 + ]
  1525 + }
  1526 + },
  1527 + "notification-url": "https://packagist.org/downloads/",
  1528 + "license": [
  1529 + "MIT"
  1530 + ],
  1531 + "authors": [
  1532 + {
  1533 + "name": "Mike van Riel",
  1534 + "email": "mike.vanriel@naenius.com"
  1535 + }
  1536 + ],
  1537 + "time": "2015-02-03 12:10:50"
  1538 + },
  1539 + {
  1540 + "name": "phpspec/prophecy",
  1541 + "version": "dev-master",
  1542 + "source": {
  1543 + "type": "git",
  1544 + "url": "https://github.com/phpspec/prophecy.git",
  1545 + "reference": "b02221e42163be673f9b44a0bc92a8b4907a7c6d"
  1546 + },
  1547 + "dist": {
  1548 + "type": "zip",
  1549 + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b02221e42163be673f9b44a0bc92a8b4907a7c6d",
  1550 + "reference": "b02221e42163be673f9b44a0bc92a8b4907a7c6d",
  1551 + "shasum": ""
  1552 + },
  1553 + "require": {
  1554 + "doctrine/instantiator": "^1.0.2",
  1555 + "php": "^5.3|^7.0",
  1556 + "phpdocumentor/reflection-docblock": "~2.0",
  1557 + "sebastian/comparator": "~1.1",
  1558 + "sebastian/recursion-context": "~1.0"
  1559 + },
  1560 + "require-dev": {
  1561 + "phpspec/phpspec": "~2.0"
  1562 + },
  1563 + "type": "library",
  1564 + "extra": {
  1565 + "branch-alias": {
  1566 + "dev-master": "1.6.x-dev"
  1567 + }
  1568 + },
  1569 + "autoload": {
  1570 + "psr-0": {
  1571 + "Prophecy\\": "src/"
  1572 + }
  1573 + },
  1574 + "notification-url": "https://packagist.org/downloads/",
  1575 + "license": [
  1576 + "MIT"
  1577 + ],
  1578 + "authors": [
  1579 + {
  1580 + "name": "Konstantin Kudryashov",
  1581 + "email": "ever.zet@gmail.com",
  1582 + "homepage": "http://everzet.com"
  1583 + },
  1584 + {
  1585 + "name": "Marcello Duarte",
  1586 + "email": "marcello.duarte@gmail.com"
  1587 + }
  1588 + ],
  1589 + "description": "Highly opinionated mocking framework for PHP 5.3+",
  1590 + "homepage": "https://github.com/phpspec/prophecy",
  1591 + "keywords": [
  1592 + "Double",
  1593 + "Dummy",
  1594 + "fake",
  1595 + "mock",
  1596 + "spy",
  1597 + "stub"
  1598 + ],
  1599 + "time": "2016-02-21 17:41:21"
  1600 + },
  1601 + {
  1602 + "name": "phpunit/php-code-coverage",
  1603 + "version": "2.2.x-dev",
  1604 + "source": {
  1605 + "type": "git",
  1606 + "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
  1607 + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
  1608 + },
  1609 + "dist": {
  1610 + "type": "zip",
  1611 + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
  1612 + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
  1613 + "shasum": ""
  1614 + },
  1615 + "require": {
  1616 + "php": ">=5.3.3",
  1617 + "phpunit/php-file-iterator": "~1.3",
  1618 + "phpunit/php-text-template": "~1.2",
  1619 + "phpunit/php-token-stream": "~1.3",
  1620 + "sebastian/environment": "^1.3.2",
  1621 + "sebastian/version": "~1.0"
  1622 + },
  1623 + "require-dev": {
  1624 + "ext-xdebug": ">=2.1.4",
  1625 + "phpunit/phpunit": "~4"
  1626 + },
  1627 + "suggest": {
  1628 + "ext-dom": "*",
  1629 + "ext-xdebug": ">=2.2.1",
  1630 + "ext-xmlwriter": "*"
  1631 + },
  1632 + "type": "library",
  1633 + "extra": {
  1634 + "branch-alias": {
  1635 + "dev-master": "2.2.x-dev"
  1636 + }
  1637 + },
  1638 + "autoload": {
  1639 + "classmap": [
  1640 + "src/"
  1641 + ]
  1642 + },
  1643 + "notification-url": "https://packagist.org/downloads/",
  1644 + "license": [
  1645 + "BSD-3-Clause"
  1646 + ],
  1647 + "authors": [
  1648 + {
  1649 + "name": "Sebastian Bergmann",
  1650 + "email": "sb@sebastian-bergmann.de",
  1651 + "role": "lead"
  1652 + }
  1653 + ],
  1654 + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
  1655 + "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
  1656 + "keywords": [
  1657 + "coverage",
  1658 + "testing",
  1659 + "xunit"
  1660 + ],
  1661 + "time": "2015-10-06 15:47:00"
  1662 + },
  1663 + {
  1664 + "name": "phpunit/php-file-iterator",
  1665 + "version": "dev-master",
  1666 + "source": {
  1667 + "type": "git",
  1668 + "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
  1669 + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
  1670 + },
  1671 + "dist": {
  1672 + "type": "zip",
  1673 + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
  1674 + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
  1675 + "shasum": ""
  1676 + },
  1677 + "require": {
  1678 + "php": ">=5.3.3"
  1679 + },
  1680 + "type": "library",
  1681 + "extra": {
  1682 + "branch-alias": {
  1683 + "dev-master": "1.4.x-dev"
  1684 + }
  1685 + },
  1686 + "autoload": {
  1687 + "classmap": [
  1688 + "src/"
  1689 + ]
  1690 + },
  1691 + "notification-url": "https://packagist.org/downloads/",
  1692 + "license": [
  1693 + "BSD-3-Clause"
  1694 + ],
  1695 + "authors": [
  1696 + {
  1697 + "name": "Sebastian Bergmann",
  1698 + "email": "sb@sebastian-bergmann.de",
  1699 + "role": "lead"
  1700 + }
  1701 + ],
  1702 + "description": "FilterIterator implementation that filters files based on a list of suffixes.",
  1703 + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
  1704 + "keywords": [
  1705 + "filesystem",
  1706 + "iterator"
  1707 + ],
  1708 + "time": "2015-06-21 13:08:43"
  1709 + },
  1710 + {
  1711 + "name": "phpunit/php-text-template",
  1712 + "version": "1.2.1",
  1713 + "source": {
  1714 + "type": "git",
  1715 + "url": "https://github.com/sebastianbergmann/php-text-template.git",
  1716 + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
  1717 + },
  1718 + "dist": {
  1719 + "type": "zip",
  1720 + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
  1721 + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
  1722 + "shasum": ""
  1723 + },
  1724 + "require": {
  1725 + "php": ">=5.3.3"
  1726 + },
  1727 + "type": "library",
  1728 + "autoload": {
  1729 + "classmap": [
  1730 + "src/"
  1731 + ]
  1732 + },
  1733 + "notification-url": "https://packagist.org/downloads/",
  1734 + "license": [
  1735 + "BSD-3-Clause"
  1736 + ],
  1737 + "authors": [
  1738 + {
  1739 + "name": "Sebastian Bergmann",
  1740 + "email": "sebastian@phpunit.de",
  1741 + "role": "lead"
  1742 + }
  1743 + ],
  1744 + "description": "Simple template engine.",
  1745 + "homepage": "https://github.com/sebastianbergmann/php-text-template/",
  1746 + "keywords": [
  1747 + "template"
  1748 + ],
  1749 + "time": "2015-06-21 13:50:34"
  1750 + },
  1751 + {
  1752 + "name": "phpunit/php-timer",
  1753 + "version": "dev-master",
  1754 + "source": {
  1755 + "type": "git",
  1756 + "url": "https://github.com/sebastianbergmann/php-timer.git",
  1757 + "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b"
  1758 + },
  1759 + "dist": {
  1760 + "type": "zip",
  1761 + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
  1762 + "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
  1763 + "shasum": ""
  1764 + },
  1765 + "require": {
  1766 + "php": ">=5.3.3"
  1767 + },
  1768 + "type": "library",
  1769 + "autoload": {
  1770 + "classmap": [
  1771 + "src/"
  1772 + ]
  1773 + },
  1774 + "notification-url": "https://packagist.org/downloads/",
  1775 + "license": [
  1776 + "BSD-3-Clause"
  1777 + ],
  1778 + "authors": [
  1779 + {
  1780 + "name": "Sebastian Bergmann",
  1781 + "email": "sb@sebastian-bergmann.de",
  1782 + "role": "lead"
  1783 + }
  1784 + ],
  1785 + "description": "Utility class for timing",
  1786 + "homepage": "https://github.com/sebastianbergmann/php-timer/",
  1787 + "keywords": [
  1788 + "timer"
  1789 + ],
  1790 + "time": "2015-06-21 08:01:12"
  1791 + },
  1792 + {
  1793 + "name": "phpunit/php-token-stream",
  1794 + "version": "dev-master",
  1795 + "source": {
  1796 + "type": "git",
  1797 + "url": "https://github.com/sebastianbergmann/php-token-stream.git",
  1798 + "reference": "cab6c6fefee93d7b7c3a01292a0fe0884ea66644"
  1799 + },
  1800 + "dist": {
  1801 + "type": "zip",
  1802 + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/cab6c6fefee93d7b7c3a01292a0fe0884ea66644",
  1803 + "reference": "cab6c6fefee93d7b7c3a01292a0fe0884ea66644",
  1804 + "shasum": ""
  1805 + },
  1806 + "require": {
  1807 + "ext-tokenizer": "*",
  1808 + "php": ">=5.3.3"
  1809 + },
  1810 + "require-dev": {
  1811 + "phpunit/phpunit": "~4.2"
  1812 + },
  1813 + "type": "library",
  1814 + "extra": {
  1815 + "branch-alias": {
  1816 + "dev-master": "1.4-dev"
  1817 + }
  1818 + },
  1819 + "autoload": {
  1820 + "classmap": [
  1821 + "src/"
  1822 + ]
  1823 + },
  1824 + "notification-url": "https://packagist.org/downloads/",
  1825 + "license": [
  1826 + "BSD-3-Clause"
  1827 + ],
  1828 + "authors": [
  1829 + {
  1830 + "name": "Sebastian Bergmann",
  1831 + "email": "sebastian@phpunit.de"
  1832 + }
  1833 + ],
  1834 + "description": "Wrapper around PHP's tokenizer extension.",
  1835 + "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
  1836 + "keywords": [
  1837 + "tokenizer"
  1838 + ],
  1839 + "time": "2015-09-23 14:46:55"
  1840 + },
  1841 + {
  1842 + "name": "phpunit/phpunit",
  1843 + "version": "4.8.x-dev",
  1844 + "source": {
  1845 + "type": "git",
  1846 + "url": "https://github.com/sebastianbergmann/phpunit.git",
  1847 + "reference": "1a1b63266c046e1856fd03812a4e0ac2b51aa2d5"
  1848 + },
  1849 + "dist": {
  1850 + "type": "zip",
  1851 + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1a1b63266c046e1856fd03812a4e0ac2b51aa2d5",
  1852 + "reference": "1a1b63266c046e1856fd03812a4e0ac2b51aa2d5",
  1853 + "shasum": ""
  1854 + },
  1855 + "require": {
  1856 + "ext-dom": "*",
  1857 + "ext-json": "*",
  1858 + "ext-pcre": "*",
  1859 + "ext-reflection": "*",
  1860 + "ext-spl": "*",
  1861 + "php": ">=5.3.3",
  1862 + "phpspec/prophecy": "^1.3.1",
  1863 + "phpunit/php-code-coverage": "~2.1",
  1864 + "phpunit/php-file-iterator": "~1.4",
  1865 + "phpunit/php-text-template": "~1.2",
  1866 + "phpunit/php-timer": ">=1.0.6",
  1867 + "phpunit/phpunit-mock-objects": "~2.3",
  1868 + "sebastian/comparator": "~1.1",
  1869 + "sebastian/diff": "~1.2",
  1870 + "sebastian/environment": "~1.3",
  1871 + "sebastian/exporter": "~1.2",
  1872 + "sebastian/global-state": "~1.0",
  1873 + "sebastian/version": "~1.0",
  1874 + "symfony/yaml": "~2.1|~3.0"
  1875 + },
  1876 + "suggest": {
  1877 + "phpunit/php-invoker": "~1.1"
  1878 + },
  1879 + "bin": [
  1880 + "phpunit"
  1881 + ],
  1882 + "type": "library",
  1883 + "extra": {
  1884 + "branch-alias": {
  1885 + "dev-master": "4.8.x-dev"
  1886 + }
  1887 + },
  1888 + "autoload": {
  1889 + "classmap": [
  1890 + "src/"
  1891 + ]
  1892 + },
  1893 + "notification-url": "https://packagist.org/downloads/",
  1894 + "license": [
  1895 + "BSD-3-Clause"
  1896 + ],
  1897 + "authors": [
  1898 + {
  1899 + "name": "Sebastian Bergmann",
  1900 + "email": "sebastian@phpunit.de",
  1901 + "role": "lead"
  1902 + }
  1903 + ],
  1904 + "description": "The PHP Unit Testing framework.",
  1905 + "homepage": "https://phpunit.de/",
  1906 + "keywords": [
  1907 + "phpunit",
  1908 + "testing",
  1909 + "xunit"
  1910 + ],
  1911 + "time": "2016-03-14 15:10:21"
  1912 + },
  1913 + {
  1914 + "name": "phpunit/phpunit-mock-objects",
  1915 + "version": "2.3.x-dev",
  1916 + "source": {
  1917 + "type": "git",
  1918 + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
  1919 + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
  1920 + },
  1921 + "dist": {
  1922 + "type": "zip",
  1923 + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
  1924 + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
  1925 + "shasum": ""
  1926 + },
  1927 + "require": {
  1928 + "doctrine/instantiator": "^1.0.2",
  1929 + "php": ">=5.3.3",
  1930 + "phpunit/php-text-template": "~1.2",
  1931 + "sebastian/exporter": "~1.2"
  1932 + },
  1933 + "require-dev": {
  1934 + "phpunit/phpunit": "~4.4"
  1935 + },
  1936 + "suggest": {
  1937 + "ext-soap": "*"
  1938 + },
  1939 + "type": "library",
  1940 + "extra": {
  1941 + "branch-alias": {
  1942 + "dev-master": "2.3.x-dev"
  1943 + }
  1944 + },
  1945 + "autoload": {
  1946 + "classmap": [
  1947 + "src/"
  1948 + ]
  1949 + },
  1950 + "notification-url": "https://packagist.org/downloads/",
  1951 + "license": [
  1952 + "BSD-3-Clause"
  1953 + ],
  1954 + "authors": [
  1955 + {
  1956 + "name": "Sebastian Bergmann",
  1957 + "email": "sb@sebastian-bergmann.de",
  1958 + "role": "lead"
  1959 + }
  1960 + ],
  1961 + "description": "Mock Object library for PHPUnit",
  1962 + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
  1963 + "keywords": [
  1964 + "mock",
  1965 + "xunit"
  1966 + ],
  1967 + "time": "2015-10-02 06:51:40"
  1968 + },
  1969 + {
  1970 + "name": "psr/http-message",
  1971 + "version": "dev-master",
  1972 + "source": {
  1973 + "type": "git",
  1974 + "url": "https://github.com/php-fig/http-message.git",
  1975 + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
  1976 + },
  1977 + "dist": {
  1978 + "type": "zip",
  1979 + "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
  1980 + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
  1981 + "shasum": ""
  1982 + },
  1983 + "require": {
  1984 + "php": ">=5.3.0"
  1985 + },
  1986 + "type": "library",
  1987 + "extra": {
  1988 + "branch-alias": {
  1989 + "dev-master": "1.0.x-dev"
  1990 + }
  1991 + },
  1992 + "autoload": {
  1993 + "psr-4": {
  1994 + "Psr\\Http\\Message\\": "src/"
  1995 + }
  1996 + },
  1997 + "notification-url": "https://packagist.org/downloads/",
  1998 + "license": [
  1999 + "MIT"
  2000 + ],
  2001 + "authors": [
  2002 + {
  2003 + "name": "PHP-FIG",
  2004 + "homepage": "http://www.php-fig.org/"
  2005 + }
  2006 + ],
  2007 + "description": "Common interface for HTTP messages",
  2008 + "keywords": [
  2009 + "http",
  2010 + "http-message",
  2011 + "psr",
  2012 + "psr-7",
  2013 + "request",
  2014 + "response"
  2015 + ],
  2016 + "time": "2015-05-04 20:22:00"
  2017 + },
  2018 + {
  2019 + "name": "rmrevin/yii2-comments",
  2020 + "version": "1.4.2",
  2021 + "source": {
  2022 + "type": "git",
  2023 + "url": "https://github.com/rmrevin/yii2-comments.git",
  2024 + "reference": "c68ddf276fe24ece0173781a8f7391a2cf7e6a12"
  2025 + },
  2026 + "dist": {
  2027 + "type": "zip",
  2028 + "url": "https://api.github.com/repos/rmrevin/yii2-comments/zipball/c68ddf276fe24ece0173781a8f7391a2cf7e6a12",
  2029 + "reference": "c68ddf276fe24ece0173781a8f7391a2cf7e6a12",
  2030 + "shasum": ""
  2031 + },
  2032 + "require": {
  2033 + "php": ">=5.4.0",
  2034 + "rmrevin/yii2-fontawesome": "~2.10",
  2035 + "yiisoft/yii2": "2.0.*"
  2036 + },
  2037 + "type": "yii2-extension",
  2038 + "extra": {
  2039 + "asset-installer-paths": {
  2040 + "npm-asset-library": "vendor/npm",
  2041 + "bower-asset-library": "vendor/bower"
  2042 + }
  2043 + },
  2044 + "autoload": {
  2045 + "psr-4": {
  2046 + "rmrevin\\yii\\module\\Comments\\": ""
  2047 + }
  2048 + },
  2049 + "notification-url": "https://packagist.org/downloads/",
  2050 + "license": [
  2051 + "MIT"
  2052 + ],
  2053 + "authors": [
  2054 + {
  2055 + "name": "Roman Revin",
  2056 + "email": "xgismox@gmail.com",
  2057 + "homepage": "http://rmrevin.ru/"
  2058 + }
  2059 + ],
  2060 + "description": "Comments module for Yii2",
  2061 + "keywords": [
  2062 + "comment",
  2063 + "module",
  2064 + "widget",
  2065 + "yii"
  2066 + ],
  2067 + "time": "2016-03-01 13:18:41"
  2068 + },
  2069 + {
  2070 + "name": "rmrevin/yii2-fontawesome",
  2071 + "version": "2.13.0",
  2072 + "source": {
  2073 + "type": "git",
  2074 + "url": "https://github.com/rmrevin/yii2-fontawesome.git",
  2075 + "reference": "2efbfacb22be59f373d11a7e3dfa9213e2ba18a9"
  2076 + },
  2077 + "dist": {
  2078 + "type": "zip",
  2079 + "url": "https://api.github.com/repos/rmrevin/yii2-fontawesome/zipball/2efbfacb22be59f373d11a7e3dfa9213e2ba18a9",
  2080 + "reference": "2efbfacb22be59f373d11a7e3dfa9213e2ba18a9",
  2081 + "shasum": ""
  2082 + },
  2083 + "require": {
  2084 + "bower-asset/fontawesome": "4.5.*",
  2085 + "php": ">=5.4.0",
  2086 + "yiisoft/yii2": "2.0.*"
  2087 + },
  2088 + "type": "yii2-extension",
  2089 + "extra": {
  2090 + "asset-installer-paths": {
  2091 + "npm-asset-library": "vendor/npm",
  2092 + "bower-asset-library": "vendor/bower"
  2093 + }
  2094 + },
  2095 + "autoload": {
  2096 + "psr-4": {
  2097 + "rmrevin\\yii\\fontawesome\\": ""
  2098 + }
  2099 + },
  2100 + "notification-url": "https://packagist.org/downloads/",
  2101 + "license": [
  2102 + "MIT"
  2103 + ],
  2104 + "authors": [
  2105 + {
  2106 + "name": "Revin Roman",
  2107 + "email": "roman@rmrevin.com",
  2108 + "homepage": "https://rmrevin.com/"
  2109 + }
  2110 + ],
  2111 + "description": "Asset Bundle for Yii2 with Font Awesome",
  2112 + "keywords": [
  2113 + "asset",
  2114 + "awesome",
  2115 + "bundle",
  2116 + "font",
  2117 + "yii"
  2118 + ],
  2119 + "time": "2015-11-26 15:24:53"
  2120 + },
  2121 + {
  2122 + "name": "sebastian/comparator",
  2123 + "version": "dev-master",
  2124 + "source": {
  2125 + "type": "git",
  2126 + "url": "https://github.com/sebastianbergmann/comparator.git",
  2127 + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
  2128 + },
  2129 + "dist": {
  2130 + "type": "zip",
  2131 + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
  2132 + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
  2133 + "shasum": ""
  2134 + },
  2135 + "require": {
  2136 + "php": ">=5.3.3",
  2137 + "sebastian/diff": "~1.2",
  2138 + "sebastian/exporter": "~1.2"
  2139 + },
  2140 + "require-dev": {
  2141 + "phpunit/phpunit": "~4.4"
  2142 + },
  2143 + "type": "library",
  2144 + "extra": {
  2145 + "branch-alias": {
  2146 + "dev-master": "1.2.x-dev"
  2147 + }
  2148 + },
  2149 + "autoload": {
  2150 + "classmap": [
  2151 + "src/"
  2152 + ]
  2153 + },
  2154 + "notification-url": "https://packagist.org/downloads/",
  2155 + "license": [
  2156 + "BSD-3-Clause"
  2157 + ],
  2158 + "authors": [
  2159 + {
  2160 + "name": "Jeff Welch",
  2161 + "email": "whatthejeff@gmail.com"
  2162 + },
  2163 + {
  2164 + "name": "Volker Dusch",
  2165 + "email": "github@wallbash.com"
  2166 + },
  2167 + {
  2168 + "name": "Bernhard Schussek",
  2169 + "email": "bschussek@2bepublished.at"
  2170 + },
  2171 + {
  2172 + "name": "Sebastian Bergmann",
  2173 + "email": "sebastian@phpunit.de"
  2174 + }
  2175 + ],
  2176 + "description": "Provides the functionality to compare PHP values for equality",
  2177 + "homepage": "http://www.github.com/sebastianbergmann/comparator",
  2178 + "keywords": [
  2179 + "comparator",
  2180 + "compare",
  2181 + "equality"
  2182 + ],
  2183 + "time": "2015-07-26 15:48:44"
  2184 + },
  2185 + {
  2186 + "name": "sebastian/diff",
  2187 + "version": "dev-master",
  2188 + "source": {
  2189 + "type": "git",
  2190 + "url": "https://github.com/sebastianbergmann/diff.git",
  2191 + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
  2192 + },
  2193 + "dist": {
  2194 + "type": "zip",
  2195 + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
  2196 + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
  2197 + "shasum": ""
  2198 + },
  2199 + "require": {
  2200 + "php": ">=5.3.3"
  2201 + },
  2202 + "require-dev": {
  2203 + "phpunit/phpunit": "~4.8"
  2204 + },
  2205 + "type": "library",
  2206 + "extra": {
  2207 + "branch-alias": {
  2208 + "dev-master": "1.4-dev"
  2209 + }
  2210 + },
  2211 + "autoload": {
  2212 + "classmap": [
  2213 + "src/"
  2214 + ]
  2215 + },
  2216 + "notification-url": "https://packagist.org/downloads/",
  2217 + "license": [
  2218 + "BSD-3-Clause"
  2219 + ],
  2220 + "authors": [
  2221 + {
  2222 + "name": "Kore Nordmann",
  2223 + "email": "mail@kore-nordmann.de"
  2224 + },
  2225 + {
  2226 + "name": "Sebastian Bergmann",
  2227 + "email": "sebastian@phpunit.de"
  2228 + }
  2229 + ],
  2230 + "description": "Diff implementation",
  2231 + "homepage": "https://github.com/sebastianbergmann/diff",
  2232 + "keywords": [
  2233 + "diff"
  2234 + ],
  2235 + "time": "2015-12-08 07:14:41"
  2236 + },
  2237 + {
  2238 + "name": "sebastian/environment",
  2239 + "version": "dev-master",
  2240 + "source": {
  2241 + "type": "git",
  2242 + "url": "https://github.com/sebastianbergmann/environment.git",
  2243 + "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf"
  2244 + },
  2245 + "dist": {
  2246 + "type": "zip",
  2247 + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf",
  2248 + "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf",
  2249 + "shasum": ""
  2250 + },
  2251 + "require": {
  2252 + "php": ">=5.3.3"
  2253 + },
  2254 + "require-dev": {
  2255 + "phpunit/phpunit": "~4.4"
  2256 + },
  2257 + "type": "library",
  2258 + "extra": {
  2259 + "branch-alias": {
  2260 + "dev-master": "1.3.x-dev"
  2261 + }
  2262 + },
  2263 + "autoload": {
  2264 + "classmap": [
  2265 + "src/"
  2266 + ]
  2267 + },
  2268 + "notification-url": "https://packagist.org/downloads/",
  2269 + "license": [
  2270 + "BSD-3-Clause"
  2271 + ],
  2272 + "authors": [
  2273 + {
  2274 + "name": "Sebastian Bergmann",
  2275 + "email": "sebastian@phpunit.de"
  2276 + }
  2277 + ],
  2278 + "description": "Provides functionality to handle HHVM/PHP environments",
  2279 + "homepage": "http://www.github.com/sebastianbergmann/environment",
  2280 + "keywords": [
  2281 + "Xdebug",
  2282 + "environment",
  2283 + "hhvm"
  2284 + ],
  2285 + "time": "2016-02-26 18:40:46"
  2286 + },
  2287 + {
  2288 + "name": "sebastian/exporter",
  2289 + "version": "dev-master",
  2290 + "source": {
  2291 + "type": "git",
  2292 + "url": "https://github.com/sebastianbergmann/exporter.git",
  2293 + "reference": "f88f8936517d54ae6d589166810877fb2015d0a2"
  2294 + },
  2295 + "dist": {
  2296 + "type": "zip",
  2297 + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f88f8936517d54ae6d589166810877fb2015d0a2",
  2298 + "reference": "f88f8936517d54ae6d589166810877fb2015d0a2",
  2299 + "shasum": ""
  2300 + },
  2301 + "require": {
  2302 + "php": ">=5.3.3",
  2303 + "sebastian/recursion-context": "~1.0"
  2304 + },
  2305 + "require-dev": {
  2306 + "ext-mbstring": "*",
  2307 + "phpunit/phpunit": "~4.4"
  2308 + },
  2309 + "type": "library",
  2310 + "extra": {
  2311 + "branch-alias": {
  2312 + "dev-master": "1.3.x-dev"
  2313 + }
  2314 + },
  2315 + "autoload": {
  2316 + "classmap": [
  2317 + "src/"
  2318 + ]
  2319 + },
  2320 + "notification-url": "https://packagist.org/downloads/",
  2321 + "license": [
  2322 + "BSD-3-Clause"
  2323 + ],
  2324 + "authors": [
  2325 + {
  2326 + "name": "Jeff Welch",
  2327 + "email": "whatthejeff@gmail.com"
  2328 + },
  2329 + {
  2330 + "name": "Volker Dusch",
  2331 + "email": "github@wallbash.com"
  2332 + },
  2333 + {
  2334 + "name": "Bernhard Schussek",
  2335 + "email": "bschussek@2bepublished.at"
  2336 + },
  2337 + {
  2338 + "name": "Sebastian Bergmann",
  2339 + "email": "sebastian@phpunit.de"
  2340 + },
  2341 + {
  2342 + "name": "Adam Harvey",
  2343 + "email": "aharvey@php.net"
  2344 + }
  2345 + ],
  2346 + "description": "Provides the functionality to export PHP variables for visualization",
  2347 + "homepage": "http://www.github.com/sebastianbergmann/exporter",
  2348 + "keywords": [
  2349 + "export",
  2350 + "exporter"
  2351 + ],
  2352 + "time": "2015-08-09 04:23:41"
  2353 + },
  2354 + {
  2355 + "name": "sebastian/global-state",
  2356 + "version": "1.1.1",
  2357 + "source": {
  2358 + "type": "git",
  2359 + "url": "https://github.com/sebastianbergmann/global-state.git",
  2360 + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
  2361 + },
  2362 + "dist": {
  2363 + "type": "zip",
  2364 + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
  2365 + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
  2366 + "shasum": ""
  2367 + },
  2368 + "require": {
  2369 + "php": ">=5.3.3"
  2370 + },
  2371 + "require-dev": {
  2372 + "phpunit/phpunit": "~4.2"
  2373 + },
  2374 + "suggest": {
  2375 + "ext-uopz": "*"
  2376 + },
  2377 + "type": "library",
  2378 + "extra": {
  2379 + "branch-alias": {
  2380 + "dev-master": "1.0-dev"
  2381 + }
  2382 + },
  2383 + "autoload": {
  2384 + "classmap": [
  2385 + "src/"
  2386 + ]
  2387 + },
  2388 + "notification-url": "https://packagist.org/downloads/",
  2389 + "license": [
  2390 + "BSD-3-Clause"
  2391 + ],
  2392 + "authors": [
  2393 + {
  2394 + "name": "Sebastian Bergmann",
  2395 + "email": "sebastian@phpunit.de"
  2396 + }
  2397 + ],
  2398 + "description": "Snapshotting of global state",
  2399 + "homepage": "http://www.github.com/sebastianbergmann/global-state",
  2400 + "keywords": [
  2401 + "global state"
  2402 + ],
  2403 + "time": "2015-10-12 03:26:01"
  2404 + },
  2405 + {
  2406 + "name": "sebastian/recursion-context",
  2407 + "version": "dev-master",
  2408 + "source": {
  2409 + "type": "git",
  2410 + "url": "https://github.com/sebastianbergmann/recursion-context.git",
  2411 + "reference": "7ff5b1b3dcc55b8ab8ae61ef99d4730940856ee7"
  2412 + },
  2413 + "dist": {
  2414 + "type": "zip",
  2415 + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/7ff5b1b3dcc55b8ab8ae61ef99d4730940856ee7",
  2416 + "reference": "7ff5b1b3dcc55b8ab8ae61ef99d4730940856ee7",
  2417 + "shasum": ""
  2418 + },
  2419 + "require": {
  2420 + "php": ">=5.3.3"
  2421 + },
  2422 + "require-dev": {
  2423 + "phpunit/phpunit": "~4.4"
  2424 + },
  2425 + "type": "library",
  2426 + "extra": {
  2427 + "branch-alias": {
  2428 + "dev-master": "1.0.x-dev"
  2429 + }
  2430 + },
  2431 + "autoload": {
  2432 + "classmap": [
  2433 + "src/"
  2434 + ]
  2435 + },
  2436 + "notification-url": "https://packagist.org/downloads/",
  2437 + "license": [
  2438 + "BSD-3-Clause"
  2439 + ],
  2440 + "authors": [
  2441 + {
  2442 + "name": "Jeff Welch",
  2443 + "email": "whatthejeff@gmail.com"
  2444 + },
  2445 + {
  2446 + "name": "Sebastian Bergmann",
  2447 + "email": "sebastian@phpunit.de"
  2448 + },
  2449 + {
  2450 + "name": "Adam Harvey",
  2451 + "email": "aharvey@php.net"
  2452 + }
  2453 + ],
  2454 + "description": "Provides functionality to recursively process PHP variables",
  2455 + "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
  2456 + "time": "2016-01-28 05:39:29"
  2457 + },
  2458 + {
  2459 + "name": "sebastian/version",
  2460 + "version": "1.0.6",
  2461 + "source": {
  2462 + "type": "git",
  2463 + "url": "https://github.com/sebastianbergmann/version.git",
  2464 + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
  2465 + },
  2466 + "dist": {
  2467 + "type": "zip",
  2468 + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
  2469 + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
  2470 + "shasum": ""
  2471 + },
  2472 + "type": "library",
  2473 + "autoload": {
  2474 + "classmap": [
  2475 + "src/"
  2476 + ]
  2477 + },
  2478 + "notification-url": "https://packagist.org/downloads/",
  2479 + "license": [
  2480 + "BSD-3-Clause"
  2481 + ],
  2482 + "authors": [
  2483 + {
  2484 + "name": "Sebastian Bergmann",
  2485 + "email": "sebastian@phpunit.de",
  2486 + "role": "lead"
  2487 + }
  2488 + ],
  2489 + "description": "Library that helps with managing the version number of Git-hosted PHP projects",
  2490 + "homepage": "https://github.com/sebastianbergmann/version",
  2491 + "time": "2015-06-21 13:59:46"
  2492 + },
  2493 + {
  2494 + "name": "swiftmailer/swiftmailer",
  2495 + "version": "5.x-dev",
  2496 + "source": {
  2497 + "type": "git",
  2498 + "url": "https://github.com/swiftmailer/swiftmailer.git",
  2499 + "reference": "fffbc0e2a7e376dbb0a4b5f2ff6847330f20ccf9"
  2500 + },
  2501 + "dist": {
  2502 + "type": "zip",
  2503 + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/fffbc0e2a7e376dbb0a4b5f2ff6847330f20ccf9",
  2504 + "reference": "fffbc0e2a7e376dbb0a4b5f2ff6847330f20ccf9",
  2505 + "shasum": ""
  2506 + },
  2507 + "require": {
  2508 + "php": ">=5.3.3"
  2509 + },
  2510 + "require-dev": {
  2511 + "mockery/mockery": "~0.9.1,<0.9.4"
  2512 + },
  2513 + "type": "library",
  2514 + "extra": {
  2515 + "branch-alias": {
  2516 + "dev-master": "5.4-dev"
  2517 + }
  2518 + },
  2519 + "autoload": {
  2520 + "files": [
  2521 + "lib/swift_required.php"
  2522 + ]
  2523 + },
  2524 + "notification-url": "https://packagist.org/downloads/",
  2525 + "license": [
  2526 + "MIT"
  2527 + ],
  2528 + "authors": [
  2529 + {
  2530 + "name": "Chris Corbyn"
  2531 + },
  2532 + {
  2533 + "name": "Fabien Potencier",
  2534 + "email": "fabien@symfony.com"
  2535 + }
  2536 + ],
  2537 + "description": "Swiftmailer, free feature-rich PHP mailer",
  2538 + "homepage": "http://swiftmailer.org",
  2539 + "keywords": [
  2540 + "email",
  2541 + "mail",
  2542 + "mailer"
  2543 + ],
  2544 + "time": "2016-01-03 15:42:47"
  2545 + },
  2546 + {
  2547 + "name": "symfony/browser-kit",
  2548 + "version": "3.0.x-dev",
  2549 + "source": {
  2550 + "type": "git",
  2551 + "url": "https://github.com/symfony/browser-kit.git",
  2552 + "reference": "e07127ac31230b30887c2dddf3708d883d239b14"
  2553 + },
  2554 + "dist": {
  2555 + "type": "zip",
  2556 + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/e07127ac31230b30887c2dddf3708d883d239b14",
  2557 + "reference": "e07127ac31230b30887c2dddf3708d883d239b14",
  2558 + "shasum": ""
  2559 + },
  2560 + "require": {
  2561 + "php": ">=5.5.9",
  2562 + "symfony/dom-crawler": "~2.8|~3.0"
  2563 + },
  2564 + "require-dev": {
  2565 + "symfony/css-selector": "~2.8|~3.0",
  2566 + "symfony/process": "~2.8|~3.0"
  2567 + },
  2568 + "suggest": {
  2569 + "symfony/process": ""
  2570 + },
  2571 + "type": "library",
  2572 + "extra": {
  2573 + "branch-alias": {
  2574 + "dev-master": "3.0-dev"
  2575 + }
  2576 + },
  2577 + "autoload": {
  2578 + "psr-4": {
  2579 + "Symfony\\Component\\BrowserKit\\": ""
  2580 + },
  2581 + "exclude-from-classmap": [
  2582 + "/Tests/"
  2583 + ]
  2584 + },
  2585 + "notification-url": "https://packagist.org/downloads/",
  2586 + "license": [
  2587 + "MIT"
  2588 + ],
  2589 + "authors": [
  2590 + {
  2591 + "name": "Fabien Potencier",
  2592 + "email": "fabien@symfony.com"
  2593 + },
  2594 + {
  2595 + "name": "Symfony Community",
  2596 + "homepage": "https://symfony.com/contributors"
  2597 + }
  2598 + ],
  2599 + "description": "Symfony BrowserKit Component",
  2600 + "homepage": "https://symfony.com",
  2601 + "time": "2016-03-04 07:55:57"
  2602 + },
  2603 + {
  2604 + "name": "symfony/console",
  2605 + "version": "3.0.x-dev",
  2606 + "source": {
  2607 + "type": "git",
  2608 + "url": "https://github.com/symfony/console.git",
  2609 + "reference": "6b1175135bc2a74c08a28d89761272de8beed8cd"
  2610 + },
  2611 + "dist": {
  2612 + "type": "zip",
  2613 + "url": "https://api.github.com/repos/symfony/console/zipball/6b1175135bc2a74c08a28d89761272de8beed8cd",
  2614 + "reference": "6b1175135bc2a74c08a28d89761272de8beed8cd",
  2615 + "shasum": ""
  2616 + },
  2617 + "require": {
  2618 + "php": ">=5.5.9",
  2619 + "symfony/polyfill-mbstring": "~1.0"
  2620 + },
  2621 + "require-dev": {
  2622 + "psr/log": "~1.0",
  2623 + "symfony/event-dispatcher": "~2.8|~3.0",
  2624 + "symfony/process": "~2.8|~3.0"
  2625 + },
  2626 + "suggest": {
  2627 + "psr/log": "For using the console logger",
  2628 + "symfony/event-dispatcher": "",
  2629 + "symfony/process": ""
  2630 + },
  2631 + "type": "library",
  2632 + "extra": {
  2633 + "branch-alias": {
  2634 + "dev-master": "3.0-dev"
  2635 + }
1104 2636 },
1105 2637 "autoload": {
1106 2638 "psr-4": {
1107   - "rmrevin\\yii\\module\\Comments\\": ""
1108   - }
  2639 + "Symfony\\Component\\Console\\": ""
  2640 + },
  2641 + "exclude-from-classmap": [
  2642 + "/Tests/"
  2643 + ]
1109 2644 },
1110 2645 "notification-url": "https://packagist.org/downloads/",
1111 2646 "license": [
... ... @@ -1113,101 +2648,268 @@
1113 2648 ],
1114 2649 "authors": [
1115 2650 {
1116   - "name": "Roman Revin",
1117   - "email": "xgismox@gmail.com",
1118   - "homepage": "http://rmrevin.ru/"
  2651 + "name": "Fabien Potencier",
  2652 + "email": "fabien@symfony.com"
  2653 + },
  2654 + {
  2655 + "name": "Symfony Community",
  2656 + "homepage": "https://symfony.com/contributors"
1119 2657 }
1120 2658 ],
1121   - "description": "Comments module for Yii2",
1122   - "keywords": [
1123   - "comment",
1124   - "module",
1125   - "widget",
1126   - "yii"
  2659 + "description": "Symfony Console Component",
  2660 + "homepage": "https://symfony.com",
  2661 + "time": "2016-03-16 17:00:50"
  2662 + },
  2663 + {
  2664 + "name": "symfony/css-selector",
  2665 + "version": "3.0.x-dev",
  2666 + "source": {
  2667 + "type": "git",
  2668 + "url": "https://github.com/symfony/css-selector.git",
  2669 + "reference": "65e764f404685f2dc20c057e889b3ad04b2e2db0"
  2670 + },
  2671 + "dist": {
  2672 + "type": "zip",
  2673 + "url": "https://api.github.com/repos/symfony/css-selector/zipball/65e764f404685f2dc20c057e889b3ad04b2e2db0",
  2674 + "reference": "65e764f404685f2dc20c057e889b3ad04b2e2db0",
  2675 + "shasum": ""
  2676 + },
  2677 + "require": {
  2678 + "php": ">=5.5.9"
  2679 + },
  2680 + "type": "library",
  2681 + "extra": {
  2682 + "branch-alias": {
  2683 + "dev-master": "3.0-dev"
  2684 + }
  2685 + },
  2686 + "autoload": {
  2687 + "psr-4": {
  2688 + "Symfony\\Component\\CssSelector\\": ""
  2689 + },
  2690 + "exclude-from-classmap": [
  2691 + "/Tests/"
  2692 + ]
  2693 + },
  2694 + "notification-url": "https://packagist.org/downloads/",
  2695 + "license": [
  2696 + "MIT"
1127 2697 ],
1128   - "time": "2016-03-01 13:18:41"
  2698 + "authors": [
  2699 + {
  2700 + "name": "Jean-François Simon",
  2701 + "email": "jeanfrancois.simon@sensiolabs.com"
  2702 + },
  2703 + {
  2704 + "name": "Fabien Potencier",
  2705 + "email": "fabien@symfony.com"
  2706 + },
  2707 + {
  2708 + "name": "Symfony Community",
  2709 + "homepage": "https://symfony.com/contributors"
  2710 + }
  2711 + ],
  2712 + "description": "Symfony CssSelector Component",
  2713 + "homepage": "https://symfony.com",
  2714 + "time": "2016-03-04 07:55:57"
1129 2715 },
1130 2716 {
1131   - "name": "rmrevin/yii2-fontawesome",
1132   - "version": "2.13.0",
  2717 + "name": "symfony/dom-crawler",
  2718 + "version": "3.0.x-dev",
1133 2719 "source": {
1134 2720 "type": "git",
1135   - "url": "https://github.com/rmrevin/yii2-fontawesome.git",
1136   - "reference": "2efbfacb22be59f373d11a7e3dfa9213e2ba18a9"
  2721 + "url": "https://github.com/symfony/dom-crawler.git",
  2722 + "reference": "18a06d7a9af41718c20764a674a0ebba3bc40d1f"
1137 2723 },
1138 2724 "dist": {
1139 2725 "type": "zip",
1140   - "url": "https://api.github.com/repos/rmrevin/yii2-fontawesome/zipball/2efbfacb22be59f373d11a7e3dfa9213e2ba18a9",
1141   - "reference": "2efbfacb22be59f373d11a7e3dfa9213e2ba18a9",
  2726 + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/18a06d7a9af41718c20764a674a0ebba3bc40d1f",
  2727 + "reference": "18a06d7a9af41718c20764a674a0ebba3bc40d1f",
1142 2728 "shasum": ""
1143 2729 },
1144 2730 "require": {
1145   - "bower-asset/fontawesome": "4.5.*",
1146   - "php": ">=5.4.0",
1147   - "yiisoft/yii2": "2.0.*"
  2731 + "php": ">=5.5.9",
  2732 + "symfony/polyfill-mbstring": "~1.0"
1148 2733 },
1149   - "type": "yii2-extension",
  2734 + "require-dev": {
  2735 + "symfony/css-selector": "~2.8|~3.0"
  2736 + },
  2737 + "suggest": {
  2738 + "symfony/css-selector": ""
  2739 + },
  2740 + "type": "library",
1150 2741 "extra": {
1151   - "asset-installer-paths": {
1152   - "npm-asset-library": "vendor/npm",
1153   - "bower-asset-library": "vendor/bower"
  2742 + "branch-alias": {
  2743 + "dev-master": "3.0-dev"
1154 2744 }
1155 2745 },
1156 2746 "autoload": {
1157 2747 "psr-4": {
1158   - "rmrevin\\yii\\fontawesome\\": ""
  2748 + "Symfony\\Component\\DomCrawler\\": ""
  2749 + },
  2750 + "exclude-from-classmap": [
  2751 + "/Tests/"
  2752 + ]
  2753 + },
  2754 + "notification-url": "https://packagist.org/downloads/",
  2755 + "license": [
  2756 + "MIT"
  2757 + ],
  2758 + "authors": [
  2759 + {
  2760 + "name": "Fabien Potencier",
  2761 + "email": "fabien@symfony.com"
  2762 + },
  2763 + {
  2764 + "name": "Symfony Community",
  2765 + "homepage": "https://symfony.com/contributors"
  2766 + }
  2767 + ],
  2768 + "description": "Symfony DomCrawler Component",
  2769 + "homepage": "https://symfony.com",
  2770 + "time": "2016-03-23 13:23:25"
  2771 + },
  2772 + {
  2773 + "name": "symfony/event-dispatcher",
  2774 + "version": "3.0.x-dev",
  2775 + "source": {
  2776 + "type": "git",
  2777 + "url": "https://github.com/symfony/event-dispatcher.git",
  2778 + "reference": "9002dcf018d884d294b1ef20a6f968efc1128f39"
  2779 + },
  2780 + "dist": {
  2781 + "type": "zip",
  2782 + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9002dcf018d884d294b1ef20a6f968efc1128f39",
  2783 + "reference": "9002dcf018d884d294b1ef20a6f968efc1128f39",
  2784 + "shasum": ""
  2785 + },
  2786 + "require": {
  2787 + "php": ">=5.5.9"
  2788 + },
  2789 + "require-dev": {
  2790 + "psr/log": "~1.0",
  2791 + "symfony/config": "~2.8|~3.0",
  2792 + "symfony/dependency-injection": "~2.8|~3.0",
  2793 + "symfony/expression-language": "~2.8|~3.0",
  2794 + "symfony/stopwatch": "~2.8|~3.0"
  2795 + },
  2796 + "suggest": {
  2797 + "symfony/dependency-injection": "",
  2798 + "symfony/http-kernel": ""
  2799 + },
  2800 + "type": "library",
  2801 + "extra": {
  2802 + "branch-alias": {
  2803 + "dev-master": "3.0-dev"
1159 2804 }
1160 2805 },
  2806 + "autoload": {
  2807 + "psr-4": {
  2808 + "Symfony\\Component\\EventDispatcher\\": ""
  2809 + },
  2810 + "exclude-from-classmap": [
  2811 + "/Tests/"
  2812 + ]
  2813 + },
1161 2814 "notification-url": "https://packagist.org/downloads/",
1162 2815 "license": [
1163 2816 "MIT"
1164 2817 ],
1165 2818 "authors": [
1166 2819 {
1167   - "name": "Revin Roman",
1168   - "email": "roman@rmrevin.com",
1169   - "homepage": "https://rmrevin.com/"
  2820 + "name": "Fabien Potencier",
  2821 + "email": "fabien@symfony.com"
  2822 + },
  2823 + {
  2824 + "name": "Symfony Community",
  2825 + "homepage": "https://symfony.com/contributors"
1170 2826 }
1171 2827 ],
1172   - "description": "Asset Bundle for Yii2 with Font Awesome",
1173   - "keywords": [
1174   - "asset",
1175   - "awesome",
1176   - "bundle",
1177   - "font",
1178   - "yii"
  2828 + "description": "Symfony EventDispatcher Component",
  2829 + "homepage": "https://symfony.com",
  2830 + "time": "2016-03-10 10:34:12"
  2831 + },
  2832 + {
  2833 + "name": "symfony/finder",
  2834 + "version": "3.0.x-dev",
  2835 + "source": {
  2836 + "type": "git",
  2837 + "url": "https://github.com/symfony/finder.git",
  2838 + "reference": "c54e407b35bc098916704e9fd090da21da4c4f52"
  2839 + },
  2840 + "dist": {
  2841 + "type": "zip",
  2842 + "url": "https://api.github.com/repos/symfony/finder/zipball/c54e407b35bc098916704e9fd090da21da4c4f52",
  2843 + "reference": "c54e407b35bc098916704e9fd090da21da4c4f52",
  2844 + "shasum": ""
  2845 + },
  2846 + "require": {
  2847 + "php": ">=5.5.9"
  2848 + },
  2849 + "type": "library",
  2850 + "extra": {
  2851 + "branch-alias": {
  2852 + "dev-master": "3.0-dev"
  2853 + }
  2854 + },
  2855 + "autoload": {
  2856 + "psr-4": {
  2857 + "Symfony\\Component\\Finder\\": ""
  2858 + },
  2859 + "exclude-from-classmap": [
  2860 + "/Tests/"
  2861 + ]
  2862 + },
  2863 + "notification-url": "https://packagist.org/downloads/",
  2864 + "license": [
  2865 + "MIT"
1179 2866 ],
1180   - "time": "2015-11-26 15:24:53"
  2867 + "authors": [
  2868 + {
  2869 + "name": "Fabien Potencier",
  2870 + "email": "fabien@symfony.com"
  2871 + },
  2872 + {
  2873 + "name": "Symfony Community",
  2874 + "homepage": "https://symfony.com/contributors"
  2875 + }
  2876 + ],
  2877 + "description": "Symfony Finder Component",
  2878 + "homepage": "https://symfony.com",
  2879 + "time": "2016-03-10 11:13:05"
1181 2880 },
1182 2881 {
1183   - "name": "swiftmailer/swiftmailer",
1184   - "version": "5.x-dev",
  2882 + "name": "symfony/polyfill-mbstring",
  2883 + "version": "dev-master",
1185 2884 "source": {
1186 2885 "type": "git",
1187   - "url": "https://github.com/swiftmailer/swiftmailer.git",
1188   - "reference": "fffbc0e2a7e376dbb0a4b5f2ff6847330f20ccf9"
  2886 + "url": "https://github.com/symfony/polyfill-mbstring.git",
  2887 + "reference": "1289d16209491b584839022f29257ad859b8532d"
1189 2888 },
1190 2889 "dist": {
1191 2890 "type": "zip",
1192   - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/fffbc0e2a7e376dbb0a4b5f2ff6847330f20ccf9",
1193   - "reference": "fffbc0e2a7e376dbb0a4b5f2ff6847330f20ccf9",
  2891 + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/1289d16209491b584839022f29257ad859b8532d",
  2892 + "reference": "1289d16209491b584839022f29257ad859b8532d",
1194 2893 "shasum": ""
1195 2894 },
1196 2895 "require": {
1197 2896 "php": ">=5.3.3"
1198 2897 },
1199   - "require-dev": {
1200   - "mockery/mockery": "~0.9.1,<0.9.4"
  2898 + "suggest": {
  2899 + "ext-mbstring": "For best performance"
1201 2900 },
1202 2901 "type": "library",
1203 2902 "extra": {
1204 2903 "branch-alias": {
1205   - "dev-master": "5.4-dev"
  2904 + "dev-master": "1.1-dev"
1206 2905 }
1207 2906 },
1208 2907 "autoload": {
  2908 + "psr-4": {
  2909 + "Symfony\\Polyfill\\Mbstring\\": ""
  2910 + },
1209 2911 "files": [
1210   - "lib/swift_required.php"
  2912 + "bootstrap.php"
1211 2913 ]
1212 2914 },
1213 2915 "notification-url": "https://packagist.org/downloads/",
... ... @@ -1216,21 +2918,73 @@
1216 2918 ],
1217 2919 "authors": [
1218 2920 {
1219   - "name": "Chris Corbyn"
  2921 + "name": "Nicolas Grekas",
  2922 + "email": "p@tchwork.com"
1220 2923 },
1221 2924 {
1222   - "name": "Fabien Potencier",
1223   - "email": "fabien@symfony.com"
  2925 + "name": "Symfony Community",
  2926 + "homepage": "https://symfony.com/contributors"
1224 2927 }
1225 2928 ],
1226   - "description": "Swiftmailer, free feature-rich PHP mailer",
1227   - "homepage": "http://swiftmailer.org",
  2929 + "description": "Symfony polyfill for the Mbstring extension",
  2930 + "homepage": "https://symfony.com",
1228 2931 "keywords": [
1229   - "email",
1230   - "mail",
1231   - "mailer"
  2932 + "compatibility",
  2933 + "mbstring",
  2934 + "polyfill",
  2935 + "portable",
  2936 + "shim"
1232 2937 ],
1233   - "time": "2016-01-03 15:42:47"
  2938 + "time": "2016-01-20 09:13:37"
  2939 + },
  2940 + {
  2941 + "name": "symfony/yaml",
  2942 + "version": "3.0.x-dev",
  2943 + "source": {
  2944 + "type": "git",
  2945 + "url": "https://github.com/symfony/yaml.git",
  2946 + "reference": "0047c8366744a16de7516622c5b7355336afae96"
  2947 + },
  2948 + "dist": {
  2949 + "type": "zip",
  2950 + "url": "https://api.github.com/repos/symfony/yaml/zipball/0047c8366744a16de7516622c5b7355336afae96",
  2951 + "reference": "0047c8366744a16de7516622c5b7355336afae96",
  2952 + "shasum": ""
  2953 + },
  2954 + "require": {
  2955 + "php": ">=5.5.9"
  2956 + },
  2957 + "type": "library",
  2958 + "extra": {
  2959 + "branch-alias": {
  2960 + "dev-master": "3.0-dev"
  2961 + }
  2962 + },
  2963 + "autoload": {
  2964 + "psr-4": {
  2965 + "Symfony\\Component\\Yaml\\": ""
  2966 + },
  2967 + "exclude-from-classmap": [
  2968 + "/Tests/"
  2969 + ]
  2970 + },
  2971 + "notification-url": "https://packagist.org/downloads/",
  2972 + "license": [
  2973 + "MIT"
  2974 + ],
  2975 + "authors": [
  2976 + {
  2977 + "name": "Fabien Potencier",
  2978 + "email": "fabien@symfony.com"
  2979 + },
  2980 + {
  2981 + "name": "Symfony Community",
  2982 + "homepage": "https://symfony.com/contributors"
  2983 + }
  2984 + ],
  2985 + "description": "Symfony Yaml Component",
  2986 + "homepage": "https://symfony.com",
  2987 + "time": "2016-03-04 07:55:57"
1234 2988 },
1235 2989 {
1236 2990 "name": "yiisoft/yii2",
... ... @@ -1238,12 +2992,12 @@
1238 2992 "source": {
1239 2993 "type": "git",
1240 2994 "url": "https://github.com/yiisoft/yii2-framework.git",
1241   - "reference": "18c78d7d1c81cbb5722a8afb5940bc82eb45faab"
  2995 + "reference": "bcc317666439a8ec1dc28874e0577b860b6dd6b3"
1242 2996 },
1243 2997 "dist": {
1244 2998 "type": "zip",
1245   - "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/18c78d7d1c81cbb5722a8afb5940bc82eb45faab",
1246   - "reference": "18c78d7d1c81cbb5722a8afb5940bc82eb45faab",
  2999 + "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/bcc317666439a8ec1dc28874e0577b860b6dd6b3",
  3000 + "reference": "bcc317666439a8ec1dc28874e0577b860b6dd6b3",
1247 3001 "shasum": ""
1248 3002 },
1249 3003 "require": {
... ... @@ -1324,7 +3078,7 @@
1324 3078 "framework",
1325 3079 "yii2"
1326 3080 ],
1327   - "time": "2016-03-23 07:31:27"
  3081 + "time": "2016-03-30 14:53:41"
1328 3082 },
1329 3083 {
1330 3084 "name": "yiisoft/yii2-bootstrap",
... ... @@ -1332,12 +3086,12 @@
1332 3086 "source": {
1333 3087 "type": "git",
1334 3088 "url": "https://github.com/yiisoft/yii2-bootstrap.git",
1335   - "reference": "e64170ffa5678be6cb8c3decf92feac8142aa523"
  3089 + "reference": "4dd9f52e2a376a875d998de6ab4c381291b0c69e"
1336 3090 },
1337 3091 "dist": {
1338 3092 "type": "zip",
1339   - "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/e64170ffa5678be6cb8c3decf92feac8142aa523",
1340   - "reference": "e64170ffa5678be6cb8c3decf92feac8142aa523",
  3093 + "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/4dd9f52e2a376a875d998de6ab4c381291b0c69e",
  3094 + "reference": "4dd9f52e2a376a875d998de6ab4c381291b0c69e",
1341 3095 "shasum": ""
1342 3096 },
1343 3097 "require": {
... ... @@ -1374,7 +3128,7 @@
1374 3128 "bootstrap",
1375 3129 "yii2"
1376 3130 ],
1377   - "time": "2016-03-21 19:11:20"
  3131 + "time": "2016-03-30 22:44:25"
1378 3132 },
1379 3133 {
1380 3134 "name": "yiisoft/yii2-composer",
... ... @@ -1477,12 +3231,12 @@
1477 3231 "source": {
1478 3232 "type": "git",
1479 3233 "url": "https://github.com/yiisoft/yii2-jui.git",
1480   - "reference": "226ffd897b26965a357e187cdf67f6c2e43e3139"
  3234 + "reference": "69cd9763b4807dbbce367d599dc615c5b8a8ef4f"
1481 3235 },
1482 3236 "dist": {
1483 3237 "type": "zip",
1484   - "url": "https://api.github.com/repos/yiisoft/yii2-jui/zipball/226ffd897b26965a357e187cdf67f6c2e43e3139",
1485   - "reference": "226ffd897b26965a357e187cdf67f6c2e43e3139",
  3238 + "url": "https://api.github.com/repos/yiisoft/yii2-jui/zipball/69cd9763b4807dbbce367d599dc615c5b8a8ef4f",
  3239 + "reference": "69cd9763b4807dbbce367d599dc615c5b8a8ef4f",
1486 3240 "shasum": ""
1487 3241 },
1488 3242 "require": {
... ... @@ -1519,7 +3273,7 @@
1519 3273 "jQuery UI",
1520 3274 "yii2"
1521 3275 ],
1522   - "time": "2016-03-21 19:14:08"
  3276 + "time": "2016-03-29 21:32:13"
1523 3277 },
1524 3278 {
1525 3279 "name": "yiisoft/yii2-swiftmailer",
... ... @@ -1606,12 +3360,12 @@
1606 3360 "source": {
1607 3361 "type": "git",
1608 3362 "url": "https://github.com/fzaninotto/Faker.git",
1609   - "reference": "bb09cf8982f89b50bb8bc6c0f9e451353ad17065"
  3363 + "reference": "8deb6343c80c4edf546a6fff01a2b05c7dc59ac4"
1610 3364 },
1611 3365 "dist": {
1612 3366 "type": "zip",
1613   - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/bb09cf8982f89b50bb8bc6c0f9e451353ad17065",
1614   - "reference": "bb09cf8982f89b50bb8bc6c0f9e451353ad17065",
  3367 + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/8deb6343c80c4edf546a6fff01a2b05c7dc59ac4",
  3368 + "reference": "8deb6343c80c4edf546a6fff01a2b05c7dc59ac4",
1615 3369 "shasum": ""
1616 3370 },
1617 3371 "require": {
... ... @@ -1648,7 +3402,7 @@
1648 3402 "faker",
1649 3403 "fixtures"
1650 3404 ],
1651   - "time": "2016-03-22 20:16:49"
  3405 + "time": "2016-03-29 16:49:43"
1652 3406 },
1653 3407 {
1654 3408 "name": "phpspec/php-diff",
... ... @@ -1685,51 +3439,6 @@
1685 3439 "time": "2013-11-01 13:02:21"
1686 3440 },
1687 3441 {
1688   - "name": "yiisoft/yii2-codeception",
1689   - "version": "dev-master",
1690   - "source": {
1691   - "type": "git",
1692   - "url": "https://github.com/yiisoft/yii2-codeception.git",
1693   - "reference": "e01b3c46917b3f00c42f6a4aabf612cc36d792e6"
1694   - },
1695   - "dist": {
1696   - "type": "zip",
1697   - "url": "https://api.github.com/repos/yiisoft/yii2-codeception/zipball/e01b3c46917b3f00c42f6a4aabf612cc36d792e6",
1698   - "reference": "e01b3c46917b3f00c42f6a4aabf612cc36d792e6",
1699   - "shasum": ""
1700   - },
1701   - "require": {
1702   - "yiisoft/yii2": ">=2.0.4"
1703   - },
1704   - "type": "yii2-extension",
1705   - "extra": {
1706   - "branch-alias": {
1707   - "dev-master": "2.0.x-dev"
1708   - }
1709   - },
1710   - "autoload": {
1711   - "psr-4": {
1712   - "yii\\codeception\\": ""
1713   - }
1714   - },
1715   - "notification-url": "https://packagist.org/downloads/",
1716   - "license": [
1717   - "BSD-3-Clause"
1718   - ],
1719   - "authors": [
1720   - {
1721   - "name": "Mark Jebri",
1722   - "email": "mark.github@yandex.ru"
1723   - }
1724   - ],
1725   - "description": "The Codeception integration for the Yii framework",
1726   - "keywords": [
1727   - "codeception",
1728   - "yii2"
1729   - ],
1730   - "time": "2016-03-21 19:11:26"
1731   - },
1732   - {
1733 3442 "name": "yiisoft/yii2-debug",
1734 3443 "version": "dev-master",
1735 3444 "source": {
... ...
frontend/web/css/style.css
... ... @@ -6717,4 +6717,4 @@ input[disabled], select[disabled] {
6717 6717  
6718 6718 .section-box.registration input.custom-check + label span {
6719 6719 margin-left: 30px;
6720   -}
6721 6720 \ No newline at end of file
  6721 +}
... ...
tests/_bootstrap.php 0 → 100644
  1 +<?php
  2 +// This is global bootstrap for autoloading
... ...
tests/_data/ViewIllustrator_2001.jpg 0 → 100644

477 KB

tests/_data/dump.sql 0 → 100644
  1 +/* Replace this file with actual dump of your database */
0 2 \ No newline at end of file
... ...
tests/_output/.gitignore 0 → 100644
  1 +*
  2 +!.gitignore
0 3 \ No newline at end of file
... ...
tests/_support/AcceptanceTester.php 0 → 100644
  1 +<?php
  2 +
  3 +
  4 +/**
  5 + * Inherited Methods
  6 + * @method void wantToTest($text)
  7 + * @method void wantTo($text)
  8 + * @method void execute($callable)
  9 + * @method void expectTo($prediction)
  10 + * @method void expect($prediction)
  11 + * @method void amGoingTo($argumentation)
  12 + * @method void am($role)
  13 + * @method void lookForwardTo($achieveValue)
  14 + * @method void comment($description)
  15 + * @method \Codeception\Lib\Friend haveFriend($name, $actorClass = NULL)
  16 + *
  17 + * @SuppressWarnings(PHPMD)
  18 +*/
  19 +class AcceptanceTester extends \Codeception\Actor
  20 +{
  21 + use _generated\AcceptanceTesterActions;
  22 +
  23 + /**
  24 + * Define custom actions here
  25 + */
  26 +}
... ...
tests/_support/FunctionalTester.php 0 → 100644
  1 +<?php
  2 +
  3 +
  4 +/**
  5 + * Inherited Methods
  6 + * @method void wantToTest($text)
  7 + * @method void wantTo($text)
  8 + * @method void execute($callable)
  9 + * @method void expectTo($prediction)
  10 + * @method void expect($prediction)
  11 + * @method void amGoingTo($argumentation)
  12 + * @method void am($role)
  13 + * @method void lookForwardTo($achieveValue)
  14 + * @method void comment($description)
  15 + * @method \Codeception\Lib\Friend haveFriend($name, $actorClass = NULL)
  16 + *
  17 + * @SuppressWarnings(PHPMD)
  18 +*/
  19 +class FunctionalTester extends \Codeception\Actor
  20 +{
  21 + use _generated\FunctionalTesterActions;
  22 +
  23 + /**
  24 + * Define custom actions here
  25 + */
  26 +}
... ...
tests/_support/Helper/Acceptance.php 0 → 100644
  1 +<?php
  2 +namespace Helper;
  3 +
  4 +// here you can define custom actions
  5 +// all public methods declared in helper class will be available in $I
  6 +
  7 +class Acceptance extends \Codeception\Module
  8 +{
  9 +
  10 +}
... ...
tests/_support/Helper/Functional.php 0 → 100644
  1 +<?php
  2 +namespace Helper;
  3 +
  4 +// here you can define custom actions
  5 +// all public methods declared in helper class will be available in $I
  6 +
  7 +class Functional extends \Codeception\Module
  8 +{
  9 +
  10 +}
... ...
tests/_support/Helper/Unit.php 0 → 100644
  1 +<?php
  2 +namespace Helper;
  3 +
  4 +// here you can define custom actions
  5 +// all public methods declared in helper class will be available in $I
  6 +
  7 +class Unit extends \Codeception\Module
  8 +{
  9 +
  10 +}
... ...
tests/_support/UnitTester.php 0 → 100644
  1 +<?php
  2 +
  3 +
  4 +/**
  5 + * Inherited Methods
  6 + * @method void wantToTest($text)
  7 + * @method void wantTo($text)
  8 + * @method void execute($callable)
  9 + * @method void expectTo($prediction)
  10 + * @method void expect($prediction)
  11 + * @method void amGoingTo($argumentation)
  12 + * @method void am($role)
  13 + * @method void lookForwardTo($achieveValue)
  14 + * @method void comment($description)
  15 + * @method \Codeception\Lib\Friend haveFriend($name, $actorClass = NULL)
  16 + *
  17 + * @SuppressWarnings(PHPMD)
  18 +*/
  19 +class UnitTester extends \Codeception\Actor
  20 +{
  21 + use _generated\UnitTesterActions;
  22 +
  23 + /**
  24 + * Define custom actions here
  25 + */
  26 +}
... ...
tests/_support/_generated/AcceptanceTesterActions.php 0 → 100644
  1 +<?php //[STAMP] 749e5af797e3fdd425f46313312ddd2a
  2 +namespace _generated;
  3 +
  4 +// This class was automatically generated by build task
  5 +// You should not change it manually as it will be overwritten on next build
  6 +// @codingStandardsIgnoreFile
  7 +
  8 +use Codeception\Module\WebDriver;
  9 +use Helper\Acceptance;
  10 +
  11 +trait AcceptanceTesterActions
  12 +{
  13 + /**
  14 + * @return \Codeception\Scenario
  15 + */
  16 + abstract protected function getScenario();
  17 +
  18 +
  19 + /**
  20 + * [!] Method is generated. Documentation taken from corresponding module.
  21 + *
  22 + * Print out latest Selenium Logs in debug mode
  23 + * @see \Codeception\Module\WebDriver::debugWebDriverLogs()
  24 + */
  25 + public function debugWebDriverLogs() {
  26 + return $this->getScenario()->runStep(new \Codeception\Step\Action('debugWebDriverLogs', func_get_args()));
  27 + }
  28 +
  29 +
  30 + /**
  31 + * [!] Method is generated. Documentation taken from corresponding module.
  32 + *
  33 + * Changes the subdomain for the 'url' configuration parameter.
  34 + * Does not open a page; use `amOnPage` for that.
  35 + *
  36 + * ``` php
  37 + * <?php
  38 + * // If config is: 'http://mysite.com'
  39 + * // or config is: 'http://www.mysite.com'
  40 + * // or config is: 'http://company.mysite.com'
  41 + *
  42 + * $I->amOnSubdomain('user');
  43 + * $I->amOnPage('/');
  44 + * // moves to http://user.mysite.com/
  45 + * ?>
  46 + * ```
  47 + *
  48 + * @param $subdomain
  49 + *
  50 + * @return mixed
  51 + * @see \Codeception\Module\WebDriver::amOnSubdomain()
  52 + */
  53 + public function amOnSubdomain($subdomain) {
  54 + return $this->getScenario()->runStep(new \Codeception\Step\Condition('amOnSubdomain', func_get_args()));
  55 + }
  56 +
  57 +
  58 + /**
  59 + * [!] Method is generated. Documentation taken from corresponding module.
  60 + *
  61 + * Takes a screenshot of the current window and saves it to `tests/_output/debug`.
  62 + *
  63 + * ``` php
  64 + * <?php
  65 + * $I->amOnPage('/user/edit');
  66 + * $I->makeScreenshot('edit_page');
  67 + * // saved to: tests/_output/debug/edit_page.png
  68 + * ?>
  69 + * ```
  70 + *
  71 + * @param $name
  72 + * @see \Codeception\Module\WebDriver::makeScreenshot()
  73 + */
  74 + public function makeScreenshot($name) {
  75 + return $this->getScenario()->runStep(new \Codeception\Step\Action('makeScreenshot', func_get_args()));
  76 + }
  77 +
  78 +
  79 + /**
  80 + * [!] Method is generated. Documentation taken from corresponding module.
  81 + *
  82 + * Resize the current window.
  83 + *
  84 + * ``` php
  85 + * <?php
  86 + * $I->resizeWindow(800, 600);
  87 + *
  88 + * ```
  89 + *
  90 + * @param int $width
  91 + * @param int $height
  92 + * @see \Codeception\Module\WebDriver::resizeWindow()
  93 + */
  94 + public function resizeWindow($width, $height) {
  95 + return $this->getScenario()->runStep(new \Codeception\Step\Action('resizeWindow', func_get_args()));
  96 + }
  97 +
  98 +
  99 + /**
  100 + * [!] Method is generated. Documentation taken from corresponding module.
  101 + *
  102 + * Checks that a cookie with the given name is set.
  103 + * You can set additional cookie params like `domain`, `path` as array passed in last argument.
  104 + *
  105 + * ``` php
  106 + * <?php
  107 + * $I->seeCookie('PHPSESSID');
  108 + * ?>
  109 + * ```
  110 + *
  111 + * @param $cookie
  112 + * @param array $params
  113 + * @return mixed
  114 + * Conditional Assertion: Test won't be stopped on fail
  115 + * @see \Codeception\Module\WebDriver::seeCookie()
  116 + */
  117 + public function canSeeCookie($cookie, $params = null) {
  118 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCookie', func_get_args()));
  119 + }
  120 + /**
  121 + * [!] Method is generated. Documentation taken from corresponding module.
  122 + *
  123 + * Checks that a cookie with the given name is set.
  124 + * You can set additional cookie params like `domain`, `path` as array passed in last argument.
  125 + *
  126 + * ``` php
  127 + * <?php
  128 + * $I->seeCookie('PHPSESSID');
  129 + * ?>
  130 + * ```
  131 + *
  132 + * @param $cookie
  133 + * @param array $params
  134 + * @return mixed
  135 + * @see \Codeception\Module\WebDriver::seeCookie()
  136 + */
  137 + public function seeCookie($cookie, $params = null) {
  138 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCookie', func_get_args()));
  139 + }
  140 +
  141 +
  142 + /**
  143 + * [!] Method is generated. Documentation taken from corresponding module.
  144 + *
  145 + * Checks that there isn't a cookie with the given name.
  146 + * You can set additional cookie params like `domain`, `path` as array passed in last argument.
  147 + *
  148 + * @param $cookie
  149 + *
  150 + * @param array $params
  151 + * @return mixed
  152 + * Conditional Assertion: Test won't be stopped on fail
  153 + * @see \Codeception\Module\WebDriver::dontSeeCookie()
  154 + */
  155 + public function cantSeeCookie($cookie, $params = null) {
  156 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCookie', func_get_args()));
  157 + }
  158 + /**
  159 + * [!] Method is generated. Documentation taken from corresponding module.
  160 + *
  161 + * Checks that there isn't a cookie with the given name.
  162 + * You can set additional cookie params like `domain`, `path` as array passed in last argument.
  163 + *
  164 + * @param $cookie
  165 + *
  166 + * @param array $params
  167 + * @return mixed
  168 + * @see \Codeception\Module\WebDriver::dontSeeCookie()
  169 + */
  170 + public function dontSeeCookie($cookie, $params = null) {
  171 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCookie', func_get_args()));
  172 + }
  173 +
  174 +
  175 + /**
  176 + * [!] Method is generated. Documentation taken from corresponding module.
  177 + *
  178 + * Sets a cookie with the given name and value.
  179 + * You can set additional cookie params like `domain`, `path`, `expires`, `secure` in array passed as last argument.
  180 + *
  181 + * ``` php
  182 + * <?php
  183 + * $I->setCookie('PHPSESSID', 'el4ukv0kqbvoirg7nkp4dncpk3');
  184 + * ?>
  185 + * ```
  186 + *
  187 + * @param $name
  188 + * @param $val
  189 + * @param array $params
  190 + *
  191 + * @return mixed
  192 + * @see \Codeception\Module\WebDriver::setCookie()
  193 + */
  194 + public function setCookie($cookie, $value, $params = null) {
  195 + return $this->getScenario()->runStep(new \Codeception\Step\Action('setCookie', func_get_args()));
  196 + }
  197 +
  198 +
  199 + /**
  200 + * [!] Method is generated. Documentation taken from corresponding module.
  201 + *
  202 + * Unsets cookie with the given name.
  203 + * You can set additional cookie params like `domain`, `path` in array passed as last argument.
  204 + *
  205 + * @param $cookie
  206 + *
  207 + * @param array $params
  208 + * @return mixed
  209 + * @see \Codeception\Module\WebDriver::resetCookie()
  210 + */
  211 + public function resetCookie($cookie, $params = null) {
  212 + return $this->getScenario()->runStep(new \Codeception\Step\Action('resetCookie', func_get_args()));
  213 + }
  214 +
  215 +
  216 + /**
  217 + * [!] Method is generated. Documentation taken from corresponding module.
  218 + *
  219 + * Grabs a cookie value.
  220 + * You can set additional cookie params like `domain`, `path` in array passed as last argument.
  221 + *
  222 + * @param $cookie
  223 + *
  224 + * @param array $params
  225 + * @return mixed
  226 + * @see \Codeception\Module\WebDriver::grabCookie()
  227 + */
  228 + public function grabCookie($cookie, $params = null) {
  229 + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabCookie', func_get_args()));
  230 + }
  231 +
  232 +
  233 + /**
  234 + * [!] Method is generated. Documentation taken from corresponding module.
  235 + *
  236 + * Open web page at the given absolute URL and sets its hostname as the base host.
  237 + *
  238 + * ``` php
  239 + * <?php
  240 + * $I->amOnUrl('http://codeception.com');
  241 + * $I->amOnPage('/quickstart'); // moves to http://codeception.com/quickstart
  242 + * ?>
  243 + * ```
  244 + * @see \Codeception\Module\WebDriver::amOnUrl()
  245 + */
  246 + public function amOnUrl($url) {
  247 + return $this->getScenario()->runStep(new \Codeception\Step\Condition('amOnUrl', func_get_args()));
  248 + }
  249 +
  250 +
  251 + /**
  252 + * [!] Method is generated. Documentation taken from corresponding module.
  253 + *
  254 + * Opens the page for the given relative URI.
  255 + *
  256 + * ``` php
  257 + * <?php
  258 + * // opens front page
  259 + * $I->amOnPage('/');
  260 + * // opens /register page
  261 + * $I->amOnPage('/register');
  262 + * ```
  263 + *
  264 + * @param $page
  265 + * @see \Codeception\Module\WebDriver::amOnPage()
  266 + */
  267 + public function amOnPage($page) {
  268 + return $this->getScenario()->runStep(new \Codeception\Step\Condition('amOnPage', func_get_args()));
  269 + }
  270 +
  271 +
  272 + /**
  273 + * [!] Method is generated. Documentation taken from corresponding module.
  274 + *
  275 + * Checks that the current page contains the given string (case insensitive).
  276 + *
  277 + * You can specify a specific HTML element (via CSS or XPath) as the second
  278 + * parameter to only search within that element.
  279 + *
  280 + * ``` php
  281 + * <?php
  282 + * $I->see('Logout'); // I can suppose user is logged in
  283 + * $I->see('Sign Up', 'h1'); // I can suppose it's a signup page
  284 + * $I->see('Sign Up', '//body/h1'); // with XPath
  285 + * ```
  286 + *
  287 + * Note that the search is done after stripping all HTML tags from the body,
  288 + * so `$I->see('strong')` will return true for strings like:
  289 + *
  290 + * - `<p>I am Stronger than thou</p>`
  291 + * - `<script>document.createElement('strong');</script>`
  292 + *
  293 + * But will *not* be true for strings like:
  294 + *
  295 + * - `<strong>Home</strong>`
  296 + * - `<div class="strong">Home</strong>`
  297 + * - `<!-- strong -->`
  298 + *
  299 + * For checking the raw source code, use `seeInSource()`.
  300 + *
  301 + * @param $text
  302 + * @param null $selector
  303 + * Conditional Assertion: Test won't be stopped on fail
  304 + * @see \Codeception\Module\WebDriver::see()
  305 + */
  306 + public function canSee($text, $selector = null) {
  307 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('see', func_get_args()));
  308 + }
  309 + /**
  310 + * [!] Method is generated. Documentation taken from corresponding module.
  311 + *
  312 + * Checks that the current page contains the given string (case insensitive).
  313 + *
  314 + * You can specify a specific HTML element (via CSS or XPath) as the second
  315 + * parameter to only search within that element.
  316 + *
  317 + * ``` php
  318 + * <?php
  319 + * $I->see('Logout'); // I can suppose user is logged in
  320 + * $I->see('Sign Up', 'h1'); // I can suppose it's a signup page
  321 + * $I->see('Sign Up', '//body/h1'); // with XPath
  322 + * ```
  323 + *
  324 + * Note that the search is done after stripping all HTML tags from the body,
  325 + * so `$I->see('strong')` will return true for strings like:
  326 + *
  327 + * - `<p>I am Stronger than thou</p>`
  328 + * - `<script>document.createElement('strong');</script>`
  329 + *
  330 + * But will *not* be true for strings like:
  331 + *
  332 + * - `<strong>Home</strong>`
  333 + * - `<div class="strong">Home</strong>`
  334 + * - `<!-- strong -->`
  335 + *
  336 + * For checking the raw source code, use `seeInSource()`.
  337 + *
  338 + * @param $text
  339 + * @param null $selector
  340 + * @see \Codeception\Module\WebDriver::see()
  341 + */
  342 + public function see($text, $selector = null) {
  343 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('see', func_get_args()));
  344 + }
  345 +
  346 +
  347 + /**
  348 + * [!] Method is generated. Documentation taken from corresponding module.
  349 + *
  350 + * Checks that the current page doesn't contain the text specified (case insensitive).
  351 + * Give a locator as the second parameter to match a specific region.
  352 + *
  353 + * ```php
  354 + * <?php
  355 + * $I->dontSee('Login'); // I can suppose user is already logged in
  356 + * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page
  357 + * $I->dontSee('Sign Up','//body/h1'); // with XPath
  358 + * ```
  359 + *
  360 + * Note that the search is done after stripping all HTML tags from the body,
  361 + * so `$I->dontSee('strong')` will fail on strings like:
  362 + *
  363 + * - `<p>I am Stronger than thou</p>`
  364 + * - `<script>document.createElement('strong');</script>`
  365 + *
  366 + * But will ignore strings like:
  367 + *
  368 + * - `<strong>Home</strong>`
  369 + * - `<div class="strong">Home</strong>`
  370 + * - `<!-- strong -->`
  371 + *
  372 + * For checking the raw source code, use `seeInSource()`.
  373 + *
  374 + * @param $text
  375 + * @param null $selector
  376 + * Conditional Assertion: Test won't be stopped on fail
  377 + * @see \Codeception\Module\WebDriver::dontSee()
  378 + */
  379 + public function cantSee($text, $selector = null) {
  380 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSee', func_get_args()));
  381 + }
  382 + /**
  383 + * [!] Method is generated. Documentation taken from corresponding module.
  384 + *
  385 + * Checks that the current page doesn't contain the text specified (case insensitive).
  386 + * Give a locator as the second parameter to match a specific region.
  387 + *
  388 + * ```php
  389 + * <?php
  390 + * $I->dontSee('Login'); // I can suppose user is already logged in
  391 + * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page
  392 + * $I->dontSee('Sign Up','//body/h1'); // with XPath
  393 + * ```
  394 + *
  395 + * Note that the search is done after stripping all HTML tags from the body,
  396 + * so `$I->dontSee('strong')` will fail on strings like:
  397 + *
  398 + * - `<p>I am Stronger than thou</p>`
  399 + * - `<script>document.createElement('strong');</script>`
  400 + *
  401 + * But will ignore strings like:
  402 + *
  403 + * - `<strong>Home</strong>`
  404 + * - `<div class="strong">Home</strong>`
  405 + * - `<!-- strong -->`
  406 + *
  407 + * For checking the raw source code, use `seeInSource()`.
  408 + *
  409 + * @param $text
  410 + * @param null $selector
  411 + * @see \Codeception\Module\WebDriver::dontSee()
  412 + */
  413 + public function dontSee($text, $selector = null) {
  414 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSee', func_get_args()));
  415 + }
  416 +
  417 +
  418 + /**
  419 + * [!] Method is generated. Documentation taken from corresponding module.
  420 + *
  421 + * Checks that the current page contains the given string in its
  422 + * raw source code.
  423 + *
  424 + * ``` php
  425 + * <?php
  426 + * $I->seeInSource('<h1>Green eggs &amp; ham</h1>');
  427 + * ```
  428 + *
  429 + * @param $raw
  430 + * Conditional Assertion: Test won't be stopped on fail
  431 + * @see \Codeception\Module\WebDriver::seeInSource()
  432 + */
  433 + public function canSeeInSource($raw) {
  434 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInSource', func_get_args()));
  435 + }
  436 + /**
  437 + * [!] Method is generated. Documentation taken from corresponding module.
  438 + *
  439 + * Checks that the current page contains the given string in its
  440 + * raw source code.
  441 + *
  442 + * ``` php
  443 + * <?php
  444 + * $I->seeInSource('<h1>Green eggs &amp; ham</h1>');
  445 + * ```
  446 + *
  447 + * @param $raw
  448 + * @see \Codeception\Module\WebDriver::seeInSource()
  449 + */
  450 + public function seeInSource($raw) {
  451 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInSource', func_get_args()));
  452 + }
  453 +
  454 +
  455 + /**
  456 + * [!] Method is generated. Documentation taken from corresponding module.
  457 + *
  458 + * Checks that the current page contains the given string in its
  459 + * raw source code.
  460 + *
  461 + * ```php
  462 + * <?php
  463 + * $I->dontSeeInSource('<h1>Green eggs &amp; ham</h1>');
  464 + * ```
  465 + *
  466 + * @param $raw
  467 + * Conditional Assertion: Test won't be stopped on fail
  468 + * @see \Codeception\Module\WebDriver::dontSeeInSource()
  469 + */
  470 + public function cantSeeInSource($raw) {
  471 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInSource', func_get_args()));
  472 + }
  473 + /**
  474 + * [!] Method is generated. Documentation taken from corresponding module.
  475 + *
  476 + * Checks that the current page contains the given string in its
  477 + * raw source code.
  478 + *
  479 + * ```php
  480 + * <?php
  481 + * $I->dontSeeInSource('<h1>Green eggs &amp; ham</h1>');
  482 + * ```
  483 + *
  484 + * @param $raw
  485 + * @see \Codeception\Module\WebDriver::dontSeeInSource()
  486 + */
  487 + public function dontSeeInSource($raw) {
  488 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInSource', func_get_args()));
  489 + }
  490 +
  491 +
  492 + /**
  493 + * [!] Method is generated. Documentation taken from corresponding module.
  494 + *
  495 + * Checks that the page source contains the given string.
  496 + *
  497 + * ```php
  498 + * <?php
  499 + * $I->seeInPageSource('<link rel="apple-touch-icon"');
  500 + * ```
  501 + *
  502 + * @param $text
  503 + * Conditional Assertion: Test won't be stopped on fail
  504 + * @see \Codeception\Module\WebDriver::seeInPageSource()
  505 + */
  506 + public function canSeeInPageSource($text) {
  507 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInPageSource', func_get_args()));
  508 + }
  509 + /**
  510 + * [!] Method is generated. Documentation taken from corresponding module.
  511 + *
  512 + * Checks that the page source contains the given string.
  513 + *
  514 + * ```php
  515 + * <?php
  516 + * $I->seeInPageSource('<link rel="apple-touch-icon"');
  517 + * ```
  518 + *
  519 + * @param $text
  520 + * @see \Codeception\Module\WebDriver::seeInPageSource()
  521 + */
  522 + public function seeInPageSource($text) {
  523 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInPageSource', func_get_args()));
  524 + }
  525 +
  526 +
  527 + /**
  528 + * [!] Method is generated. Documentation taken from corresponding module.
  529 + *
  530 + * Checks that the page source doesn't contain the given string.
  531 + *
  532 + * @param $text
  533 + * Conditional Assertion: Test won't be stopped on fail
  534 + * @see \Codeception\Module\WebDriver::dontSeeInPageSource()
  535 + */
  536 + public function cantSeeInPageSource($text) {
  537 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInPageSource', func_get_args()));
  538 + }
  539 + /**
  540 + * [!] Method is generated. Documentation taken from corresponding module.
  541 + *
  542 + * Checks that the page source doesn't contain the given string.
  543 + *
  544 + * @param $text
  545 + * @see \Codeception\Module\WebDriver::dontSeeInPageSource()
  546 + */
  547 + public function dontSeeInPageSource($text) {
  548 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInPageSource', func_get_args()));
  549 + }
  550 +
  551 +
  552 + /**
  553 + * [!] Method is generated. Documentation taken from corresponding module.
  554 + *
  555 + * Perform a click on a link or a button, given by a locator.
  556 + * If a fuzzy locator is given, the page will be searched for a button, link, or image matching the locator string.
  557 + * For buttons, the "value" attribute, "name" attribute, and inner text are searched.
  558 + * For links, the link text is searched.
  559 + * For images, the "alt" attribute and inner text of any parent links are searched.
  560 + *
  561 + * The second parameter is a context (CSS or XPath locator) to narrow the search.
  562 + *
  563 + * Note that if the locator matches a button of type `submit`, the form will be submitted.
  564 + *
  565 + * ``` php
  566 + * <?php
  567 + * // simple link
  568 + * $I->click('Logout');
  569 + * // button of form
  570 + * $I->click('Submit');
  571 + * // CSS button
  572 + * $I->click('#form input[type=submit]');
  573 + * // XPath
  574 + * $I->click('//form/*[@type=submit]');
  575 + * // link in context
  576 + * $I->click('Logout', '#nav');
  577 + * // using strict locator
  578 + * $I->click(['link' => 'Login']);
  579 + * ?>
  580 + * ```
  581 + *
  582 + * @param $link
  583 + * @param $context
  584 + * @see \Codeception\Module\WebDriver::click()
  585 + */
  586 + public function click($link, $context = null) {
  587 + return $this->getScenario()->runStep(new \Codeception\Step\Action('click', func_get_args()));
  588 + }
  589 +
  590 +
  591 + /**
  592 + * [!] Method is generated. Documentation taken from corresponding module.
  593 + *
  594 + * Checks that there's a link with the specified text.
  595 + * Give a full URL as the second parameter to match links with that exact URL.
  596 + *
  597 + * ``` php
  598 + * <?php
  599 + * $I->seeLink('Logout'); // matches <a href="#">Logout</a>
  600 + * $I->seeLink('Logout','/logout'); // matches <a href="/logout">Logout</a>
  601 + * ?>
  602 + * ```
  603 + *
  604 + * @param $text
  605 + * @param null $url
  606 + * Conditional Assertion: Test won't be stopped on fail
  607 + * @see \Codeception\Module\WebDriver::seeLink()
  608 + */
  609 + public function canSeeLink($text, $url = null) {
  610 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeLink', func_get_args()));
  611 + }
  612 + /**
  613 + * [!] Method is generated. Documentation taken from corresponding module.
  614 + *
  615 + * Checks that there's a link with the specified text.
  616 + * Give a full URL as the second parameter to match links with that exact URL.
  617 + *
  618 + * ``` php
  619 + * <?php
  620 + * $I->seeLink('Logout'); // matches <a href="#">Logout</a>
  621 + * $I->seeLink('Logout','/logout'); // matches <a href="/logout">Logout</a>
  622 + * ?>
  623 + * ```
  624 + *
  625 + * @param $text
  626 + * @param null $url
  627 + * @see \Codeception\Module\WebDriver::seeLink()
  628 + */
  629 + public function seeLink($text, $url = null) {
  630 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeLink', func_get_args()));
  631 + }
  632 +
  633 +
  634 + /**
  635 + * [!] Method is generated. Documentation taken from corresponding module.
  636 + *
  637 + * Checks that the page doesn't contain a link with the given string.
  638 + * If the second parameter is given, only links with a matching "href" attribute will be checked.
  639 + *
  640 + * ``` php
  641 + * <?php
  642 + * $I->dontSeeLink('Logout'); // I suppose user is not logged in
  643 + * $I->dontSeeLink('Checkout now', '/store/cart.php');
  644 + * ?>
  645 + * ```
  646 + *
  647 + * @param $text
  648 + * @param null $url
  649 + * Conditional Assertion: Test won't be stopped on fail
  650 + * @see \Codeception\Module\WebDriver::dontSeeLink()
  651 + */
  652 + public function cantSeeLink($text, $url = null) {
  653 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeLink', func_get_args()));
  654 + }
  655 + /**
  656 + * [!] Method is generated. Documentation taken from corresponding module.
  657 + *
  658 + * Checks that the page doesn't contain a link with the given string.
  659 + * If the second parameter is given, only links with a matching "href" attribute will be checked.
  660 + *
  661 + * ``` php
  662 + * <?php
  663 + * $I->dontSeeLink('Logout'); // I suppose user is not logged in
  664 + * $I->dontSeeLink('Checkout now', '/store/cart.php');
  665 + * ?>
  666 + * ```
  667 + *
  668 + * @param $text
  669 + * @param null $url
  670 + * @see \Codeception\Module\WebDriver::dontSeeLink()
  671 + */
  672 + public function dontSeeLink($text, $url = null) {
  673 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeLink', func_get_args()));
  674 + }
  675 +
  676 +
  677 + /**
  678 + * [!] Method is generated. Documentation taken from corresponding module.
  679 + *
  680 + * Checks that current URI contains the given string.
  681 + *
  682 + * ``` php
  683 + * <?php
  684 + * // to match: /home/dashboard
  685 + * $I->seeInCurrentUrl('home');
  686 + * // to match: /users/1
  687 + * $I->seeInCurrentUrl('/users/');
  688 + * ?>
  689 + * ```
  690 + *
  691 + * @param $uri
  692 + * Conditional Assertion: Test won't be stopped on fail
  693 + * @see \Codeception\Module\WebDriver::seeInCurrentUrl()
  694 + */
  695 + public function canSeeInCurrentUrl($uri) {
  696 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInCurrentUrl', func_get_args()));
  697 + }
  698 + /**
  699 + * [!] Method is generated. Documentation taken from corresponding module.
  700 + *
  701 + * Checks that current URI contains the given string.
  702 + *
  703 + * ``` php
  704 + * <?php
  705 + * // to match: /home/dashboard
  706 + * $I->seeInCurrentUrl('home');
  707 + * // to match: /users/1
  708 + * $I->seeInCurrentUrl('/users/');
  709 + * ?>
  710 + * ```
  711 + *
  712 + * @param $uri
  713 + * @see \Codeception\Module\WebDriver::seeInCurrentUrl()
  714 + */
  715 + public function seeInCurrentUrl($uri) {
  716 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInCurrentUrl', func_get_args()));
  717 + }
  718 +
  719 +
  720 + /**
  721 + * [!] Method is generated. Documentation taken from corresponding module.
  722 + *
  723 + * Checks that the current URL is equal to the given string.
  724 + * Unlike `seeInCurrentUrl`, this only matches the full URL.
  725 + *
  726 + * ``` php
  727 + * <?php
  728 + * // to match root url
  729 + * $I->seeCurrentUrlEquals('/');
  730 + * ?>
  731 + * ```
  732 + *
  733 + * @param $uri
  734 + * Conditional Assertion: Test won't be stopped on fail
  735 + * @see \Codeception\Module\WebDriver::seeCurrentUrlEquals()
  736 + */
  737 + public function canSeeCurrentUrlEquals($uri) {
  738 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlEquals', func_get_args()));
  739 + }
  740 + /**
  741 + * [!] Method is generated. Documentation taken from corresponding module.
  742 + *
  743 + * Checks that the current URL is equal to the given string.
  744 + * Unlike `seeInCurrentUrl`, this only matches the full URL.
  745 + *
  746 + * ``` php
  747 + * <?php
  748 + * // to match root url
  749 + * $I->seeCurrentUrlEquals('/');
  750 + * ?>
  751 + * ```
  752 + *
  753 + * @param $uri
  754 + * @see \Codeception\Module\WebDriver::seeCurrentUrlEquals()
  755 + */
  756 + public function seeCurrentUrlEquals($uri) {
  757 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCurrentUrlEquals', func_get_args()));
  758 + }
  759 +
  760 +
  761 + /**
  762 + * [!] Method is generated. Documentation taken from corresponding module.
  763 + *
  764 + * Checks that the current URL matches the given regular expression.
  765 + *
  766 + * ``` php
  767 + * <?php
  768 + * // to match root url
  769 + * $I->seeCurrentUrlMatches('~$/users/(\d+)~');
  770 + * ?>
  771 + * ```
  772 + *
  773 + * @param $uri
  774 + * Conditional Assertion: Test won't be stopped on fail
  775 + * @see \Codeception\Module\WebDriver::seeCurrentUrlMatches()
  776 + */
  777 + public function canSeeCurrentUrlMatches($uri) {
  778 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlMatches', func_get_args()));
  779 + }
  780 + /**
  781 + * [!] Method is generated. Documentation taken from corresponding module.
  782 + *
  783 + * Checks that the current URL matches the given regular expression.
  784 + *
  785 + * ``` php
  786 + * <?php
  787 + * // to match root url
  788 + * $I->seeCurrentUrlMatches('~$/users/(\d+)~');
  789 + * ?>
  790 + * ```
  791 + *
  792 + * @param $uri
  793 + * @see \Codeception\Module\WebDriver::seeCurrentUrlMatches()
  794 + */
  795 + public function seeCurrentUrlMatches($uri) {
  796 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCurrentUrlMatches', func_get_args()));
  797 + }
  798 +
  799 +
  800 + /**
  801 + * [!] Method is generated. Documentation taken from corresponding module.
  802 + *
  803 + * Checks that the current URI doesn't contain the given string.
  804 + *
  805 + * ``` php
  806 + * <?php
  807 + * $I->dontSeeInCurrentUrl('/users/');
  808 + * ?>
  809 + * ```
  810 + *
  811 + * @param $uri
  812 + * Conditional Assertion: Test won't be stopped on fail
  813 + * @see \Codeception\Module\WebDriver::dontSeeInCurrentUrl()
  814 + */
  815 + public function cantSeeInCurrentUrl($uri) {
  816 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInCurrentUrl', func_get_args()));
  817 + }
  818 + /**
  819 + * [!] Method is generated. Documentation taken from corresponding module.
  820 + *
  821 + * Checks that the current URI doesn't contain the given string.
  822 + *
  823 + * ``` php
  824 + * <?php
  825 + * $I->dontSeeInCurrentUrl('/users/');
  826 + * ?>
  827 + * ```
  828 + *
  829 + * @param $uri
  830 + * @see \Codeception\Module\WebDriver::dontSeeInCurrentUrl()
  831 + */
  832 + public function dontSeeInCurrentUrl($uri) {
  833 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInCurrentUrl', func_get_args()));
  834 + }
  835 +
  836 +
  837 + /**
  838 + * [!] Method is generated. Documentation taken from corresponding module.
  839 + *
  840 + * Checks that the current URL doesn't equal the given string.
  841 + * Unlike `dontSeeInCurrentUrl`, this only matches the full URL.
  842 + *
  843 + * ``` php
  844 + * <?php
  845 + * // current url is not root
  846 + * $I->dontSeeCurrentUrlEquals('/');
  847 + * ?>
  848 + * ```
  849 + *
  850 + * @param $uri
  851 + * Conditional Assertion: Test won't be stopped on fail
  852 + * @see \Codeception\Module\WebDriver::dontSeeCurrentUrlEquals()
  853 + */
  854 + public function cantSeeCurrentUrlEquals($uri) {
  855 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlEquals', func_get_args()));
  856 + }
  857 + /**
  858 + * [!] Method is generated. Documentation taken from corresponding module.
  859 + *
  860 + * Checks that the current URL doesn't equal the given string.
  861 + * Unlike `dontSeeInCurrentUrl`, this only matches the full URL.
  862 + *
  863 + * ``` php
  864 + * <?php
  865 + * // current url is not root
  866 + * $I->dontSeeCurrentUrlEquals('/');
  867 + * ?>
  868 + * ```
  869 + *
  870 + * @param $uri
  871 + * @see \Codeception\Module\WebDriver::dontSeeCurrentUrlEquals()
  872 + */
  873 + public function dontSeeCurrentUrlEquals($uri) {
  874 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlEquals', func_get_args()));
  875 + }
  876 +
  877 +
  878 + /**
  879 + * [!] Method is generated. Documentation taken from corresponding module.
  880 + *
  881 + * Checks that current url doesn't match the given regular expression.
  882 + *
  883 + * ``` php
  884 + * <?php
  885 + * // to match root url
  886 + * $I->dontSeeCurrentUrlMatches('~$/users/(\d+)~');
  887 + * ?>
  888 + * ```
  889 + *
  890 + * @param $uri
  891 + * Conditional Assertion: Test won't be stopped on fail
  892 + * @see \Codeception\Module\WebDriver::dontSeeCurrentUrlMatches()
  893 + */
  894 + public function cantSeeCurrentUrlMatches($uri) {
  895 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlMatches', func_get_args()));
  896 + }
  897 + /**
  898 + * [!] Method is generated. Documentation taken from corresponding module.
  899 + *
  900 + * Checks that current url doesn't match the given regular expression.
  901 + *
  902 + * ``` php
  903 + * <?php
  904 + * // to match root url
  905 + * $I->dontSeeCurrentUrlMatches('~$/users/(\d+)~');
  906 + * ?>
  907 + * ```
  908 + *
  909 + * @param $uri
  910 + * @see \Codeception\Module\WebDriver::dontSeeCurrentUrlMatches()
  911 + */
  912 + public function dontSeeCurrentUrlMatches($uri) {
  913 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlMatches', func_get_args()));
  914 + }
  915 +
  916 +
  917 + /**
  918 + * [!] Method is generated. Documentation taken from corresponding module.
  919 + *
  920 + * Executes the given regular expression against the current URI and returns the first match.
  921 + * If no parameters are provided, the full URI is returned.
  922 + *
  923 + * ``` php
  924 + * <?php
  925 + * $user_id = $I->grabFromCurrentUrl('~$/user/(\d+)/~');
  926 + * $uri = $I->grabFromCurrentUrl();
  927 + * ?>
  928 + * ```
  929 + *
  930 + * @param null $uri
  931 + *
  932 + * @return mixed
  933 + * @see \Codeception\Module\WebDriver::grabFromCurrentUrl()
  934 + */
  935 + public function grabFromCurrentUrl($uri = null) {
  936 + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabFromCurrentUrl', func_get_args()));
  937 + }
  938 +
  939 +
  940 + /**
  941 + * [!] Method is generated. Documentation taken from corresponding module.
  942 + *
  943 + * Checks that the specified checkbox is checked.
  944 + *
  945 + * ``` php
  946 + * <?php
  947 + * $I->seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms
  948 + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form.
  949 + * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]');
  950 + * ?>
  951 + * ```
  952 + *
  953 + * @param $checkbox
  954 + * Conditional Assertion: Test won't be stopped on fail
  955 + * @see \Codeception\Module\WebDriver::seeCheckboxIsChecked()
  956 + */
  957 + public function canSeeCheckboxIsChecked($checkbox) {
  958 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCheckboxIsChecked', func_get_args()));
  959 + }
  960 + /**
  961 + * [!] Method is generated. Documentation taken from corresponding module.
  962 + *
  963 + * Checks that the specified checkbox is checked.
  964 + *
  965 + * ``` php
  966 + * <?php
  967 + * $I->seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms
  968 + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form.
  969 + * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]');
  970 + * ?>
  971 + * ```
  972 + *
  973 + * @param $checkbox
  974 + * @see \Codeception\Module\WebDriver::seeCheckboxIsChecked()
  975 + */
  976 + public function seeCheckboxIsChecked($checkbox) {
  977 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCheckboxIsChecked', func_get_args()));
  978 + }
  979 +
  980 +
  981 + /**
  982 + * [!] Method is generated. Documentation taken from corresponding module.
  983 + *
  984 + * Check that the specified checkbox is unchecked.
  985 + *
  986 + * ``` php
  987 + * <?php
  988 + * $I->dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms
  989 + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form.
  990 + * ?>
  991 + * ```
  992 + *
  993 + * @param $checkbox
  994 + * Conditional Assertion: Test won't be stopped on fail
  995 + * @see \Codeception\Module\WebDriver::dontSeeCheckboxIsChecked()
  996 + */
  997 + public function cantSeeCheckboxIsChecked($checkbox) {
  998 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCheckboxIsChecked', func_get_args()));
  999 + }
  1000 + /**
  1001 + * [!] Method is generated. Documentation taken from corresponding module.
  1002 + *
  1003 + * Check that the specified checkbox is unchecked.
  1004 + *
  1005 + * ``` php
  1006 + * <?php
  1007 + * $I->dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms
  1008 + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form.
  1009 + * ?>
  1010 + * ```
  1011 + *
  1012 + * @param $checkbox
  1013 + * @see \Codeception\Module\WebDriver::dontSeeCheckboxIsChecked()
  1014 + */
  1015 + public function dontSeeCheckboxIsChecked($checkbox) {
  1016 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCheckboxIsChecked', func_get_args()));
  1017 + }
  1018 +
  1019 +
  1020 + /**
  1021 + * [!] Method is generated. Documentation taken from corresponding module.
  1022 + *
  1023 + * Checks that the given input field or textarea contains the given value.
  1024 + * For fuzzy locators, fields are matched by label text, the "name" attribute, CSS, and XPath.
  1025 + *
  1026 + * ``` php
  1027 + * <?php
  1028 + * $I->seeInField('Body','Type your comment here');
  1029 + * $I->seeInField('form textarea[name=body]','Type your comment here');
  1030 + * $I->seeInField('form input[type=hidden]','hidden_value');
  1031 + * $I->seeInField('#searchform input','Search');
  1032 + * $I->seeInField('//form/*[@name=search]','Search');
  1033 + * $I->seeInField(['name' => 'search'], 'Search');
  1034 + * ?>
  1035 + * ```
  1036 + *
  1037 + * @param $field
  1038 + * @param $value
  1039 + * Conditional Assertion: Test won't be stopped on fail
  1040 + * @see \Codeception\Module\WebDriver::seeInField()
  1041 + */
  1042 + public function canSeeInField($field, $value) {
  1043 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInField', func_get_args()));
  1044 + }
  1045 + /**
  1046 + * [!] Method is generated. Documentation taken from corresponding module.
  1047 + *
  1048 + * Checks that the given input field or textarea contains the given value.
  1049 + * For fuzzy locators, fields are matched by label text, the "name" attribute, CSS, and XPath.
  1050 + *
  1051 + * ``` php
  1052 + * <?php
  1053 + * $I->seeInField('Body','Type your comment here');
  1054 + * $I->seeInField('form textarea[name=body]','Type your comment here');
  1055 + * $I->seeInField('form input[type=hidden]','hidden_value');
  1056 + * $I->seeInField('#searchform input','Search');
  1057 + * $I->seeInField('//form/*[@name=search]','Search');
  1058 + * $I->seeInField(['name' => 'search'], 'Search');
  1059 + * ?>
  1060 + * ```
  1061 + *
  1062 + * @param $field
  1063 + * @param $value
  1064 + * @see \Codeception\Module\WebDriver::seeInField()
  1065 + */
  1066 + public function seeInField($field, $value) {
  1067 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInField', func_get_args()));
  1068 + }
  1069 +
  1070 +
  1071 + /**
  1072 + * [!] Method is generated. Documentation taken from corresponding module.
  1073 + *
  1074 + * Checks that an input field or textarea doesn't contain the given value.
  1075 + * For fuzzy locators, the field is matched by label text, CSS and XPath.
  1076 + *
  1077 + * ``` php
  1078 + * <?php
  1079 + * $I->dontSeeInField('Body','Type your comment here');
  1080 + * $I->dontSeeInField('form textarea[name=body]','Type your comment here');
  1081 + * $I->dontSeeInField('form input[type=hidden]','hidden_value');
  1082 + * $I->dontSeeInField('#searchform input','Search');
  1083 + * $I->dontSeeInField('//form/*[@name=search]','Search');
  1084 + * $I->dontSeeInField(['name' => 'search'], 'Search');
  1085 + * ?>
  1086 + * ```
  1087 + *
  1088 + * @param $field
  1089 + * @param $value
  1090 + * Conditional Assertion: Test won't be stopped on fail
  1091 + * @see \Codeception\Module\WebDriver::dontSeeInField()
  1092 + */
  1093 + public function cantSeeInField($field, $value) {
  1094 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInField', func_get_args()));
  1095 + }
  1096 + /**
  1097 + * [!] Method is generated. Documentation taken from corresponding module.
  1098 + *
  1099 + * Checks that an input field or textarea doesn't contain the given value.
  1100 + * For fuzzy locators, the field is matched by label text, CSS and XPath.
  1101 + *
  1102 + * ``` php
  1103 + * <?php
  1104 + * $I->dontSeeInField('Body','Type your comment here');
  1105 + * $I->dontSeeInField('form textarea[name=body]','Type your comment here');
  1106 + * $I->dontSeeInField('form input[type=hidden]','hidden_value');
  1107 + * $I->dontSeeInField('#searchform input','Search');
  1108 + * $I->dontSeeInField('//form/*[@name=search]','Search');
  1109 + * $I->dontSeeInField(['name' => 'search'], 'Search');
  1110 + * ?>
  1111 + * ```
  1112 + *
  1113 + * @param $field
  1114 + * @param $value
  1115 + * @see \Codeception\Module\WebDriver::dontSeeInField()
  1116 + */
  1117 + public function dontSeeInField($field, $value) {
  1118 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInField', func_get_args()));
  1119 + }
  1120 +
  1121 +
  1122 + /**
  1123 + * [!] Method is generated. Documentation taken from corresponding module.
  1124 + *
  1125 + * Checks if the array of form parameters (name => value) are set on the form matched with the
  1126 + * passed selector.
  1127 + *
  1128 + * ``` php
  1129 + * <?php
  1130 + * $I->seeInFormFields('form[name=myform]', [
  1131 + * 'input1' => 'value',
  1132 + * 'input2' => 'other value',
  1133 + * ]);
  1134 + * ?>
  1135 + * ```
  1136 + *
  1137 + * For multi-select elements, or to check values of multiple elements with the same name, an
  1138 + * array may be passed:
  1139 + *
  1140 + * ``` php
  1141 + * <?php
  1142 + * $I->seeInFormFields('.form-class', [
  1143 + * 'multiselect' => [
  1144 + * 'value1',
  1145 + * 'value2',
  1146 + * ],
  1147 + * 'checkbox[]' => [
  1148 + * 'a checked value',
  1149 + * 'another checked value',
  1150 + * ],
  1151 + * ]);
  1152 + * ?>
  1153 + * ```
  1154 + *
  1155 + * Additionally, checkbox values can be checked with a boolean.
  1156 + *
  1157 + * ``` php
  1158 + * <?php
  1159 + * $I->seeInFormFields('#form-id', [
  1160 + * 'checkbox1' => true, // passes if checked
  1161 + * 'checkbox2' => false, // passes if unchecked
  1162 + * ]);
  1163 + * ?>
  1164 + * ```
  1165 + *
  1166 + * Pair this with submitForm for quick testing magic.
  1167 + *
  1168 + * ``` php
  1169 + * <?php
  1170 + * $form = [
  1171 + * 'field1' => 'value',
  1172 + * 'field2' => 'another value',
  1173 + * 'checkbox1' => true,
  1174 + * // ...
  1175 + * ];
  1176 + * $I->submitForm('//form[@id=my-form]', $form, 'submitButton');
  1177 + * // $I->amOnPage('/path/to/form-page') may be needed
  1178 + * $I->seeInFormFields('//form[@id=my-form]', $form);
  1179 + * ?>
  1180 + * ```
  1181 + *
  1182 + * @param $formSelector
  1183 + * @param $params
  1184 + * Conditional Assertion: Test won't be stopped on fail
  1185 + * @see \Codeception\Module\WebDriver::seeInFormFields()
  1186 + */
  1187 + public function canSeeInFormFields($formSelector, $params) {
  1188 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInFormFields', func_get_args()));
  1189 + }
  1190 + /**
  1191 + * [!] Method is generated. Documentation taken from corresponding module.
  1192 + *
  1193 + * Checks if the array of form parameters (name => value) are set on the form matched with the
  1194 + * passed selector.
  1195 + *
  1196 + * ``` php
  1197 + * <?php
  1198 + * $I->seeInFormFields('form[name=myform]', [
  1199 + * 'input1' => 'value',
  1200 + * 'input2' => 'other value',
  1201 + * ]);
  1202 + * ?>
  1203 + * ```
  1204 + *
  1205 + * For multi-select elements, or to check values of multiple elements with the same name, an
  1206 + * array may be passed:
  1207 + *
  1208 + * ``` php
  1209 + * <?php
  1210 + * $I->seeInFormFields('.form-class', [
  1211 + * 'multiselect' => [
  1212 + * 'value1',
  1213 + * 'value2',
  1214 + * ],
  1215 + * 'checkbox[]' => [
  1216 + * 'a checked value',
  1217 + * 'another checked value',
  1218 + * ],
  1219 + * ]);
  1220 + * ?>
  1221 + * ```
  1222 + *
  1223 + * Additionally, checkbox values can be checked with a boolean.
  1224 + *
  1225 + * ``` php
  1226 + * <?php
  1227 + * $I->seeInFormFields('#form-id', [
  1228 + * 'checkbox1' => true, // passes if checked
  1229 + * 'checkbox2' => false, // passes if unchecked
  1230 + * ]);
  1231 + * ?>
  1232 + * ```
  1233 + *
  1234 + * Pair this with submitForm for quick testing magic.
  1235 + *
  1236 + * ``` php
  1237 + * <?php
  1238 + * $form = [
  1239 + * 'field1' => 'value',
  1240 + * 'field2' => 'another value',
  1241 + * 'checkbox1' => true,
  1242 + * // ...
  1243 + * ];
  1244 + * $I->submitForm('//form[@id=my-form]', $form, 'submitButton');
  1245 + * // $I->amOnPage('/path/to/form-page') may be needed
  1246 + * $I->seeInFormFields('//form[@id=my-form]', $form);
  1247 + * ?>
  1248 + * ```
  1249 + *
  1250 + * @param $formSelector
  1251 + * @param $params
  1252 + * @see \Codeception\Module\WebDriver::seeInFormFields()
  1253 + */
  1254 + public function seeInFormFields($formSelector, $params) {
  1255 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInFormFields', func_get_args()));
  1256 + }
  1257 +
  1258 +
  1259 + /**
  1260 + * [!] Method is generated. Documentation taken from corresponding module.
  1261 + *
  1262 + * Checks if the array of form parameters (name => value) are not set on the form matched with
  1263 + * the passed selector.
  1264 + *
  1265 + * ``` php
  1266 + * <?php
  1267 + * $I->dontSeeInFormFields('form[name=myform]', [
  1268 + * 'input1' => 'non-existent value',
  1269 + * 'input2' => 'other non-existent value',
  1270 + * ]);
  1271 + * ?>
  1272 + * ```
  1273 + *
  1274 + * To check that an element hasn't been assigned any one of many values, an array can be passed
  1275 + * as the value:
  1276 + *
  1277 + * ``` php
  1278 + * <?php
  1279 + * $I->dontSeeInFormFields('.form-class', [
  1280 + * 'fieldName' => [
  1281 + * 'This value shouldn\'t be set',
  1282 + * 'And this value shouldn\'t be set',
  1283 + * ],
  1284 + * ]);
  1285 + * ?>
  1286 + * ```
  1287 + *
  1288 + * Additionally, checkbox values can be checked with a boolean.
  1289 + *
  1290 + * ``` php
  1291 + * <?php
  1292 + * $I->dontSeeInFormFields('#form-id', [
  1293 + * 'checkbox1' => true, // fails if checked
  1294 + * 'checkbox2' => false, // fails if unchecked
  1295 + * ]);
  1296 + * ?>
  1297 + * ```
  1298 + *
  1299 + * @param $formSelector
  1300 + * @param $params
  1301 + * Conditional Assertion: Test won't be stopped on fail
  1302 + * @see \Codeception\Module\WebDriver::dontSeeInFormFields()
  1303 + */
  1304 + public function cantSeeInFormFields($formSelector, $params) {
  1305 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInFormFields', func_get_args()));
  1306 + }
  1307 + /**
  1308 + * [!] Method is generated. Documentation taken from corresponding module.
  1309 + *
  1310 + * Checks if the array of form parameters (name => value) are not set on the form matched with
  1311 + * the passed selector.
  1312 + *
  1313 + * ``` php
  1314 + * <?php
  1315 + * $I->dontSeeInFormFields('form[name=myform]', [
  1316 + * 'input1' => 'non-existent value',
  1317 + * 'input2' => 'other non-existent value',
  1318 + * ]);
  1319 + * ?>
  1320 + * ```
  1321 + *
  1322 + * To check that an element hasn't been assigned any one of many values, an array can be passed
  1323 + * as the value:
  1324 + *
  1325 + * ``` php
  1326 + * <?php
  1327 + * $I->dontSeeInFormFields('.form-class', [
  1328 + * 'fieldName' => [
  1329 + * 'This value shouldn\'t be set',
  1330 + * 'And this value shouldn\'t be set',
  1331 + * ],
  1332 + * ]);
  1333 + * ?>
  1334 + * ```
  1335 + *
  1336 + * Additionally, checkbox values can be checked with a boolean.
  1337 + *
  1338 + * ``` php
  1339 + * <?php
  1340 + * $I->dontSeeInFormFields('#form-id', [
  1341 + * 'checkbox1' => true, // fails if checked
  1342 + * 'checkbox2' => false, // fails if unchecked
  1343 + * ]);
  1344 + * ?>
  1345 + * ```
  1346 + *
  1347 + * @param $formSelector
  1348 + * @param $params
  1349 + * @see \Codeception\Module\WebDriver::dontSeeInFormFields()
  1350 + */
  1351 + public function dontSeeInFormFields($formSelector, $params) {
  1352 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInFormFields', func_get_args()));
  1353 + }
  1354 +
  1355 +
  1356 + /**
  1357 + * [!] Method is generated. Documentation taken from corresponding module.
  1358 + *
  1359 + * Selects an option in a select tag or in radio button group.
  1360 + *
  1361 + * ``` php
  1362 + * <?php
  1363 + * $I->selectOption('form select[name=account]', 'Premium');
  1364 + * $I->selectOption('form input[name=payment]', 'Monthly');
  1365 + * $I->selectOption('//form/select[@name=account]', 'Monthly');
  1366 + * ?>
  1367 + * ```
  1368 + *
  1369 + * Provide an array for the second argument to select multiple options:
  1370 + *
  1371 + * ``` php
  1372 + * <?php
  1373 + * $I->selectOption('Which OS do you use?', array('Windows','Linux'));
  1374 + * ?>
  1375 + * ```
  1376 + *
  1377 + * @param $select
  1378 + * @param $option
  1379 + * @see \Codeception\Module\WebDriver::selectOption()
  1380 + */
  1381 + public function selectOption($select, $option) {
  1382 + return $this->getScenario()->runStep(new \Codeception\Step\Action('selectOption', func_get_args()));
  1383 + }
  1384 +
  1385 +
  1386 + /**
  1387 + * [!] Method is generated. Documentation taken from corresponding module.
  1388 + *
  1389 + *
  1390 + * @see \Codeception\Module\WebDriver::unselectOption()
  1391 + */
  1392 + public function unselectOption($select, $option) {
  1393 + return $this->getScenario()->runStep(new \Codeception\Step\Action('unselectOption', func_get_args()));
  1394 + }
  1395 +
  1396 +
  1397 + /**
  1398 + * [!] Method is generated. Documentation taken from corresponding module.
  1399 + *
  1400 + * Ticks a checkbox. For radio buttons, use the `selectOption` method instead.
  1401 + *
  1402 + * ``` php
  1403 + * <?php
  1404 + * $I->checkOption('#agree');
  1405 + * ?>
  1406 + * ```
  1407 + *
  1408 + * @param $option
  1409 + * @see \Codeception\Module\WebDriver::checkOption()
  1410 + */
  1411 + public function checkOption($option) {
  1412 + return $this->getScenario()->runStep(new \Codeception\Step\Action('checkOption', func_get_args()));
  1413 + }
  1414 +
  1415 +
  1416 + /**
  1417 + * [!] Method is generated. Documentation taken from corresponding module.
  1418 + *
  1419 + * Unticks a checkbox.
  1420 + *
  1421 + * ``` php
  1422 + * <?php
  1423 + * $I->uncheckOption('#notify');
  1424 + * ?>
  1425 + * ```
  1426 + *
  1427 + * @param $option
  1428 + * @see \Codeception\Module\WebDriver::uncheckOption()
  1429 + */
  1430 + public function uncheckOption($option) {
  1431 + return $this->getScenario()->runStep(new \Codeception\Step\Action('uncheckOption', func_get_args()));
  1432 + }
  1433 +
  1434 +
  1435 + /**
  1436 + * [!] Method is generated. Documentation taken from corresponding module.
  1437 + *
  1438 + * Fills a text field or textarea with the given string.
  1439 + *
  1440 + * ``` php
  1441 + * <?php
  1442 + * $I->fillField("//input[@type='text']", "Hello World!");
  1443 + * $I->fillField(['name' => 'email'], 'jon@mail.com');
  1444 + * ?>
  1445 + * ```
  1446 + *
  1447 + * @param $field
  1448 + * @param $value
  1449 + * @see \Codeception\Module\WebDriver::fillField()
  1450 + */
  1451 + public function fillField($field, $value) {
  1452 + return $this->getScenario()->runStep(new \Codeception\Step\Action('fillField', func_get_args()));
  1453 + }
  1454 +
  1455 +
  1456 + /**
  1457 + * [!] Method is generated. Documentation taken from corresponding module.
  1458 + *
  1459 + * Attaches a file relative to the Codeception data directory to the given file upload field.
  1460 + *
  1461 + * ``` php
  1462 + * <?php
  1463 + * // file is stored in 'tests/_data/prices.xls'
  1464 + * $I->attachFile('input[@type="file"]', 'prices.xls');
  1465 + * ?>
  1466 + * ```
  1467 + *
  1468 + * @param $field
  1469 + * @param $filename
  1470 + * @see \Codeception\Module\WebDriver::attachFile()
  1471 + */
  1472 + public function attachFile($field, $filename) {
  1473 + return $this->getScenario()->runStep(new \Codeception\Step\Action('attachFile', func_get_args()));
  1474 + }
  1475 +
  1476 +
  1477 + /**
  1478 + * [!] Method is generated. Documentation taken from corresponding module.
  1479 + *
  1480 + * Grabs all visible text from the current page.
  1481 + *
  1482 + * @return string
  1483 + * @see \Codeception\Module\WebDriver::getVisibleText()
  1484 + */
  1485 + public function getVisibleText() {
  1486 + return $this->getScenario()->runStep(new \Codeception\Step\Action('getVisibleText', func_get_args()));
  1487 + }
  1488 +
  1489 +
  1490 + /**
  1491 + * [!] Method is generated. Documentation taken from corresponding module.
  1492 + *
  1493 + * Finds and returns the text contents of the given element.
  1494 + * If a fuzzy locator is used, the element is found using CSS, XPath, and by matching the full page source by regular expression.
  1495 + *
  1496 + * ``` php
  1497 + * <?php
  1498 + * $heading = $I->grabTextFrom('h1');
  1499 + * $heading = $I->grabTextFrom('descendant-or-self::h1');
  1500 + * $value = $I->grabTextFrom('~<input value=(.*?)]~sgi'); // match with a regex
  1501 + * ?>
  1502 + * ```
  1503 + *
  1504 + * @param $cssOrXPathOrRegex
  1505 + *
  1506 + * @return mixed
  1507 + * @see \Codeception\Module\WebDriver::grabTextFrom()
  1508 + */
  1509 + public function grabTextFrom($cssOrXPathOrRegex) {
  1510 + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabTextFrom', func_get_args()));
  1511 + }
  1512 +
  1513 +
  1514 + /**
  1515 + * [!] Method is generated. Documentation taken from corresponding module.
  1516 + *
  1517 + * Grabs the value of the given attribute value from the given element.
  1518 + * Fails if element is not found.
  1519 + *
  1520 + * ``` php
  1521 + * <?php
  1522 + * $I->grabAttributeFrom('#tooltip', 'title');
  1523 + * ?>
  1524 + * ```
  1525 + *
  1526 + *
  1527 + * @param $cssOrXpath
  1528 + * @param $attribute
  1529 + *
  1530 + * @return mixed
  1531 + * @see \Codeception\Module\WebDriver::grabAttributeFrom()
  1532 + */
  1533 + public function grabAttributeFrom($cssOrXpath, $attribute) {
  1534 + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabAttributeFrom', func_get_args()));
  1535 + }
  1536 +
  1537 +
  1538 + /**
  1539 + * [!] Method is generated. Documentation taken from corresponding module.
  1540 + *
  1541 + * Finds the value for the given form field.
  1542 + * If a fuzzy locator is used, the field is found by field name, CSS, and XPath.
  1543 + *
  1544 + * ``` php
  1545 + * <?php
  1546 + * $name = $I->grabValueFrom('Name');
  1547 + * $name = $I->grabValueFrom('input[name=username]');
  1548 + * $name = $I->grabValueFrom('descendant-or-self::form/descendant::input[@name = 'username']');
  1549 + * $name = $I->grabValueFrom(['name' => 'username']);
  1550 + * ?>
  1551 + * ```
  1552 + *
  1553 + * @param $field
  1554 + *
  1555 + * @return mixed
  1556 + * @see \Codeception\Module\WebDriver::grabValueFrom()
  1557 + */
  1558 + public function grabValueFrom($field) {
  1559 + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabValueFrom', func_get_args()));
  1560 + }
  1561 +
  1562 +
  1563 + /**
  1564 + * [!] Method is generated. Documentation taken from corresponding module.
  1565 + *
  1566 + * Grabs either the text content, or attribute values, of nodes
  1567 + * matched by $cssOrXpath and returns them as an array.
  1568 + *
  1569 + * ```html
  1570 + * <a href="#first">First</a>
  1571 + * <a href="#second">Second</a>
  1572 + * <a href="#third">Third</a>
  1573 + * ```
  1574 + *
  1575 + * ```php
  1576 + * <?php
  1577 + * // would return ['First', 'Second', 'Third']
  1578 + * $aLinkText = $I->grabMultiple('a');
  1579 + *
  1580 + * // would return ['#first', '#second', '#third']
  1581 + * $aLinks = $I->grabMultiple('a', 'href');
  1582 + * ?>
  1583 + * ```
  1584 + *
  1585 + * @param $cssOrXpath
  1586 + * @param $attribute
  1587 + * @return string[]
  1588 + * @see \Codeception\Module\WebDriver::grabMultiple()
  1589 + */
  1590 + public function grabMultiple($cssOrXpath, $attribute = null) {
  1591 + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabMultiple', func_get_args()));
  1592 + }
  1593 +
  1594 +
  1595 + /**
  1596 + * [!] Method is generated. Documentation taken from corresponding module.
  1597 + *
  1598 + * Checks that the given element exists on the page and is visible.
  1599 + * You can also specify expected attributes of this element.
  1600 + *
  1601 + * ``` php
  1602 + * <?php
  1603 + * $I->seeElement('.error');
  1604 + * $I->seeElement('//form/input[1]');
  1605 + * $I->seeElement('input', ['name' => 'login']);
  1606 + * $I->seeElement('input', ['value' => '123456']);
  1607 + *
  1608 + * // strict locator in first arg, attributes in second
  1609 + * $I->seeElement(['css' => 'form input'], ['name' => 'login']);
  1610 + * ?>
  1611 + * ```
  1612 + *
  1613 + * @param $selector
  1614 + * @param array $attributes
  1615 + * @return
  1616 + * Conditional Assertion: Test won't be stopped on fail
  1617 + * @see \Codeception\Module\WebDriver::seeElement()
  1618 + */
  1619 + public function canSeeElement($selector, $attributes = null) {
  1620 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeElement', func_get_args()));
  1621 + }
  1622 + /**
  1623 + * [!] Method is generated. Documentation taken from corresponding module.
  1624 + *
  1625 + * Checks that the given element exists on the page and is visible.
  1626 + * You can also specify expected attributes of this element.
  1627 + *
  1628 + * ``` php
  1629 + * <?php
  1630 + * $I->seeElement('.error');
  1631 + * $I->seeElement('//form/input[1]');
  1632 + * $I->seeElement('input', ['name' => 'login']);
  1633 + * $I->seeElement('input', ['value' => '123456']);
  1634 + *
  1635 + * // strict locator in first arg, attributes in second
  1636 + * $I->seeElement(['css' => 'form input'], ['name' => 'login']);
  1637 + * ?>
  1638 + * ```
  1639 + *
  1640 + * @param $selector
  1641 + * @param array $attributes
  1642 + * @return
  1643 + * @see \Codeception\Module\WebDriver::seeElement()
  1644 + */
  1645 + public function seeElement($selector, $attributes = null) {
  1646 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeElement', func_get_args()));
  1647 + }
  1648 +
  1649 +
  1650 + /**
  1651 + * [!] Method is generated. Documentation taken from corresponding module.
  1652 + *
  1653 + * Checks that the given element is invisible or not present on the page.
  1654 + * You can also specify expected attributes of this element.
  1655 + *
  1656 + * ``` php
  1657 + * <?php
  1658 + * $I->dontSeeElement('.error');
  1659 + * $I->dontSeeElement('//form/input[1]');
  1660 + * $I->dontSeeElement('input', ['name' => 'login']);
  1661 + * $I->dontSeeElement('input', ['value' => '123456']);
  1662 + * ?>
  1663 + * ```
  1664 + *
  1665 + * @param $selector
  1666 + * @param array $attributes
  1667 + * Conditional Assertion: Test won't be stopped on fail
  1668 + * @see \Codeception\Module\WebDriver::dontSeeElement()
  1669 + */
  1670 + public function cantSeeElement($selector, $attributes = null) {
  1671 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeElement', func_get_args()));
  1672 + }
  1673 + /**
  1674 + * [!] Method is generated. Documentation taken from corresponding module.
  1675 + *
  1676 + * Checks that the given element is invisible or not present on the page.
  1677 + * You can also specify expected attributes of this element.
  1678 + *
  1679 + * ``` php
  1680 + * <?php
  1681 + * $I->dontSeeElement('.error');
  1682 + * $I->dontSeeElement('//form/input[1]');
  1683 + * $I->dontSeeElement('input', ['name' => 'login']);
  1684 + * $I->dontSeeElement('input', ['value' => '123456']);
  1685 + * ?>
  1686 + * ```
  1687 + *
  1688 + * @param $selector
  1689 + * @param array $attributes
  1690 + * @see \Codeception\Module\WebDriver::dontSeeElement()
  1691 + */
  1692 + public function dontSeeElement($selector, $attributes = null) {
  1693 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeElement', func_get_args()));
  1694 + }
  1695 +
  1696 +
  1697 + /**
  1698 + * [!] Method is generated. Documentation taken from corresponding module.
  1699 + *
  1700 + * Checks that the given element exists on the page, even it is invisible.
  1701 + *
  1702 + * ``` php
  1703 + * <?php
  1704 + * $I->seeElementInDOM('//form/input[type=hidden]');
  1705 + * ?>
  1706 + * ```
  1707 + *
  1708 + * @param $selector
  1709 + * Conditional Assertion: Test won't be stopped on fail
  1710 + * @see \Codeception\Module\WebDriver::seeElementInDOM()
  1711 + */
  1712 + public function canSeeElementInDOM($selector, $attributes = null) {
  1713 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeElementInDOM', func_get_args()));
  1714 + }
  1715 + /**
  1716 + * [!] Method is generated. Documentation taken from corresponding module.
  1717 + *
  1718 + * Checks that the given element exists on the page, even it is invisible.
  1719 + *
  1720 + * ``` php
  1721 + * <?php
  1722 + * $I->seeElementInDOM('//form/input[type=hidden]');
  1723 + * ?>
  1724 + * ```
  1725 + *
  1726 + * @param $selector
  1727 + * @see \Codeception\Module\WebDriver::seeElementInDOM()
  1728 + */
  1729 + public function seeElementInDOM($selector, $attributes = null) {
  1730 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeElementInDOM', func_get_args()));
  1731 + }
  1732 +
  1733 +
  1734 + /**
  1735 + * [!] Method is generated. Documentation taken from corresponding module.
  1736 + *
  1737 + * Opposite of `seeElementInDOM`.
  1738 + *
  1739 + * @param $selector
  1740 + * Conditional Assertion: Test won't be stopped on fail
  1741 + * @see \Codeception\Module\WebDriver::dontSeeElementInDOM()
  1742 + */
  1743 + public function cantSeeElementInDOM($selector, $attributes = null) {
  1744 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeElementInDOM', func_get_args()));
  1745 + }
  1746 + /**
  1747 + * [!] Method is generated. Documentation taken from corresponding module.
  1748 + *
  1749 + * Opposite of `seeElementInDOM`.
  1750 + *
  1751 + * @param $selector
  1752 + * @see \Codeception\Module\WebDriver::dontSeeElementInDOM()
  1753 + */
  1754 + public function dontSeeElementInDOM($selector, $attributes = null) {
  1755 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeElementInDOM', func_get_args()));
  1756 + }
  1757 +
  1758 +
  1759 + /**
  1760 + * [!] Method is generated. Documentation taken from corresponding module.
  1761 + *
  1762 + * Checks that there are a certain number of elements matched by the given locator on the page.
  1763 + *
  1764 + * ``` php
  1765 + * <?php
  1766 + * $I->seeNumberOfElements('tr', 10);
  1767 + * $I->seeNumberOfElements('tr', [0,10]); //between 0 and 10 elements
  1768 + * ?>
  1769 + * ```
  1770 + * @param $selector
  1771 + * @param mixed $expected :
  1772 + * - string: strict number
  1773 + * - array: range of numbers [0,10]
  1774 + * Conditional Assertion: Test won't be stopped on fail
  1775 + * @see \Codeception\Module\WebDriver::seeNumberOfElements()
  1776 + */
  1777 + public function canSeeNumberOfElements($selector, $expected) {
  1778 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeNumberOfElements', func_get_args()));
  1779 + }
  1780 + /**
  1781 + * [!] Method is generated. Documentation taken from corresponding module.
  1782 + *
  1783 + * Checks that there are a certain number of elements matched by the given locator on the page.
  1784 + *
  1785 + * ``` php
  1786 + * <?php
  1787 + * $I->seeNumberOfElements('tr', 10);
  1788 + * $I->seeNumberOfElements('tr', [0,10]); //between 0 and 10 elements
  1789 + * ?>
  1790 + * ```
  1791 + * @param $selector
  1792 + * @param mixed $expected :
  1793 + * - string: strict number
  1794 + * - array: range of numbers [0,10]
  1795 + * @see \Codeception\Module\WebDriver::seeNumberOfElements()
  1796 + */
  1797 + public function seeNumberOfElements($selector, $expected) {
  1798 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeNumberOfElements', func_get_args()));
  1799 + }
  1800 +
  1801 +
  1802 + /**
  1803 + * [!] Method is generated. Documentation taken from corresponding module.
  1804 + *
  1805 + *
  1806 + * Conditional Assertion: Test won't be stopped on fail
  1807 + * @see \Codeception\Module\WebDriver::seeNumberOfElementsInDOM()
  1808 + */
  1809 + public function canSeeNumberOfElementsInDOM($selector, $expected) {
  1810 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeNumberOfElementsInDOM', func_get_args()));
  1811 + }
  1812 + /**
  1813 + * [!] Method is generated. Documentation taken from corresponding module.
  1814 + *
  1815 + *
  1816 + * @see \Codeception\Module\WebDriver::seeNumberOfElementsInDOM()
  1817 + */
  1818 + public function seeNumberOfElementsInDOM($selector, $expected) {
  1819 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeNumberOfElementsInDOM', func_get_args()));
  1820 + }
  1821 +
  1822 +
  1823 + /**
  1824 + * [!] Method is generated. Documentation taken from corresponding module.
  1825 + *
  1826 + * Checks that the given option is selected.
  1827 + *
  1828 + * ``` php
  1829 + * <?php
  1830 + * $I->seeOptionIsSelected('#form input[name=payment]', 'Visa');
  1831 + * ?>
  1832 + * ```
  1833 + *
  1834 + * @param $selector
  1835 + * @param $optionText
  1836 + *
  1837 + * @return mixed
  1838 + * Conditional Assertion: Test won't be stopped on fail
  1839 + * @see \Codeception\Module\WebDriver::seeOptionIsSelected()
  1840 + */
  1841 + public function canSeeOptionIsSelected($selector, $optionText) {
  1842 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeOptionIsSelected', func_get_args()));
  1843 + }
  1844 + /**
  1845 + * [!] Method is generated. Documentation taken from corresponding module.
  1846 + *
  1847 + * Checks that the given option is selected.
  1848 + *
  1849 + * ``` php
  1850 + * <?php
  1851 + * $I->seeOptionIsSelected('#form input[name=payment]', 'Visa');
  1852 + * ?>
  1853 + * ```
  1854 + *
  1855 + * @param $selector
  1856 + * @param $optionText
  1857 + *
  1858 + * @return mixed
  1859 + * @see \Codeception\Module\WebDriver::seeOptionIsSelected()
  1860 + */
  1861 + public function seeOptionIsSelected($selector, $optionText) {
  1862 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeOptionIsSelected', func_get_args()));
  1863 + }
  1864 +
  1865 +
  1866 + /**
  1867 + * [!] Method is generated. Documentation taken from corresponding module.
  1868 + *
  1869 + * Checks that the given option is not selected.
  1870 + *
  1871 + * ``` php
  1872 + * <?php
  1873 + * $I->dontSeeOptionIsSelected('#form input[name=payment]', 'Visa');
  1874 + * ?>
  1875 + * ```
  1876 + *
  1877 + * @param $selector
  1878 + * @param $optionText
  1879 + *
  1880 + * @return mixed
  1881 + * Conditional Assertion: Test won't be stopped on fail
  1882 + * @see \Codeception\Module\WebDriver::dontSeeOptionIsSelected()
  1883 + */
  1884 + public function cantSeeOptionIsSelected($selector, $optionText) {
  1885 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeOptionIsSelected', func_get_args()));
  1886 + }
  1887 + /**
  1888 + * [!] Method is generated. Documentation taken from corresponding module.
  1889 + *
  1890 + * Checks that the given option is not selected.
  1891 + *
  1892 + * ``` php
  1893 + * <?php
  1894 + * $I->dontSeeOptionIsSelected('#form input[name=payment]', 'Visa');
  1895 + * ?>
  1896 + * ```
  1897 + *
  1898 + * @param $selector
  1899 + * @param $optionText
  1900 + *
  1901 + * @return mixed
  1902 + * @see \Codeception\Module\WebDriver::dontSeeOptionIsSelected()
  1903 + */
  1904 + public function dontSeeOptionIsSelected($selector, $optionText) {
  1905 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeOptionIsSelected', func_get_args()));
  1906 + }
  1907 +
  1908 +
  1909 + /**
  1910 + * [!] Method is generated. Documentation taken from corresponding module.
  1911 + *
  1912 + * Checks that the page title contains the given string.
  1913 + *
  1914 + * ``` php
  1915 + * <?php
  1916 + * $I->seeInTitle('Blog - Post #1');
  1917 + * ?>
  1918 + * ```
  1919 + *
  1920 + * @param $title
  1921 + *
  1922 + * @return mixed
  1923 + * Conditional Assertion: Test won't be stopped on fail
  1924 + * @see \Codeception\Module\WebDriver::seeInTitle()
  1925 + */
  1926 + public function canSeeInTitle($title) {
  1927 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInTitle', func_get_args()));
  1928 + }
  1929 + /**
  1930 + * [!] Method is generated. Documentation taken from corresponding module.
  1931 + *
  1932 + * Checks that the page title contains the given string.
  1933 + *
  1934 + * ``` php
  1935 + * <?php
  1936 + * $I->seeInTitle('Blog - Post #1');
  1937 + * ?>
  1938 + * ```
  1939 + *
  1940 + * @param $title
  1941 + *
  1942 + * @return mixed
  1943 + * @see \Codeception\Module\WebDriver::seeInTitle()
  1944 + */
  1945 + public function seeInTitle($title) {
  1946 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInTitle', func_get_args()));
  1947 + }
  1948 +
  1949 +
  1950 + /**
  1951 + * [!] Method is generated. Documentation taken from corresponding module.
  1952 + *
  1953 + * Checks that the page title does not contain the given string.
  1954 + *
  1955 + * @param $title
  1956 + *
  1957 + * @return mixed
  1958 + * Conditional Assertion: Test won't be stopped on fail
  1959 + * @see \Codeception\Module\WebDriver::dontSeeInTitle()
  1960 + */
  1961 + public function cantSeeInTitle($title) {
  1962 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInTitle', func_get_args()));
  1963 + }
  1964 + /**
  1965 + * [!] Method is generated. Documentation taken from corresponding module.
  1966 + *
  1967 + * Checks that the page title does not contain the given string.
  1968 + *
  1969 + * @param $title
  1970 + *
  1971 + * @return mixed
  1972 + * @see \Codeception\Module\WebDriver::dontSeeInTitle()
  1973 + */
  1974 + public function dontSeeInTitle($title) {
  1975 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInTitle', func_get_args()));
  1976 + }
  1977 +
  1978 +
  1979 + /**
  1980 + * [!] Method is generated. Documentation taken from corresponding module.
  1981 + *
  1982 + * Accepts the active JavaScript native popup window, as created by `window.alert`|`window.confirm`|`window.prompt`.
  1983 + * Don't confuse popups with modal windows, as created by [various libraries](http://jster.net/category/windows-modals-popups).
  1984 + * @see \Codeception\Module\WebDriver::acceptPopup()
  1985 + */
  1986 + public function acceptPopup() {
  1987 + return $this->getScenario()->runStep(new \Codeception\Step\Action('acceptPopup', func_get_args()));
  1988 + }
  1989 +
  1990 +
  1991 + /**
  1992 + * [!] Method is generated. Documentation taken from corresponding module.
  1993 + *
  1994 + * Dismisses the active JavaScript popup, as created by `window.alert`|`window.confirm`|`window.prompt`.
  1995 + * @see \Codeception\Module\WebDriver::cancelPopup()
  1996 + */
  1997 + public function cancelPopup() {
  1998 + return $this->getScenario()->runStep(new \Codeception\Step\Action('cancelPopup', func_get_args()));
  1999 + }
  2000 +
  2001 +
  2002 + /**
  2003 + * [!] Method is generated. Documentation taken from corresponding module.
  2004 + *
  2005 + * Checks that the active JavaScript popup, as created by `window.alert`|`window.confirm`|`window.prompt`, contains the given string.
  2006 + *
  2007 + * @param $text
  2008 + * Conditional Assertion: Test won't be stopped on fail
  2009 + * @see \Codeception\Module\WebDriver::seeInPopup()
  2010 + */
  2011 + public function canSeeInPopup($text) {
  2012 + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInPopup', func_get_args()));
  2013 + }
  2014 + /**
  2015 + * [!] Method is generated. Documentation taken from corresponding module.
  2016 + *
  2017 + * Checks that the active JavaScript popup, as created by `window.alert`|`window.confirm`|`window.prompt`, contains the given string.
  2018 + *
  2019 + * @param $text
  2020 + * @see \Codeception\Module\WebDriver::seeInPopup()
  2021 + */
  2022 + public function seeInPopup($text) {
  2023 + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInPopup', func_get_args()));
  2024 + }
  2025 +
  2026 +
  2027 + /**
  2028 + * [!] Method is generated. Documentation taken from corresponding module.
  2029 + *
  2030 + * Enters text into a native JavaScript prompt popup, as created by `window.prompt`.
  2031 + *
  2032 + * @param $keys
  2033 + * @see \Codeception\Module\WebDriver::typeInPopup()
  2034 + */
  2035 + public function typeInPopup($keys) {
  2036 + return $this->getScenario()->runStep(new \Codeception\Step\Action('typeInPopup', func_get_args()));
  2037 + }
  2038 +
  2039 +
  2040 + /**
  2041 + * [!] Method is generated. Documentation taken from corresponding module.
  2042 + *
  2043 + * Reloads the current page.
  2044 + * @see \Codeception\Module\WebDriver::reloadPage()
  2045 + */
  2046 + public function reloadPage() {
  2047 + return $this->getScenario()->runStep(new \Codeception\Step\Action('reloadPage', func_get_args()));
  2048 + }
  2049 +
  2050 +
  2051 + /**
  2052 + * [!] Method is generated. Documentation taken from corresponding module.
  2053 + *
  2054 + * Moves back in history.
  2055 + * @see \Codeception\Module\WebDriver::moveBack()
  2056 + */
  2057 + public function moveBack() {
  2058 + return $this->getScenario()->runStep(new \Codeception\Step\Action('moveBack', func_get_args()));
  2059 + }
  2060 +
  2061 +
  2062 + /**
  2063 + * [!] Method is generated. Documentation taken from corresponding module.
  2064 + *
  2065 + * Moves forward in history.
  2066 + * @see \Codeception\Module\WebDriver::moveForward()
  2067 + */
  2068 + public function moveForward() {
  2069 + return $this->getScenario()->runStep(new \Codeception\Step\Action('moveForward', func_get_args()));
  2070 + }
  2071 +
  2072 +
  2073 + /**
  2074 + * [!] Method is generated. Documentation taken from corresponding module.
  2075 + *
  2076 + * Submits the given form on the page, optionally with the given form
  2077 + * values. Give the form fields values as an array. Note that hidden fields
  2078 + * can't be accessed.
  2079 + *
  2080 + * Skipped fields will be filled by their values from the page.
  2081 + * You don't need to click the 'Submit' button afterwards.
  2082 + * This command itself triggers the request to form's action.
  2083 + *
  2084 + * You can optionally specify what button's value to include
  2085 + * in the request with the last parameter as an alternative to
  2086 + * explicitly setting its value in the second parameter, as
  2087 + * button values are not otherwise included in the request.
  2088 + *
  2089 + * Examples:
  2090 + *
  2091 + * ``` php
  2092 + * <?php
  2093 + * $I->submitForm('#login', [
  2094 + * 'login' => 'davert',
  2095 + * 'password' => '123456'
  2096 + * ]);
  2097 + * // or
  2098 + * $I->submitForm('#login', [
  2099 + * 'login' => 'davert',
  2100 + * 'password' => '123456'
  2101 + * ], 'submitButtonName');
  2102 + *
  2103 + * ```
  2104 + *
  2105 + * For example, given this sample "Sign Up" form:
  2106 + *
  2107 + * ``` html
  2108 + * <form action="/sign_up">
  2109 + * Login:
  2110 + * <input type="text" name="user[login]" /><br/>
  2111 + * Password:
  2112 + * <input type="password" name="user[password]" /><br/>
  2113 + * Do you agree to our terms?
  2114 + * <input type="checkbox" name="user[agree]" /><br/>
  2115 + * Select pricing plan:
  2116 + * <select name="plan">
  2117 + * <option value="1">Free</option>
  2118 + * <option value="2" selected="selected">Paid</option>
  2119 + * </select>
  2120 + * <input type="submit" name="submitButton" value="Submit" />
  2121 + * </form>
  2122 + * ```
  2123 + *
  2124 + * You could write the following to submit it:
  2125 + *
  2126 + * ``` php
  2127 + * <?php
  2128 + * $I->submitForm(
  2129 + * '#userForm',
  2130 + * [
  2131 + * 'user[login]' => 'Davert',
  2132 + * 'user[password]' => '123456',
  2133 + * 'user[agree]' => true
  2134 + * ],
  2135 + * 'submitButton'
  2136 + * );
  2137 + * ```
  2138 + * Note that "2" will be the submitted value for the "plan" field, as it is
  2139 + * the selected option.
  2140 + *
  2141 + * Also note that this differs from PhpBrowser, in that
  2142 + * ```'user' => [ 'login' => 'Davert' ]``` is not supported at the moment.
  2143 + * Named array keys *must* be included in the name as above.
  2144 + *
  2145 + * Pair this with seeInFormFields for quick testing magic.
  2146 + *
  2147 + * ``` php
  2148 + * <?php
  2149 + * $form = [
  2150 + * 'field1' => 'value',
  2151 + * 'field2' => 'another value',
  2152 + * 'checkbox1' => true,
  2153 + * // ...
  2154 + * ];
  2155 + * $I->submitForm('//form[@id=my-form]', $form, 'submitButton');
  2156 + * // $I->amOnPage('/path/to/form-page') may be needed
  2157 + * $I->seeInFormFields('//form[@id=my-form]', $form);
  2158 + * ?>
  2159 + * ```
  2160 + *
  2161 + * Parameter values must be set to arrays for multiple input fields
  2162 + * of the same name, or multi-select combo boxes. For checkboxes,
  2163 + * either the string value can be used, or boolean values which will
  2164 + * be replaced by the checkbox's value in the DOM.
  2165 + *
  2166 + * ``` php
  2167 + * <?php
  2168 + * $I->submitForm('#my-form', [
  2169 + * 'field1' => 'value',
  2170 + * 'checkbox' => [
  2171 + * 'value of first checkbox',
  2172 + * 'value of second checkbox,
  2173 + * ],
  2174 + * 'otherCheckboxes' => [
  2175 + * true,
  2176 + * false,
  2177 + * false
  2178 + * ],
  2179 + * 'multiselect' => [
  2180 + * 'first option value',
  2181 + * 'second option value'
  2182 + * ]
  2183 + * ]);
  2184 + * ?>
  2185 + * ```
  2186 + *
  2187 + * Mixing string and boolean values for a checkbox's value is not supported
  2188 + * and may produce unexpected results.
  2189 + *
  2190 + * Field names ending in "[]" must be passed without the trailing square
  2191 + * bracket characters, and must contain an array for its value. This allows
  2192 + * submitting multiple values with the same name, consider:
  2193 + *
  2194 + * ```php
  2195 + * $I->submitForm('#my-form', [
  2196 + * 'field[]' => 'value',
  2197 + * 'field[]' => 'another value', // 'field[]' is already a defined key
  2198 + * ]);
  2199 + * ```
  2200 + *
  2201 + * The solution is to pass an array value:
  2202 + *
  2203 + * ```php
  2204 + * // this way both values are submitted
  2205 + * $I->submitForm('#my-form', [
  2206 + * 'field' => [
  2207 + * 'value',
  2208 + * 'another value',
  2209 + * ]
  2210 + * ]);
  2211 + * ```
  2212 + * @param $selector
  2213 + * @param $params
  2214 + * @param $button
  2215 + * @see \Codeception\Module\WebDriver::submitForm()
  2216 + */
  2217 + public function submitForm($selector, $params, $button = null) {
  2218 + return $this->getScenario()->runStep(new \Codeception\Step\Action('submitForm', func_get_args()));
  2219 + }
  2220 +
  2221 +
  2222 + /**
  2223 + * [!] Method is generated. Documentation taken from corresponding module.
  2224 + *
  2225 + * Waits up to $timeout seconds for the given element to change.
  2226 + * Element "change" is determined by a callback function which is called repeatedly until the return value evaluates to true.
  2227 + *
  2228 + * ``` php
  2229 + * <?php
  2230 + * use \Facebook\WebDriver\WebDriverElement
  2231 + * $I->waitForElementChange('#menu', function(WebDriverElement $el) {
  2232 + * return $el->isDisplayed();
  2233 + * }, 100);
  2234 + * ?>
  2235 + * ```
  2236 + *
  2237 + * @param $element
  2238 + * @param \Closure $callback
  2239 + * @param int $timeout seconds
  2240 + * @throws \Codeception\Exception\ElementNotFound
  2241 + * @see \Codeception\Module\WebDriver::waitForElementChange()
  2242 + */
  2243 + public function waitForElementChange($element, $callback, $timeout = null) {
  2244 + return $this->getScenario()->runStep(new \Codeception\Step\Action('waitForElementChange', func_get_args()));
  2245 + }
  2246 +
  2247 +
  2248 + /**
  2249 + * [!] Method is generated. Documentation taken from corresponding module.
  2250 + *
  2251 + * Waits up to $timeout seconds for an element to appear on the page.
  2252 + * If the element doesn't appear, a timeout exception is thrown.
  2253 + *
  2254 + * ``` php
  2255 + * <?php
  2256 + * $I->waitForElement('#agree_button', 30); // secs
  2257 + * $I->click('#agree_button');
  2258 + * ?>
  2259 + * ```
  2260 + *
  2261 + * @param $element
  2262 + * @param int $timeout seconds
  2263 + * @throws \Exception
  2264 + * @see \Codeception\Module\WebDriver::waitForElement()
  2265 + */
  2266 + public function waitForElement($element, $timeout = null) {
  2267 + return $this->getScenario()->runStep(new \Codeception\Step\Action('waitForElement', func_get_args()));
  2268 + }
  2269 +
  2270 +
  2271 + /**
  2272 + * [!] Method is generated. Documentation taken from corresponding module.
  2273 + *
  2274 + * Waits up to $timeout seconds for the given element to be visible on the page.
  2275 + * If element doesn't appear, a timeout exception is thrown.
  2276 + *
  2277 + * ``` php
  2278 + * <?php
  2279 + * $I->waitForElementVisible('#agree_button', 30); // secs
  2280 + * $I->click('#agree_button');
  2281 + * ?>
  2282 + * ```
  2283 + *
  2284 + * @param $element
  2285 + * @param int $timeout seconds
  2286 + * @throws \Exception
  2287 + * @see \Codeception\Module\WebDriver::waitForElementVisible()
  2288 + */
  2289 + public function waitForElementVisible($element, $timeout = null) {
  2290 + return $this->getScenario()->runStep(new \Codeception\Step\Action('waitForElementVisible', func_get_args()));
  2291 + }
  2292 +
  2293 +
  2294 + /**
  2295 + * [!] Method is generated. Documentation taken from corresponding module.
  2296 + *
  2297 + * Waits up to $timeout seconds for the given element to become invisible.
  2298 + * If element stays visible, a timeout exception is thrown.
  2299 + *
  2300 + * ``` php
  2301 + * <?php
  2302 + * $I->waitForElementNotVisible('#agree_button', 30); // secs
  2303 + * ?>
  2304 + * ```
  2305 + *
  2306 + * @param $element
  2307 + * @param int $timeout seconds
  2308 + * @throws \Exception
  2309 + * @see \Codeception\Module\WebDriver::waitForElementNotVisible()
  2310 + */
  2311 + public function waitForElementNotVisible($element, $timeout = null) {
  2312 + return $this->getScenario()->runStep(new \Codeception\Step\Action('waitForElementNotVisible', func_get_args()));
  2313 + }
  2314 +
  2315 +
  2316 + /**
  2317 + * [!] Method is generated. Documentation taken from corresponding module.
  2318 + *
  2319 + * Waits up to $timeout seconds for the given string to appear on the page.
  2320 + * Can also be passed a selector to search in.
  2321 + * If the given text doesn't appear, a timeout exception is thrown.
  2322 + *
  2323 + * ``` php
  2324 + * <?php
  2325 + * $I->waitForText('foo', 30); // secs
  2326 + * $I->waitForText('foo', 30, '.title'); // secs
  2327 + * ?>
  2328 + * ```
  2329 + *
  2330 + * @param string $text
  2331 + * @param int $timeout seconds
  2332 + * @param null $selector
  2333 + * @throws \Exception
  2334 + * @see \Codeception\Module\WebDriver::waitForText()
  2335 + */
  2336 + public function waitForText($text, $timeout = null, $selector = null) {
  2337 + return $this->getScenario()->runStep(new \Codeception\Step\Action('waitForText', func_get_args()));
  2338 + }
  2339 +
  2340 +
  2341 + /**
  2342 + * [!] Method is generated. Documentation taken from corresponding module.
  2343 + *
  2344 + * Wait for $timeout seconds.
  2345 + *
  2346 + * @param int $timeout secs
  2347 + * @throws \Codeception\Exception\TestRuntimeException
  2348 + * @see \Codeception\Module\WebDriver::wait()
  2349 + */
  2350 + public function wait($timeout) {
  2351 + return $this->getScenario()->runStep(new \Codeception\Step\Action('wait', func_get_args()));
  2352 + }
  2353 +
  2354 +
  2355 + /**
  2356 + * [!] Method is generated. Documentation taken from corresponding module.
  2357 + *
  2358 + * Low-level API method.
  2359 + * If Codeception commands are not enough, this allows you to use Selenium WebDriver methods directly:
  2360 + *
  2361 + * ``` php
  2362 + * $I->executeInSelenium(function(\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver) {
  2363 + * $webdriver->get('http://google.com');
  2364 + * });
  2365 + * ```
  2366 + *
  2367 + * This runs in the context of the [RemoteWebDriver class](https://github.com/facebook/php-webdriver/blob/master/lib/remote/RemoteWebDriver.php).
  2368 + * Try not to use this command on a regular basis.
  2369 + * If Codeception lacks a feature you need, please implement it and submit a patch.
  2370 + *
  2371 + * @param callable $function
  2372 + * @see \Codeception\Module\WebDriver::executeInSelenium()
  2373 + */
  2374 + public function executeInSelenium($function) {
  2375 + return $this->getScenario()->runStep(new \Codeception\Step\Action('executeInSelenium', func_get_args()));
  2376 + }
  2377 +
  2378 +
  2379 + /**
  2380 + * [!] Method is generated. Documentation taken from corresponding module.
  2381 + *
  2382 + * Switch to another window identified by name.
  2383 + *
  2384 + * The window can only be identified by name. If the $name parameter is blank, the parent window will be used.
  2385 + *
  2386 + * Example:
  2387 + * ``` html
  2388 + * <input type="button" value="Open window" onclick="window.open('http://example.com', 'another_window')">
  2389 + * ```
  2390 + *
  2391 + * ``` php
  2392 + * <?php
  2393 + * $I->click("Open window");
  2394 + * # switch to another window
  2395 + * $I->switchToWindow("another_window");
  2396 + * # switch to parent window
  2397 + * $I->switchToWindow();
  2398 + * ?>
  2399 + * ```
  2400 + *
  2401 + * If the window has no name, the only way to access it is via the `executeInSelenium()` method, like so:
  2402 + *
  2403 + * ``` php
  2404 + * <?php
  2405 + * $I->executeInSelenium(function (\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver) {
  2406 + * $handles=$webdriver->getWindowHandles();
  2407 + * $last_window = end($handles);
  2408 + * $webdriver->switchTo()->window($last_window);
  2409 + * });
  2410 + * ?>
  2411 + * ```
  2412 + *
  2413 + * @param string|null $name
  2414 + * @see \Codeception\Module\WebDriver::switchToWindow()
  2415 + */
  2416 + public function switchToWindow($name = null) {
  2417 + return $this->getScenario()->runStep(new \Codeception\Step\Action('switchToWindow', func_get_args()));
  2418 + }
  2419 +
  2420 +
  2421 + /**
  2422 + * [!] Method is generated. Documentation taken from corresponding module.
  2423 + *
  2424 + * Switch to another frame on the page.
  2425 + *
  2426 + * Example:
  2427 + * ``` html
  2428 + * <iframe name="another_frame" src="http://example.com">
  2429 + *
  2430 + * ```
  2431 + *
  2432 + * ``` php
  2433 + * <?php
  2434 + * # switch to iframe
  2435 + * $I->switchToIFrame("another_frame");
  2436 + * # switch to parent page
  2437 + * $I->switchToIFrame();
  2438 + *
  2439 + * ```
  2440 + *
  2441 + * @param string|null $name
  2442 + * @see \Codeception\Module\WebDriver::switchToIFrame()
  2443 + */
  2444 + public function switchToIFrame($name = null) {
  2445 + return $this->getScenario()->runStep(new \Codeception\Step\Action('switchToIFrame', func_get_args()));
  2446 + }
  2447 +
  2448 +
  2449 + /**
  2450 + * [!] Method is generated. Documentation taken from corresponding module.
  2451 + *
  2452 + * Executes JavaScript and waits up to $timeout seconds for it to return true.
  2453 + *
  2454 + * In this example we will wait up to 60 seconds for all jQuery AJAX requests to finish.
  2455 + *
  2456 + * ``` php
  2457 + * <?php
  2458 + * $I->waitForJS("return $.active == 0;", 60);
  2459 + * ?>
  2460 + * ```
  2461 + *
  2462 + * @param string $script
  2463 + * @param int $timeout seconds
  2464 + * @see \Codeception\Module\WebDriver::waitForJS()
  2465 + */
  2466 + public function waitForJS($script, $timeout = null) {
  2467 + return $this->getScenario()->runStep(new \Codeception\Step\Action('waitForJS', func_get_args()));
  2468 + }
  2469 +
  2470 +
  2471 + /**
  2472 + * [!] Method is generated. Documentation taken from corresponding module.
  2473 + *
  2474 + * Executes custom JavaScript.
  2475 + *
  2476 + * This example uses jQuery to get a value and assigns that value to a PHP variable:
  2477 + *
  2478 + * ```php
  2479 + * <?php
  2480 + * $myVar = $I->executeJS('return $("#myField").val()');
  2481 + * ?>
  2482 + * ```
  2483 + *
  2484 + * @param $script
  2485 + * @return mixed
  2486 + * @see \Codeception\Module\WebDriver::executeJS()
  2487 + */
  2488 + public function executeJS($script) {
  2489 + return $this->getScenario()->runStep(new \Codeception\Step\Action('executeJS', func_get_args()));
  2490 + }
  2491 +
  2492 +
  2493 + /**
  2494 + * [!] Method is generated. Documentation taken from corresponding module.
  2495 + *
  2496 + * Maximizes the current window.
  2497 + * @see \Codeception\Module\WebDriver::maximizeWindow()
  2498 + */
  2499 + public function maximizeWindow() {
  2500 + return $this->getScenario()->runStep(new \Codeception\Step\Action('maximizeWindow', func_get_args()));
  2501 + }
  2502 +
  2503 +
  2504 + /**
  2505 + * [!] Method is generated. Documentation taken from corresponding module.
  2506 + *
  2507 + * Performs a simple mouse drag-and-drop operation.
  2508 + *
  2509 + * ``` php
  2510 + * <?php
  2511 + * $I->dragAndDrop('#drag', '#drop');
  2512 + * ?>
  2513 + * ```
  2514 + *
  2515 + * @param string $source (CSS ID or XPath)
  2516 + * @param string $target (CSS ID or XPath)
  2517 + * @see \Codeception\Module\WebDriver::dragAndDrop()
  2518 + */
  2519 + public function dragAndDrop($source, $target) {
  2520 + return $this->getScenario()->runStep(new \Codeception\Step\Action('dragAndDrop', func_get_args()));
  2521 + }
  2522 +
  2523 +
  2524 + /**
  2525 + * [!] Method is generated. Documentation taken from corresponding module.
  2526 + *
  2527 + * Move mouse over the first element matched by the given locator.
  2528 + * If the second and third parameters are given, then the mouse is moved to an offset of the element's top-left corner.
  2529 + * Otherwise, the mouse is moved to the center of the element.
  2530 + *
  2531 + * ``` php
  2532 + * <?php
  2533 + * $I->moveMouseOver(['css' => '.checkout'], 20, 50);
  2534 + * ?>
  2535 + * ```
  2536 + *
  2537 + * @param string $cssOrXPath css or xpath of the web element
  2538 + * @param int $offsetX
  2539 + * @param int $offsetY
  2540 + *
  2541 + * @throws \Codeception\Exception\ElementNotFound
  2542 + * @see \Codeception\Module\WebDriver::moveMouseOver()
  2543 + */
  2544 + public function moveMouseOver($cssOrXPath, $offsetX = null, $offsetY = null) {
  2545 + return $this->getScenario()->runStep(new \Codeception\Step\Action('moveMouseOver', func_get_args()));
  2546 + }
  2547 +
  2548 +
  2549 + /**
  2550 + * [!] Method is generated. Documentation taken from corresponding module.
  2551 + *
  2552 + * Performs contextual click with the right mouse button on an element.
  2553 + *
  2554 + * @param $cssOrXPath
  2555 + * @throws \Codeception\Exception\ElementNotFound
  2556 + * @see \Codeception\Module\WebDriver::clickWithRightButton()
  2557 + */
  2558 + public function clickWithRightButton($cssOrXPath) {
  2559 + return $this->getScenario()->runStep(new \Codeception\Step\Action('clickWithRightButton', func_get_args()));
  2560 + }
  2561 +
  2562 +
  2563 + /**
  2564 + * [!] Method is generated. Documentation taken from corresponding module.
  2565 + *
  2566 + * Pauses test execution in debug mode.
  2567 + * To proceed test press "ENTER" in console.
  2568 + *
  2569 + * This method is useful while writing tests, since it allows you to inspect the current page in the middle of a test case.
  2570 + * @see \Codeception\Module\WebDriver::pauseExecution()
  2571 + */
  2572 + public function pauseExecution() {
  2573 + return $this->getScenario()->runStep(new \Codeception\Step\Action('pauseExecution', func_get_args()));
  2574 + }
  2575 +
  2576 +
  2577 + /**
  2578 + * [!] Method is generated. Documentation taken from corresponding module.
  2579 + *
  2580 + * Performs a double-click on an element matched by CSS or XPath.
  2581 + *
  2582 + * @param $cssOrXPath
  2583 + * @throws \Codeception\Exception\ElementNotFound
  2584 + * @see \Codeception\Module\WebDriver::doubleClick()
  2585 + */
  2586 + public function doubleClick($cssOrXPath) {
  2587 + return $this->getScenario()->runStep(new \Codeception\Step\Action('doubleClick', func_get_args()));
  2588 + }
  2589 +
  2590 +
  2591 + /**
  2592 + * [!] Method is generated. Documentation taken from corresponding module.
  2593 + *
  2594 + * Presses the given key on the given element.
  2595 + * To specify a character and modifier (e.g. ctrl, alt, shift, meta), pass an array for $char with
  2596 + * the modifier as the first element and the character as the second.
  2597 + * For special keys use key constants from WebDriverKeys class.
  2598 + *
  2599 + * ``` php
  2600 + * <?php
  2601 + * // <input id="page" value="old" />
  2602 + * $I->pressKey('#page','a'); // => olda
  2603 + * $I->pressKey('#page',array('ctrl','a'),'new'); //=> new
  2604 + * $I->pressKey('#page',array('shift','111'),'1','x'); //=> old!!!1x
  2605 + * $I->pressKey('descendant-or-self::*[@id='page']','u'); //=> oldu
  2606 + * $I->pressKey('#name', array('ctrl', 'a'), \Facebook\WebDriver\WebDriverKeys::DELETE); //=>''
  2607 + * ?>
  2608 + * ```
  2609 + *
  2610 + * @param $element
  2611 + * @param $char Can be char or array with modifier. You can provide several chars.
  2612 + * @throws \Codeception\Exception\ElementNotFound
  2613 + * @see \Codeception\Module\WebDriver::pressKey()
  2614 + */
  2615 + public function pressKey($element, $char) {
  2616 + return $this->getScenario()->runStep(new \Codeception\Step\Action('pressKey', func_get_args()));
  2617 + }
  2618 +
  2619 +
  2620 + /**
  2621 + * [!] Method is generated. Documentation taken from corresponding module.
  2622 + *
  2623 + * Append the given text to the given element.
  2624 + * Can also add a selection to a select box.
  2625 + *
  2626 + * ``` php
  2627 + * <?php
  2628 + * $I->appendField('#mySelectbox', 'SelectValue');
  2629 + * $I->appendField('#myTextField', 'appended');
  2630 + * ?>
  2631 + * ```
  2632 + *
  2633 + * @param string $field
  2634 + * @param string $value
  2635 + * @throws \Codeception\Exception\ElementNotFound
  2636 + * @see \Codeception\Module\WebDriver::appendField()
  2637 + */
  2638 + public function appendField($field, $value) {
  2639 + return $this->getScenario()->runStep(new \Codeception\Step\Action('appendField', func_get_args()));
  2640 + }
  2641 +
  2642 +
  2643 + /**
  2644 + * [!] Method is generated. Documentation taken from corresponding module.
  2645 + *
  2646 + * @param string $name
  2647 + * @see \Codeception\Module\WebDriver::saveSessionSnapshot()
  2648 + */
  2649 + public function saveSessionSnapshot($name) {
  2650 + return $this->getScenario()->runStep(new \Codeception\Step\Action('saveSessionSnapshot', func_get_args()));
  2651 + }
  2652 +
  2653 +
  2654 + /**
  2655 + * [!] Method is generated. Documentation taken from corresponding module.
  2656 + *
  2657 + * @param string $name
  2658 + * @return bool
  2659 + * @see \Codeception\Module\WebDriver::loadSessionSnapshot()
  2660 + */
  2661 + public function loadSessionSnapshot($name) {
  2662 + return $this->getScenario()->runStep(new \Codeception\Step\Action('loadSessionSnapshot', func_get_args()));
  2663 + }
  2664 +
  2665 +
  2666 + /**
  2667 + * [!] Method is generated. Documentation taken from corresponding module.
  2668 + *
  2669 + * Move to the middle of the given element matched by the given locator.
  2670 + * Extra shift, calculated from the top-left corner of the element, can be set by passing $offsetX and $offsetY parameters.
  2671 + *
  2672 + * ``` php
  2673 + * <?php
  2674 + * $I->scrollTo(['css' => '.checkout'], 20, 50);
  2675 + * ?>
  2676 + * ```
  2677 + *
  2678 + * @param $selector
  2679 + * @param int $offsetX
  2680 + * @param int $offsetY
  2681 + * @see \Codeception\Module\WebDriver::scrollTo()
  2682 + */
  2683 + public function scrollTo($selector, $offsetX = null, $offsetY = null) {
  2684 + return $this->getScenario()->runStep(new \Codeception\Step\Action('scrollTo', func_get_args()));
  2685 + }
  2686 +}
... ...
tests/_support/_generated/FunctionalTesterActions.php 0 → 100644
  1 +<?php //[STAMP] 72d7b03ef9d64e3a484fd8745044f950
  2 +namespace _generated;
  3 +
  4 +// This class was automatically generated by build task
  5 +// You should not change it manually as it will be overwritten on next build
  6 +// @codingStandardsIgnoreFile
  7 +
  8 +use Helper\Functional;
  9 +
  10 +trait FunctionalTesterActions
  11 +{
  12 + /**
  13 + * @return \Codeception\Scenario
  14 + */
  15 + abstract protected function getScenario();
  16 +
  17 +
  18 +}
... ...
tests/_support/_generated/UnitTesterActions.php 0 → 100644
  1 +<?php //[STAMP] afe236e24211133b48645948576bce9f
  2 +namespace _generated;
  3 +
  4 +// This class was automatically generated by build task
  5 +// You should not change it manually as it will be overwritten on next build
  6 +// @codingStandardsIgnoreFile
  7 +
  8 +use Codeception\Module\Asserts;
  9 +use Helper\Unit;
  10 +
  11 +trait UnitTesterActions
  12 +{
  13 + /**
  14 + * @return \Codeception\Scenario
  15 + */
  16 + abstract protected function getScenario();
  17 +
  18 +
  19 + /**
  20 + * [!] Method is generated. Documentation taken from corresponding module.
  21 + *
  22 + * Checks that two variables are equal.
  23 + *
  24 + * @param $expected
  25 + * @param $actual
  26 + * @param string $message
  27 + * @see \Codeception\Module\Asserts::assertEquals()
  28 + */
  29 + public function assertEquals($expected, $actual, $message = null) {
  30 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEquals', func_get_args()));
  31 + }
  32 +
  33 +
  34 + /**
  35 + * [!] Method is generated. Documentation taken from corresponding module.
  36 + *
  37 + * Checks that two variables are not equal
  38 + *
  39 + * @param $expected
  40 + * @param $actual
  41 + * @param string $message
  42 + * @see \Codeception\Module\Asserts::assertNotEquals()
  43 + */
  44 + public function assertNotEquals($expected, $actual, $message = null) {
  45 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEquals', func_get_args()));
  46 + }
  47 +
  48 +
  49 + /**
  50 + * [!] Method is generated. Documentation taken from corresponding module.
  51 + *
  52 + * Checks that two variables are same
  53 + *
  54 + * @param $expected
  55 + * @param $actual
  56 + * @param string $message
  57 + * @see \Codeception\Module\Asserts::assertSame()
  58 + */
  59 + public function assertSame($expected, $actual, $message = null) {
  60 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertSame', func_get_args()));
  61 + }
  62 +
  63 +
  64 + /**
  65 + * [!] Method is generated. Documentation taken from corresponding module.
  66 + *
  67 + * Checks that two variables are not same
  68 + *
  69 + * @param $expected
  70 + * @param $actual
  71 + * @param string $message
  72 + * @see \Codeception\Module\Asserts::assertNotSame()
  73 + */
  74 + public function assertNotSame($expected, $actual, $message = null) {
  75 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotSame', func_get_args()));
  76 + }
  77 +
  78 +
  79 + /**
  80 + * [!] Method is generated. Documentation taken from corresponding module.
  81 + *
  82 + * Checks that actual is greater than expected
  83 + *
  84 + * @param $expected
  85 + * @param $actual
  86 + * @param string $message
  87 + * @see \Codeception\Module\Asserts::assertGreaterThan()
  88 + */
  89 + public function assertGreaterThan($expected, $actual, $message = null) {
  90 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThan', func_get_args()));
  91 + }
  92 +
  93 +
  94 + /**
  95 + * [!] Method is generated. Documentation taken from corresponding module.
  96 + *
  97 + * @deprecated
  98 + * @see \Codeception\Module\Asserts::assertGreaterThen()
  99 + */
  100 + public function assertGreaterThen($expected, $actual, $message = null) {
  101 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThen', func_get_args()));
  102 + }
  103 +
  104 +
  105 + /**
  106 + * [!] Method is generated. Documentation taken from corresponding module.
  107 + *
  108 + * Checks that actual is greater or equal than expected
  109 + *
  110 + * @param $expected
  111 + * @param $actual
  112 + * @param string $message
  113 + * @see \Codeception\Module\Asserts::assertGreaterThanOrEqual()
  114 + */
  115 + public function assertGreaterThanOrEqual($expected, $actual, $message = null) {
  116 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThanOrEqual', func_get_args()));
  117 + }
  118 +
  119 +
  120 + /**
  121 + * [!] Method is generated. Documentation taken from corresponding module.
  122 + *
  123 + * @deprecated
  124 + * @see \Codeception\Module\Asserts::assertGreaterThenOrEqual()
  125 + */
  126 + public function assertGreaterThenOrEqual($expected, $actual, $message = null) {
  127 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThenOrEqual', func_get_args()));
  128 + }
  129 +
  130 +
  131 + /**
  132 + * [!] Method is generated. Documentation taken from corresponding module.
  133 + *
  134 + * Checks that actual is less than expected
  135 + *
  136 + * @param $expected
  137 + * @param $actual
  138 + * @param string $message
  139 + * @see \Codeception\Module\Asserts::assertLessThan()
  140 + */
  141 + public function assertLessThan($expected, $actual, $message = null) {
  142 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThan', func_get_args()));
  143 + }
  144 +
  145 +
  146 + /**
  147 + * [!] Method is generated. Documentation taken from corresponding module.
  148 + *
  149 + * Checks that actual is less or equal than expected
  150 + *
  151 + * @param $expected
  152 + * @param $actual
  153 + * @param string $message
  154 + * @see \Codeception\Module\Asserts::assertLessThanOrEqual()
  155 + */
  156 + public function assertLessThanOrEqual($expected, $actual, $message = null) {
  157 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThanOrEqual', func_get_args()));
  158 + }
  159 +
  160 +
  161 + /**
  162 + * [!] Method is generated. Documentation taken from corresponding module.
  163 + *
  164 + * Checks that haystack contains needle
  165 + *
  166 + * @param $needle
  167 + * @param $haystack
  168 + * @param string $message
  169 + * @see \Codeception\Module\Asserts::assertContains()
  170 + */
  171 + public function assertContains($needle, $haystack, $message = null) {
  172 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContains', func_get_args()));
  173 + }
  174 +
  175 +
  176 + /**
  177 + * [!] Method is generated. Documentation taken from corresponding module.
  178 + *
  179 + * Checks that haystack doesn't contain needle.
  180 + *
  181 + * @param $needle
  182 + * @param $haystack
  183 + * @param string $message
  184 + * @see \Codeception\Module\Asserts::assertNotContains()
  185 + */
  186 + public function assertNotContains($needle, $haystack, $message = null) {
  187 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContains', func_get_args()));
  188 + }
  189 +
  190 +
  191 + /**
  192 + * [!] Method is generated. Documentation taken from corresponding module.
  193 + *
  194 + * Checks that string match with pattern
  195 + *
  196 + * @param string $pattern
  197 + * @param string $string
  198 + * @param string $message
  199 + * @see \Codeception\Module\Asserts::assertRegExp()
  200 + */
  201 + public function assertRegExp($pattern, $string, $message = null) {
  202 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertRegExp', func_get_args()));
  203 + }
  204 +
  205 +
  206 + /**
  207 + * [!] Method is generated. Documentation taken from corresponding module.
  208 + *
  209 + * Checks that string not match with pattern
  210 + *
  211 + * @param string $pattern
  212 + * @param string $string
  213 + * @param string $message
  214 + * @see \Codeception\Module\Asserts::assertNotRegExp()
  215 + */
  216 + public function assertNotRegExp($pattern, $string, $message = null) {
  217 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotRegExp', func_get_args()));
  218 + }
  219 +
  220 +
  221 + /**
  222 + * [!] Method is generated. Documentation taken from corresponding module.
  223 + *
  224 + * Checks that variable is empty.
  225 + *
  226 + * @param $actual
  227 + * @param string $message
  228 + * @see \Codeception\Module\Asserts::assertEmpty()
  229 + */
  230 + public function assertEmpty($actual, $message = null) {
  231 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEmpty', func_get_args()));
  232 + }
  233 +
  234 +
  235 + /**
  236 + * [!] Method is generated. Documentation taken from corresponding module.
  237 + *
  238 + * Checks that variable is not empty.
  239 + *
  240 + * @param $actual
  241 + * @param string $message
  242 + * @see \Codeception\Module\Asserts::assertNotEmpty()
  243 + */
  244 + public function assertNotEmpty($actual, $message = null) {
  245 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEmpty', func_get_args()));
  246 + }
  247 +
  248 +
  249 + /**
  250 + * [!] Method is generated. Documentation taken from corresponding module.
  251 + *
  252 + * Checks that variable is NULL
  253 + *
  254 + * @param $actual
  255 + * @param string $message
  256 + * @see \Codeception\Module\Asserts::assertNull()
  257 + */
  258 + public function assertNull($actual, $message = null) {
  259 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNull', func_get_args()));
  260 + }
  261 +
  262 +
  263 + /**
  264 + * [!] Method is generated. Documentation taken from corresponding module.
  265 + *
  266 + * Checks that variable is not NULL
  267 + *
  268 + * @param $actual
  269 + * @param string $message
  270 + * @see \Codeception\Module\Asserts::assertNotNull()
  271 + */
  272 + public function assertNotNull($actual, $message = null) {
  273 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotNull', func_get_args()));
  274 + }
  275 +
  276 +
  277 + /**
  278 + * [!] Method is generated. Documentation taken from corresponding module.
  279 + *
  280 + * Checks that condition is positive.
  281 + *
  282 + * @param $condition
  283 + * @param string $message
  284 + * @see \Codeception\Module\Asserts::assertTrue()
  285 + */
  286 + public function assertTrue($condition, $message = null) {
  287 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertTrue', func_get_args()));
  288 + }
  289 +
  290 +
  291 + /**
  292 + * [!] Method is generated. Documentation taken from corresponding module.
  293 + *
  294 + * Checks that condition is negative.
  295 + *
  296 + * @param $condition
  297 + * @param string $message
  298 + * @see \Codeception\Module\Asserts::assertFalse()
  299 + */
  300 + public function assertFalse($condition, $message = null) {
  301 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFalse', func_get_args()));
  302 + }
  303 +
  304 +
  305 + /**
  306 + * [!] Method is generated. Documentation taken from corresponding module.
  307 + *
  308 + * Checks if file exists
  309 + *
  310 + * @param string $filename
  311 + * @param string $message
  312 + * @see \Codeception\Module\Asserts::assertFileExists()
  313 + */
  314 + public function assertFileExists($filename, $message = null) {
  315 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileExists', func_get_args()));
  316 + }
  317 +
  318 +
  319 + /**
  320 + * [!] Method is generated. Documentation taken from corresponding module.
  321 + *
  322 + * Checks if file doesn't exist
  323 + *
  324 + * @param string $filename
  325 + * @param string $message
  326 + * @see \Codeception\Module\Asserts::assertFileNotExists()
  327 + */
  328 + public function assertFileNotExists($filename, $message = null) {
  329 + return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotExists', func_get_args()));
  330 + }
  331 +
  332 +
  333 + /**
  334 + * [!] Method is generated. Documentation taken from corresponding module.
  335 + *
  336 + * Fails the test with message.
  337 + *
  338 + * @param $message
  339 + * @see \Codeception\Module\Asserts::fail()
  340 + */
  341 + public function fail($message) {
  342 + return $this->getScenario()->runStep(new \Codeception\Step\Action('fail', func_get_args()));
  343 + }
  344 +}
... ...
tests/acceptance.suite.yml 0 → 100644
  1 +# Codeception Test Suite Configuration
  2 +#
  3 +# Suite for acceptance tests.
  4 +# Perform tests in browser using the WebDriver or PhpBrowser.
  5 +# If you need both WebDriver and PHPBrowser tests - create a separate suite.
  6 +
  7 +class_name: AcceptanceTester
  8 +modules:
  9 + enabled:
  10 + - WebDriver:
  11 + url: http://home-1.local/
  12 + browser: firefox
  13 + - \Helper\Acceptance
0 14 \ No newline at end of file
... ...
tests/acceptance/FirstTestCept.php 0 → 100644
  1 +<?php
  2 +$I = new AcceptanceTester($scenario);
  3 +$I->wantTo('perform actions and see result');
  4 +$I->amOnPage('/');
  5 +$I->canSee('Проектантам');
  6 +$I->click('Вход');
  7 +$I->waitForElement('#modal_form_login', 15);
  8 +$I->canSee('Авторизация');
  9 +$I->fillField('#loginform-username','admin');
  10 +$I->fillField('#loginform-password','112233');
  11 +$I->click('.login-button');
  12 +$I->wait(1);
  13 +$I->canSee('admin@admin.com');
  14 +$I->wait(1);
  15 +$I->amOnPage('/accounts/portfolio');
  16 +$I->wait(1);
  17 +$I->click('Добавить');
  18 +$I->wait(1);
  19 +$I->attachFile('input[type="file"]', 'ViewIllustrator_2001.jpg');
  20 +$I->fillField('#portfolio-name','');
  21 +$I->click('Добавить');
  22 +$I->see('Необходимо заполнить «Название».','div');
... ...
tests/acceptance/_bootstrap.php 0 → 100644
  1 +<?php
  2 +// Here you can initialize variables that will be available to your tests
... ...
tests/functional.suite.yml 0 → 100644
  1 +# Codeception Test Suite Configuration
  2 +#
  3 +# Suite for functional (integration) tests
  4 +# Emulate web requests and make application process them
  5 +# Include one of framework modules (Symfony2, Yii2, Laravel5) to use it
  6 +
  7 +class_name: FunctionalTester
  8 +modules:
  9 + enabled:
  10 + # add framework module here
  11 + - \Helper\Functional
0 12 \ No newline at end of file
... ...
tests/functional/_bootstrap.php 0 → 100644
  1 +<?php
  2 +// Here you can initialize variables that will be available to your tests
... ...
tests/unit.suite.yml 0 → 100644
  1 +# Codeception Test Suite Configuration
  2 +#
  3 +# Suite for unit (internal) tests.
  4 +
  5 +class_name: UnitTester
  6 +modules:
  7 + enabled:
  8 + - Asserts
  9 + - \Helper\Unit
0 10 \ No newline at end of file
... ...
tests/unit/_bootstrap.php 0 → 100644
  1 +<?php
  2 +// Here you can initialize variables that will be available to your tests
... ...