Skip to content

Instantly share code, notes, and snippets.

@alnutile
Last active August 29, 2015 14:16
Show Gist options
  • Save alnutile/5bb304e4fb9d4dd819c1 to your computer and use it in GitHub Desktop.
Save alnutile/5bb304e4fb9d4dd819c1 to your computer and use it in GitHub Desktop.
Version of Behat in Composer
"require": {
"laravel/framework": "4.2.*",
"rhumsaa/uuid": "2.7.*@dev",
"alnutile/behat-wrapper": "dev-master",
"alnutile/saucelabs_client": "dev-master",
"alfred-nutile-inc/core-app": "dev-master",
"knplabs/github-api": "1.2.1",
"behat/mink": "*",
"behat/mink-goutte-driver": "*",
"fzaninotto/faker": "1.4.0",
"behat/mink-selenium2-driver": "v1.2.0",
"behat/mink-extension": "*",
"guzzlehttp/guzzle": "4.*",
"pda/pheanstalk": "2.1.*",
"pusher/pusher-php-server": "~2.0",
"laracasts/utilities": "~1.0",
"vlucas/phpdotenv": "1.0.*@dev",
"alnutile/business-selector-extension": "master",
"alfred-nutile-inc/saml-core": "master",
"alfred-nutile-inc/digitalpfizer-client": "master",
"indatus/dispatcher": "1.4.*@dev",
"iron-io/iron_mq": "dev-master",
"doctrine/dbal": "~2.5@dev",
"bugsnag/bugsnag-laravel": "1.*",
"alfred-nutile-inc/fixturizer": "dev-master",
"symfony/yaml": "< 2.7",
"drupal/drupal-extension": "*",
"lucadegasperi/oauth2-server-laravel": "3.*",
"michelf/php-markdown": "1.4.x-dev",
"alfred-nutile-inc/drupal-remote-api": "*",
"league/flysystem-aws-s3-v2": "~1.0",
"graham-campbell/flysystem": "~1.0"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/alfred-nutile-inc/core-app.git"
},
{
"type": "vcs",
"url": "https://github.com/KnpLabs/php-github-api"
},
{
"type": "vcs",
"url": "https://github.com/alfred-nutile-inc/digitalpfizer-client.git"
},
{
"type": "vcs",
"url": "https://github.com/alfred-nutile-inc/saml-core.git"
},
{
"type": "vcs",
"url": "https://github.com/alfred-nutile-inc/drupal-remote-api.git"
}
],
"require-dev": {
"phpunit/phpunit": "~4.0",
"guilhermeguitte/behat-laravel": "dev-master",
"mockery/mockery": "0.9.*@dev",
"way/generators": "2.6.1",
"php-vcr/php-vcr": "1.1.5",
"php-vcr/phpunit-testlistener-vcr": "1.1.2",
"itsgoingd/clockwork": "dev-master",
"way/laravel-test-helpers": "dev-master",
"zerkalica/phpcs": "dev-master",
"phpmd/phpmd": "dev-master",
"laracasts/testdummy": "~2.0"
},
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "7639d6531b86f7acca7e2fb238a3865f",
"packages": [
{
"name": "alfred-nutile-inc/core-app",
"version": "dev-master",
"source": {
"type": "git",
"url": "[email protected]:alfred-nutile-inc/core-app.git",
"reference": "30c246a2c3abad87c53d5be9ab71608400e9885f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alfred-nutile-inc/core-app/zipball/30c246a2c3abad87c53d5be9ab71608400e9885f",
"reference": "30c246a2c3abad87c53d5be9ab71608400e9885f",
"shasum": ""
},
"require": {
"graham-campbell/flysystem": "*",
"illuminate/support": "*",
"league/flysystem-aws-s3-v2": "~1.0",
"php": ">=5.4.0"
},
"type": "library",
"autoload": {
"classmap": [
"src/migrations",
"src/seeds"
],
"psr-0": {
"AlfredNutileInc\\CoreApp\\": "src/"
}
},
"authors": [
{
"name": "Alfred Nutile Inc",
"email": "[email protected]"
}
],
"support": {
"source": "https://github.com/alfred-nutile-inc/core-app/tree/master",
"issues": "https://github.com/alfred-nutile-inc/core-app/issues"
},
"time": "2015-02-13 16:10:32"
},
{
"name": "alfred-nutile-inc/digitalpfizer-client",
"version": "dev-master",
"source": {
"type": "git",
"url": "[email protected]:alfred-nutile-inc/digitalpfizer-client.git",
"reference": "181cd590be2186c73cbbcaf9778bce09eb1a2930"
},
"dist": {
"type": "zip",
"url": "https://github.com/alfred-nutile-inc/digitalpfizer-client/archive/0.0.1.zip",
"reference": null,
"shasum": null
},
"require": {
"ext-curl": "*",
"guzzle/guzzle": "~3.7",
"league/fractal": "0.9.*",
"php": ">=5.4.0",
"symfony/event-dispatcher": ">=2.3",
"symfony/process": ">=2.3",
"vlucas/phpdotenv": "1.0.6"
},
"require-dev": {
"mockery/mockery": "dev-master",
"php-vcr/php-vcr": "dev-master",
"php-vcr/phpunit-testlistener-vcr": "dev-master",
"phpunit/phpunit": "~3.0",
"silex/silex": "~1.1",
"symfony/security": "~2.3"
},
"type": "library",
"autoload": {
"psr-0": {
"DMP\\": "lib/"
}
},
"license": [
"MIT"
],
"authors": [
{
"name": "Alfred Nutile",
"email": "[email protected]"
}
],
"description": "DPM Client Library",
"homepage": "https://github.com/a/digitalpfizer-client",
"support": {
"source": "https://github.com/alfred-nutile-inc/digitalpfizer-client/tree/master"
},
"time": "2014-11-24 19:25:57"
},
{
"name": "alfred-nutile-inc/drupal-remote-api",
"version": "dev-master",
"source": {
"type": "git",
"url": "[email protected]:alfred-nutile-inc/drupal-remote-api.git",
"reference": "03f33527c168fa81a87002ec8434bbb167aa3c52"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alfred-nutile-inc/drupal-remote-api/zipball/03f33527c168fa81a87002ec8434bbb167aa3c52",
"reference": "03f33527c168fa81a87002ec8434bbb167aa3c52",
"shasum": ""
},
"require": {
"behat/mink": "1.6.*@dev",
"behat/mink-browserkit-driver": "1.2.*@dev",
"behat/mink-extension": "1.3.*@dev",
"behat/mink-goutte-driver": "1.1.*@dev",
"behat/mink-selenium2-driver": "1.2.*@dev",
"drupal/drupal-extension": "*",
"ext-curl": "*",
"fabpot/goutte": "~1.0",
"guzzle/guzzle": "~3.7",
"monolog/monolog": "1.12.*@dev",
"php": ">=5.4.0",
"symfony/event-dispatcher": ">=2.3",
"symfony/process": ">=2.3",
"vlucas/phpdotenv": "1.0.6"
},
"require-dev": {
"mockery/mockery": "dev-master",
"php-vcr/php-vcr": "1.1.7",
"php-vcr/phpunit-testlistener-vcr": "dev-master",
"phpunit/phpunit": "~3.0"
},
"type": "library",
"autoload": {
"psr-0": {
"AlfredNutileInc\\DrupalRemoteAPI\\": "lib/"
},
"files": [
"lib/AlfredNutileInc/DrupalRemoteAPI/Start.php"
]
},
"license": [
"MIT"
],
"authors": [
{
"name": "Alfred Nutile",
"email": "[email protected]"
}
],
"description": "Client for Drupal and Behat",
"support": {
"source": "https://github.com/alfred-nutile-inc/drupal-remote-api/tree/master",
"issues": "https://github.com/alfred-nutile-inc/drupal-remote-api/issues"
},
"time": "2015-02-19 13:52:32"
},
{
"name": "alfred-nutile-inc/fixturizer",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/alfred-nutile-inc/fixturizer.git",
"reference": "bab0ab19ca3a3b323fc1d56935ee287b4e59a623"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alfred-nutile-inc/fixturizer/zipball/bab0ab19ca3a3b323fc1d56935ee287b4e59a623",
"reference": "bab0ab19ca3a3b323fc1d56935ee287b4e59a623",
"shasum": ""
},
"require": {
"illuminate/support": "4.2.*",
"php": ">=5.4.0",
"symfony/filesystem": "*",
"symfony/yaml": "< 2.7"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"type": "library",
"autoload": {
"psr-0": {
"AlfredNutileInc\\Fixturizer": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"authors": [
{
"name": "Alfred Nutile, Inc",
"email": "[email protected]"
}
],
"time": "2015-01-02 15:35:31"
},
{
"name": "alfred-nutile-inc/saml-core",
"version": "dev-master",
"source": {
"type": "git",
"url": "[email protected]:alfred-nutile-inc/saml-core.git",
"reference": "a5e2d2fba9b1f328a8ca73495935c91d48b0e590"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alfred-nutile-inc/saml-core/zipball/a5e2d2fba9b1f328a8ca73495935c91d48b0e590",
"reference": "a5e2d2fba9b1f328a8ca73495935c91d48b0e590",
"shasum": ""
},
"require": {
"guzzlehttp/guzzle": "~4.0",
"php": ">=5.4.0",
"simplesamlphp/saml2": "master",
"symfony/http-foundation": ">=2.5",
"vlucas/phpdotenv": "1.0.*@dev"
},
"require-dev": {
"mockery/mockery": "dev-master",
"php-vcr/php-vcr": "dev-master",
"php-vcr/phpunit-testlistener-vcr": "dev-master",
"phpunit/phpunit": "~3.0"
},
"type": "library",
"autoload": {
"psr-4": {
"AlfredNutileInc\\SamlCore\\": "src/SamlCore"
}
},
"authors": [
{
"name": "Alfred Nutile Inc",
"email": "[email protected]"
}
],
"description": "core features to pull into frameworks",
"support": {
"source": "https://github.com/alfred-nutile-inc/saml-core/tree/master",
"issues": "https://github.com/alfred-nutile-inc/saml-core/issues"
},
"time": "2014-11-18 21:30:32"
},
{
"name": "alnutile/behat-wrapper",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/alnutile/behat-wrapper.git",
"reference": "24c156af5c13363da9dffd73b12cb7f847da25c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alnutile/behat-wrapper/zipball/24c156af5c13363da9dffd73b12cb7f847da25c7",
"reference": "24c156af5c13363da9dffd73b12cb7f847da25c7",
"shasum": ""
},
"require": {
"behat/behat": "<3.0",
"php": ">=5.4.0",
"symfony/event-dispatcher": ">=2.3",
"symfony/process": ">=2.3"
},
"require-dev": {
"phpunit/phpunit": "~3.0"
},
"type": "library",
"autoload": {
"psr-0": {
"BehatWrapper": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alfred Nutile",
"email": "[email protected]"
}
],
"description": "A PHP wrapper around the Behat CLI thanks to cpliakas/git-wrapper",
"homepage": "https://github.com/alnutile/behat-wrapper",
"keywords": [
"Behat"
],
"time": "2014-12-08 17:40:57"
},
{
"name": "alnutile/business-selector-extension",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/alnutile/business-selector-extension.git",
"reference": "d539bc778b3183b8c897e35d0987ec180e8decc5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alnutile/business-selector-extension/zipball/d539bc778b3183b8c897e35d0987ec180e8decc5",
"reference": "d539bc778b3183b8c897e35d0987ec180e8decc5",
"shasum": ""
},
"require": {
"behat/behat": ">=2.4@stable",
"behat/mink-extension": "*",
"php": ">=5.3.0",
"symfony/config": "2.7.x-dev",
"symfony/dependency-injection": "2.7.x-dev"
},
"require-dev": {
"behat/mink-goutte-driver": "1.0.8",
"behat/mink-selenium-driver": "1.0.5",
"behat/mink-selenium2-driver": "1.0.6",
"mockery/mockery": "0.9.*@dev"
},
"type": "library",
"autoload": {
"psr-0": {
"OrangeDigital\\BusinessSelectorExtension": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ben Waine",
"homepage": "http://ben-waine.co.uk",
"role": "Developer"
},
{
"name": "Phill Hicks",
"role": "Developer"
}
],
"description": "CSS Selector Substitution For Behat",
"homepage": "http://github.com/orangedigital/business-selector-extension",
"keywords": [
"BDD",
"Behat",
"gherkin"
],
"time": "2015-01-22 11:22:50"
},
{
"name": "alnutile/saucelabs_client",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/alnutile/saucelabs_client.git",
"reference": "0d097843450ebeda3e9734f12d7f8ebab664749f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alnutile/saucelabs_client/zipball/0d097843450ebeda3e9734f12d7f8ebab664749f",
"reference": "0d097843450ebeda3e9734f12d7f8ebab664749f",
"shasum": ""
},
"require": {
"ext-curl": "*",
"guzzle/guzzle": "~3.7",
"php": ">=5.4.0",
"symfony/event-dispatcher": ">=2.3",
"symfony/process": ">=2.3",
"vlucas/phpdotenv": "1.0.6"
},
"require-dev": {
"mockery/mockery": "dev-master",
"php-vcr/php-vcr": "dev-master",
"php-vcr/phpunit-testlistener-vcr": "dev-master",
"phpunit/phpunit": "~3.0"
},
"type": "library",
"autoload": {
"psr-0": {
"SauceLabs\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alfred Nutile",
"email": "[email protected]"
}
],
"description": "Complete copy of php-github-api-master since it is such a good client for GithubAPI",
"homepage": "https://github.com/alnutile/saucelabs_client",
"time": "2014-07-11 15:48:16"
},
{
"name": "aws/aws-sdk-php",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "3067949cd0332f8f60763c5968859cef1361bf01"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3067949cd0332f8f60763c5968859cef1361bf01",
"reference": "3067949cd0332f8f60763c5968859cef1361bf01",
"shasum": ""
},
"require": {
"guzzle/guzzle": "~3.7",
"php": ">=5.3.3"
},
"require-dev": {
"doctrine/cache": "~1.0",
"ext-openssl": "*",
"monolog/monolog": "~1.4",
"phpunit/phpunit": "~4.0",
"symfony/yaml": "~2.1"
},
"suggest": {
"doctrine/cache": "Adds support for caching of credentials and responses",
"ext-apc": "Allows service description opcode caching, request and response caching, and credentials caching",
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
"monolog/monolog": "Adds support for logging HTTP requests and responses",
"symfony/yaml": "Eases the ability to write manifests for creating jobs in AWS Import/Export"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"autoload": {
"psr-0": {
"Aws": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Amazon Web Services",
"homepage": "http://aws.amazon.com"
}
],
"description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
"homepage": "http://aws.amazon.com/sdkforphp",
"keywords": [
"amazon",
"aws",
"cloud",
"dynamodb",
"ec2",
"glacier",
"s3",
"sdk"
],
"time": "2015-01-29 01:45:37"
},
{
"name": "behat/behat",
"version": "2.5.x-dev",
"source": {
"type": "git",
"url": "https://github.com/Behat/Behat.git",
"reference": "51d9a2fb1c802a681c2717e48b4b8d184595bd18"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/Behat/zipball/51d9a2fb1c802a681c2717e48b4b8d184595bd18",
"reference": "51d9a2fb1c802a681c2717e48b4b8d184595bd18",
"shasum": ""
},
"require": {
"behat/gherkin": "~2.3.0",
"php": ">=5.3.1",
"symfony/config": "~2.0",
"symfony/console": "~2.0",
"symfony/dependency-injection": "~2.0",
"symfony/event-dispatcher": "~2.0",
"symfony/finder": "~2.0",
"symfony/translation": "~2.0",
"symfony/yaml": "~2.0"
},
"require-dev": {
"phpunit/phpunit": "~3.7.19"
},
"suggest": {
"behat/mink-extension": "for integration with Mink testing framework",
"behat/symfony2-extension": "for integration with Symfony2 web framework",
"behat/yii-extension": "for integration with Yii web framework"
},
"bin": [
"bin/behat"
],
"type": "library",
"autoload": {
"psr-0": {
"Behat\\Behat": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
}
],
"description": "Scenario-oriented BDD framework for PHP 5.3",
"homepage": "http://behat.org/",
"keywords": [
"BDD",
"Behat",
"Symfony2"
],
"time": "2015-01-23 22:15:44"
},
{
"name": "behat/gherkin",
"version": "2.3.x-dev",
"source": {
"type": "git",
"url": "https://github.com/Behat/Gherkin.git",
"reference": "c32e15d92e1a2ce399a1a1c5be7afd965176e86c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/Gherkin/zipball/c32e15d92e1a2ce399a1a1c5be7afd965176e86c",
"reference": "c32e15d92e1a2ce399a1a1c5be7afd965176e86c",
"shasum": ""
},
"require": {
"php": ">=5.3.1",
"symfony/finder": "~2.0"
},
"require-dev": {
"symfony/config": "~2.0",
"symfony/translation": "~2.0",
"symfony/yaml": "~2.0"
},
"suggest": {
"symfony/config": "If you want to use Config component to manage resources",
"symfony/translation": "If you want to use Symfony2 translations adapter",
"symfony/yaml": "If you want to parse features, represented in YAML files"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-develop": "2.2-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Gherkin": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
}
],
"description": "Gherkin DSL parser for PHP 5.3",
"homepage": "http://behat.org/",
"keywords": [
"BDD",
"Behat",
"DSL",
"Symfony2",
"parser"
],
"time": "2014-06-06 00:48:18"
},
{
"name": "behat/mink",
"version": "v1.6.1",
"source": {
"type": "git",
"url": "https://github.com/minkphp/Mink.git",
"reference": "8b68523a339ec991bcd638b39dc8f04f808da88a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a",
"reference": "8b68523a339ec991bcd638b39dc8f04f808da88a",
"shasum": ""
},
"require": {
"php": ">=5.3.1",
"symfony/css-selector": "~2.0"
},
"suggest": {
"behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
"behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
"behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
"behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6.x-dev"
}
},
"autoload": {
"psr-4": {
"Behat\\Mink\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
}
],
"description": "Browser controller/emulator abstraction for PHP",
"homepage": "http://mink.behat.org/",
"keywords": [
"browser",
"testing",
"web"
],
"time": "2015-02-04 17:02:06"
},
{
"name": "behat/mink-browserkit-driver",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
"reference": "384c50d8e695633bc5ae21e61e86b51700bdf4d3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/384c50d8e695633bc5ae21e61e86b51700bdf4d3",
"reference": "384c50d8e695633bc5ae21e61e86b51700bdf4d3",
"shasum": ""
},
"require": {
"behat/mink": "~1.6@dev",
"php": ">=5.3.1",
"symfony/browser-kit": "~2.0",
"symfony/dom-crawler": "~2.0"
},
"require-dev": {
"silex/silex": "~1.2"
},
"type": "mink-driver",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev"
}
},
"autoload": {
"psr-4": {
"Behat\\Mink\\Driver\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
}
],
"description": "Symfony2 BrowserKit driver for Mink framework",
"homepage": "http://mink.behat.org/",
"keywords": [
"Mink",
"Symfony2",
"browser",
"testing"
],
"time": "2015-01-25 22:23:08"
},
{
"name": "behat/mink-extension",
"version": "v1.3.3",
"source": {
"type": "git",
"url": "https://github.com/Behat/MinkExtension.git",
"reference": "b885b9407cba50a954f72c69ed1b2f8d3bc694f8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/MinkExtension/zipball/b885b9407cba50a954f72c69ed1b2f8d3bc694f8",
"reference": "b885b9407cba50a954f72c69ed1b2f8d3bc694f8",
"shasum": ""
},
"require": {
"behat/behat": "~2.5.0",
"behat/mink": "~1.5",
"php": ">=5.3.2",
"symfony/config": "~2.2"
},
"require-dev": {
"behat/mink-goutte-driver": "~1.0",
"fabpot/goutte": "~1.0"
},
"type": "behat-extension",
"autoload": {
"psr-0": {
"Behat\\MinkExtension": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
}
],
"description": "Mink extension for Behat",
"homepage": "http://mink.behat.org",
"keywords": [
"browser",
"gui",
"test",
"web"
],
"time": "2014-05-15 19:27:39"
},
{
"name": "behat/mink-goutte-driver",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/minkphp/MinkGoutteDriver.git",
"reference": "63a593c25a449292787c7418f08b6181c27271f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/63a593c25a449292787c7418f08b6181c27271f6",
"reference": "63a593c25a449292787c7418f08b6181c27271f6",
"shasum": ""
},
"require": {
"behat/mink": "~1.6@dev",
"behat/mink-browserkit-driver": "~1.2@dev",
"fabpot/goutte": "~1.0.4|~2.0",
"php": ">=5.3.1"
},
"type": "mink-driver",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Behat\\Mink\\Driver\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
}
],
"description": "Goutte driver for Mink framework",
"homepage": "http://mink.behat.org/",
"keywords": [
"browser",
"goutte",
"headless",
"testing"
],
"time": "2015-01-25 22:24:40"
},
{
"name": "behat/mink-selenium2-driver",
"version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/minkphp/MinkSelenium2Driver.git",
"reference": "8018fee80bf6573f909ece3e0dfc07d0eb352210"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/8018fee80bf6573f909ece3e0dfc07d0eb352210",
"reference": "8018fee80bf6573f909ece3e0dfc07d0eb352210",
"shasum": ""
},
"require": {
"behat/mink": "~1.6@dev",
"instaclick/php-webdriver": "~1.1",
"php": ">=5.3.1"
},
"type": "mink-driver",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Mink\\Driver": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
},
{
"name": "Pete Otaqui",
"email": "[email protected]",
"homepage": "https://github.com/pete-otaqui"
}
],
"description": "Selenium2 (WebDriver) driver for Mink framework",
"homepage": "http://mink.behat.org/",
"keywords": [
"ajax",
"browser",
"javascript",
"selenium",
"testing",
"webdriver"
],
"time": "2014-09-29 13:12:12"
},
{
"name": "bugsnag/bugsnag",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/bugsnag/bugsnag-php.git",
"reference": "332a94be2212e6dcf5d2ba09d9eaf1ccb75eddf7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bugsnag/bugsnag-php/zipball/332a94be2212e6dcf5d2ba09d9eaf1ccb75eddf7",
"reference": "332a94be2212e6dcf5d2ba09d9eaf1ccb75eddf7",
"shasum": ""
},
"require": {
"php": ">=5.2.0"
},
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
"type": "library",
"autoload": {
"psr-0": {
"Bugsnag_": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "James Smith",
"email": "[email protected]",
"homepage": "https://bugsnag.com"
}
],
"description": "Official Bugsnag notifier for PHP applications.",
"homepage": "https://github.com/bugsnag/bugsnag-php",
"keywords": [
"bugsnag",
"errors",
"exceptions",
"logging",
"tracking"
],
"time": "2014-12-19 23:57:40"
},
{
"name": "bugsnag/bugsnag-laravel",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/bugsnag/bugsnag-laravel.git",
"reference": "2e25e72976954c8b8b941fa16c8ecbb818ba87ce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bugsnag/bugsnag-laravel/zipball/2e25e72976954c8b8b941fa16c8ecbb818ba87ce",
"reference": "2e25e72976954c8b8b941fa16c8ecbb818ba87ce",
"shasum": ""
},
"require": {
"bugsnag/bugsnag": ">=2.5.0",
"illuminate/support": "4.*|5.*",
"php": ">=5.3.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Bugsnag\\BugsnagLaravel\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "James Smith",
"email": "[email protected]"
}
],
"description": "Official Bugsnag notifier for Laravel applications.",
"homepage": "https://github.com/bugsnag/bugsnag-laravel",
"keywords": [
"bugsnag",
"errors",
"exceptions",
"laravel",
"logging",
"tracking"
],
"time": "2015-02-04 23:38:04"
},
{
"name": "classpreloader/classpreloader",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/mtdowling/ClassPreloader.git",
"reference": "2c9f3bcbab329570c57339895bd11b5dd3b00877"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mtdowling/ClassPreloader/zipball/2c9f3bcbab329570c57339895bd11b5dd3b00877",
"reference": "2c9f3bcbab329570c57339895bd11b5dd3b00877",
"shasum": ""
},
"require": {
"nikic/php-parser": "~0.9",
"php": ">=5.3.3",
"symfony/console": "~2.1",
"symfony/filesystem": "~2.1",
"symfony/finder": "~2.1"
},
"bin": [
"classpreloader.php"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-0": {
"ClassPreloader": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case",
"keywords": [
"autoload",
"class",
"preload"
],
"time": "2014-03-12 00:05:31"
},
{
"name": "d11wtq/boris",
"version": "v1.0.8",
"source": {
"type": "git",
"url": "https://github.com/d11wtq/boris.git",
"reference": "125dd4e5752639af7678a22ea597115646d89c6e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/d11wtq/boris/zipball/125dd4e5752639af7678a22ea597115646d89c6e",
"reference": "125dd4e5752639af7678a22ea597115646d89c6e",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"suggest": {
"ext-pcntl": "*",
"ext-posix": "*",
"ext-readline": "*"
},
"bin": [
"bin/boris"
],
"type": "library",
"autoload": {
"psr-0": {
"Boris": "lib"
}
},
"notification-url": "https://packagist.org/downloads/",
"time": "2014-01-17 12:21:18"
},
{
"name": "doctrine/annotations",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
"reference": "b5202eb9e83f8db52e0e58867e0a46e63be8332e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/b5202eb9e83f8db52e0e58867e0a46e63be8332e",
"reference": "b5202eb9e83f8db52e0e58867e0a46e63be8332e",
"shasum": ""
},
"require": {
"doctrine/lexer": "1.*",
"php": ">=5.3.2"
},
"require-dev": {
"doctrine/cache": "1.*",
"phpunit/phpunit": "4.*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\Common\\Annotations\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "[email protected]"
},
{
"name": "Benjamin Eberlei",
"email": "[email protected]"
},
{
"name": "Guilherme Blanco",
"email": "[email protected]"
},
{
"name": "Jonathan Wage",
"email": "[email protected]"
},
{
"name": "Johannes Schmitt",
"email": "[email protected]"
}
],
"description": "Docblock Annotations Parser",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"annotations",
"docblock",
"parser"
],
"time": "2014-12-23 22:40:37"
},
{
"name": "doctrine/cache",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
"reference": "dbeacc7bf5bcec39f7e02aa751adac2cb1ff256a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/dbeacc7bf5bcec39f7e02aa751adac2cb1ff256a",
"reference": "dbeacc7bf5bcec39f7e02aa751adac2cb1ff256a",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"conflict": {
"doctrine/common": ">2.2,<2.4"
},
"require-dev": {
"phpunit/phpunit": ">=3.7",
"predis/predis": "~1.0",
"satooshi/php-coveralls": "~0.6"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.5.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\Common\\Cache\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "[email protected]"
},
{
"name": "Benjamin Eberlei",
"email": "[email protected]"
},
{
"name": "Guilherme Blanco",
"email": "[email protected]"
},
{
"name": "Jonathan Wage",
"email": "[email protected]"
},
{
"name": "Johannes Schmitt",
"email": "[email protected]"
}
],
"description": "Caching library offering an object-oriented API for many cache backends",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"cache",
"caching"
],
"time": "2015-01-17 21:05:51"
},
{
"name": "doctrine/collections",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
"reference": "c63f2e637c6ac759d83002906c30e6c96d91e5f3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/collections/zipball/c63f2e637c6ac759d83002906c30e6c96d91e5f3",
"reference": "c63f2e637c6ac759d83002906c30e6c96d91e5f3",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\Common\\Collections\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "[email protected]"
},
{
"name": "Benjamin Eberlei",
"email": "[email protected]"
},
{
"name": "Guilherme Blanco",
"email": "[email protected]"
},
{
"name": "Jonathan Wage",
"email": "[email protected]"
},
{
"name": "Johannes Schmitt",
"email": "[email protected]"
}
],
"description": "Collections Abstraction library",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"array",
"collections",
"iterator"
],
"time": "2015-01-21 05:12:54"
},
{
"name": "doctrine/common",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/common.git",
"reference": "56360cc13bfd13893731c6c4d1d82005a61d7694"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/common/zipball/56360cc13bfd13893731c6c4d1d82005a61d7694",
"reference": "56360cc13bfd13893731c6c4d1d82005a61d7694",
"shasum": ""
},
"require": {
"doctrine/annotations": "1.*",
"doctrine/cache": "1.*",
"doctrine/collections": "1.*",
"doctrine/inflector": "1.*",
"doctrine/lexer": "1.*",
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "~3.7"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\Common\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "[email protected]"
},
{
"name": "Benjamin Eberlei",
"email": "[email protected]"
},
{
"name": "Guilherme Blanco",
"email": "[email protected]"
},
{
"name": "Jonathan Wage",
"email": "[email protected]"
},
{
"name": "Johannes Schmitt",
"email": "[email protected]"
}
],
"description": "Common Library for Doctrine projects",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"annotations",
"collections",
"eventmanager",
"persistence",
"spl"
],
"time": "2015-01-23 18:43:22"
},
{
"name": "doctrine/dbal",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "8b848eac42488473a167a7d2175d8d6b0bc8173f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/8b848eac42488473a167a7d2175d8d6b0bc8173f",
"reference": "8b848eac42488473a167a7d2175d8d6b0bc8173f",
"shasum": ""
},
"require": {
"doctrine/common": ">=2.4,<2.6-dev",
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "4.*",
"symfony/console": "2.*"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
"bin": [
"bin/doctrine-dbal",
"bin/doctrine-dbal.php"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.6.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\DBAL\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "[email protected]"
},
{
"name": "Benjamin Eberlei",
"email": "[email protected]"
},
{
"name": "Guilherme Blanco",
"email": "[email protected]"
},
{
"name": "Jonathan Wage",
"email": "[email protected]"
}
],
"description": "Database Abstraction Layer",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"database",
"dbal",
"persistence",
"queryobject"
],
"time": "2015-01-28 22:18:39"
},
{
"name": "doctrine/inflector",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
"reference": "e5eaf8c7ded0877195b5d2848491e17b1c0a6c4d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/e5eaf8c7ded0877195b5d2848491e17b1c0a6c4d",
"reference": "e5eaf8c7ded0877195b5d2848491e17b1c0a6c4d",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "4.*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\Common\\Inflector\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "[email protected]"
},
{
"name": "Benjamin Eberlei",
"email": "[email protected]"
},
{
"name": "Guilherme Blanco",
"email": "[email protected]"
},
{
"name": "Jonathan Wage",
"email": "[email protected]"
},
{
"name": "Johannes Schmitt",
"email": "[email protected]"
}
],
"description": "Common String Manipulations with regard to casing and singular/plural rules.",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"inflection",
"pluralize",
"singularize",
"string"
],
"time": "2015-01-01 18:34:57"
},
{
"name": "doctrine/lexer",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/lexer.git",
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\Common\\Lexer\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "[email protected]"
},
{
"name": "Guilherme Blanco",
"email": "[email protected]"
},
{
"name": "Johannes Schmitt",
"email": "[email protected]"
}
],
"description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"lexer",
"parser"
],
"time": "2014-09-09 13:34:57"
},
{
"name": "drupal/drupal-extension",
"version": "1.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/jhedstrom/drupalextension.git",
"reference": "ce0f00073777df8e3fa8a7a3fdb0eacd053457ee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/jhedstrom/drupalextension/zipball/ce0f00073777df8e3fa8a7a3fdb0eacd053457ee",
"reference": "ce0f00073777df8e3fa8a7a3fdb0eacd053457ee",
"shasum": ""
},
"require": {
"behat/behat": "~2.5",
"behat/mink": "~1.5",
"behat/mink-extension": "~1.2",
"behat/mink-goutte-driver": "~1.0",
"behat/mink-selenium2-driver": "~1.0",
"fabpot/goutte": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
"type": "behat-extension",
"autoload": {
"psr-0": {
"Drupal\\Component": "src/",
"Drupal\\Driver": "src/",
"Drupal\\Drupal": "src/",
"Drupal\\Exception": "src/",
"Drupal\\DrupalExtension": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0+"
],
"authors": [
{
"name": "Jonathan Hedstrom",
"email": "[email protected]"
}
],
"description": "Drupal extension for Behat",
"homepage": "http://drupal.org/project/drupalextension",
"keywords": [
"drupal",
"test",
"web"
],
"time": "2015-01-28 00:31:31"
},
{
"name": "fabpot/goutte",
"version": "1.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/FriendsOfPHP/Goutte.git",
"reference": "794b196e76bdd37b5155cdecbad311f0a3b07625"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/794b196e76bdd37b5155cdecbad311f0a3b07625",
"reference": "794b196e76bdd37b5155cdecbad311f0a3b07625",
"shasum": ""
},
"require": {
"ext-curl": "*",
"guzzle/http": "~3.1",
"php": ">=5.3.0",
"symfony/browser-kit": "~2.1",
"symfony/css-selector": "~2.1",
"symfony/dom-crawler": "~2.1",
"symfony/finder": "~2.1",
"symfony/process": "~2.1"
},
"require-dev": {
"guzzle/plugin-history": "~3.1",
"guzzle/plugin-mock": "~3.1"
},
"type": "application",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-0": {
"Goutte": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "A simple PHP Web Scraper",
"homepage": "https://github.com/fabpot/Goutte",
"keywords": [
"scraper"
],
"time": "2014-10-09 15:52:51"
},
{
"name": "filp/whoops",
"version": "1.1.3",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
"reference": "a85fab9a98f1f9b8ebcdbe71733f0d910e5b9adf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/a85fab9a98f1f9b8ebcdbe71733f0d910e5b9adf",
"reference": "a85fab9a98f1f9b8ebcdbe71733f0d910e5b9adf",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"mockery/mockery": "0.9.*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
}
},
"autoload": {
"psr-0": {
"Whoops": "src/"
},
"classmap": [
"src/deprecated"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Filipe Dobreira",
"homepage": "https://github.com/filp",
"role": "Developer"
}
],
"description": "php error handling for cool kids",
"homepage": "https://github.com/filp/whoops",
"keywords": [
"error",
"exception",
"handling",
"library",
"silex-provider",
"whoops",
"zf2"
],
"time": "2014-10-26 09:05:09"
},
{
"name": "fzaninotto/faker",
"version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/fzaninotto/Faker.git",
"reference": "010c7efedd88bf31141a02719f51fb44c732d5a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/010c7efedd88bf31141a02719f51fb44c732d5a0",
"reference": "010c7efedd88bf31141a02719f51fb44c732d5a0",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~1.5"
},
"type": "library",
"extra": {
"branch-alias": []
},
"autoload": {
"psr-0": {
"Faker": "src/",
"Faker\\PHPUnit": "test/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "François Zaninotto"
}
],
"description": "Faker is a PHP library that generates fake data for you.",
"keywords": [
"data",
"faker",
"fixtures"
],
"time": "2014-06-04 14:43:02"
},
{
"name": "graham-campbell/flysystem",
"version": "1.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Laravel-Flysystem.git",
"reference": "a78cbaa0733c7d06d68c53230189394148b69f0e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GrahamCampbell/Laravel-Flysystem/zipball/a78cbaa0733c7d06d68c53230189394148b69f0e",
"reference": "a78cbaa0733c7d06d68c53230189394148b69f0e",
"shasum": ""
},
"require": {
"graham-campbell/manager": "~1.0",
"illuminate/cache": "~4.1",
"illuminate/support": "~4.1",
"league/flysystem": "~1.0",
"php": ">=5.4.7"
},
"require-dev": {
"graham-campbell/testbench": "~1.0",
"league/flysystem-aws-s3-v2": "~1.0",
"league/flysystem-azure": "~1.0",
"league/flysystem-cached-adapter": "~1.0",
"league/flysystem-copy": "~1.0",
"league/flysystem-dropbox": "~1.0",
"league/flysystem-eventable-filesystem": "~1.0",
"league/flysystem-gridfs": "~1.0",
"league/flysystem-rackspace": "~1.0",
"league/flysystem-sftp": "~1.0",
"league/flysystem-webdav": "~1.0",
"league/flysystem-ziparchive": "~1.0"
},
"suggest": {
"league/flysystem-aws-s3-v2": "AwsS3 adapter support.",
"league/flysystem-azure": "Azure adapter support.",
"league/flysystem-cached-adapter": "Adapter caching support.",
"league/flysystem-copy": "Copy adapter support.",
"league/flysystem-dropbox": "Dropbox adapter support.",
"league/flysystem-eventable-filesystem": "Eventable filesystem support.",
"league/flysystem-gridfs": "GridFS adapter support.",
"league/flysystem-rackspace": "Rackspace adapter support.",
"league/flysystem-replicate-adapter": "Replicate adapter support.",
"league/flysystem-sftp": "Sftp adapter support.",
"league/flysystem-webdav": "WebDav adapter support.",
"league/flysystem-ziparchive": "ZipArchive adapter support."
},
"type": "library",
"autoload": {
"psr-4": {
"GrahamCampbell\\Flysystem\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Graham Campbell",
"email": "[email protected]"
}
],
"description": "Flysystem Is A Flysystem Bridge For Laravel 4.1/4.2",
"keywords": [
"Flysystem",
"Graham Campbell",
"GrahamCampbell",
"Laravel Flysystem",
"Laravel-Flysystem",
"aws",
"dropbox",
"files",
"framework",
"laravel",
"s3"
],
"time": "2015-01-29 19:31:34"
},
{
"name": "graham-campbell/manager",
"version": "1.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Laravel-Manager.git",
"reference": "322ad55b7258e250fe18e48d820d571677b53e6f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GrahamCampbell/Laravel-Manager/zipball/322ad55b7258e250fe18e48d820d571677b53e6f",
"reference": "322ad55b7258e250fe18e48d820d571677b53e6f",
"shasum": ""
},
"require": {
"illuminate/config": "~4.1",
"illuminate/support": "~4.1",
"php": ">=5.4.7"
},
"require-dev": {
"graham-campbell/testbench": "~1.0"
},
"type": "library",
"autoload": {
"psr-4": {
"GrahamCampbell\\Manager\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Graham Campbell",
"email": "[email protected]"
}
],
"description": "Manager Provides Some Manager Functionality For Laravel 4.1/4.2",
"keywords": [
"Graham Campbell",
"GrahamCampbell",
"Laravel Manager",
"Laravel-Manager",
"connector",
"framework",
"interface",
"laravel",
"manager"
],
"time": "2015-01-11 17:18:42"
},
{
"name": "guzzle/guzzle",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle3.git",
"reference": "d898326a716f23fdd778942ea9404aeccbe16a46"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle3/zipball/d898326a716f23fdd778942ea9404aeccbe16a46",
"reference": "d898326a716f23fdd778942ea9404aeccbe16a46",
"shasum": ""
},
"require": {
"ext-curl": "*",
"php": ">=5.3.3",
"symfony/event-dispatcher": "~2.1"
},
"replace": {
"guzzle/batch": "self.version",
"guzzle/cache": "self.version",
"guzzle/common": "self.version",
"guzzle/http": "self.version",
"guzzle/inflection": "self.version",
"guzzle/iterator": "self.version",
"guzzle/log": "self.version",
"guzzle/parser": "self.version",
"guzzle/plugin": "self.version",
"guzzle/plugin-async": "self.version",
"guzzle/plugin-backoff": "self.version",
"guzzle/plugin-cache": "self.version",
"guzzle/plugin-cookie": "self.version",
"guzzle/plugin-curlauth": "self.version",
"guzzle/plugin-error-response": "self.version",
"guzzle/plugin-history": "self.version",
"guzzle/plugin-log": "self.version",
"guzzle/plugin-md5": "self.version",
"guzzle/plugin-mock": "self.version",
"guzzle/plugin-oauth": "self.version",
"guzzle/service": "self.version",
"guzzle/stream": "self.version"
},
"require-dev": {
"doctrine/cache": "~1.3",
"monolog/monolog": "~1.0",
"phpunit/phpunit": "3.7.*",
"psr/log": "~1.0",
"symfony/class-loader": "~2.1",
"zendframework/zend-cache": "2.*,<2.3",
"zendframework/zend-log": "2.*,<2.3"
},
"suggest": {
"guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.9-dev"
}
},
"autoload": {
"psr-0": {
"Guzzle": "src/",
"Guzzle\\Tests": "tests/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "[email protected]",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Guzzle Community",
"homepage": "https://github.com/guzzle/guzzle/contributors"
}
],
"description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
"curl",
"framework",
"http",
"http client",
"rest",
"web service"
],
"time": "2015-01-28 21:05:25"
},
{
"name": "guzzlehttp/guzzle",
"version": "4.2.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "66fd916e9f9130bc22c51450476823391cb2f67c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd916e9f9130bc22c51450476823391cb2f67c",
"reference": "66fd916e9f9130bc22c51450476823391cb2f67c",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/streams": "~2.1",
"php": ">=5.4.0"
},
"require-dev": {
"ext-curl": "*",
"phpunit/phpunit": "~4.0",
"psr/log": "~1.0"
},
"suggest": {
"ext-curl": "Guzzle will use specific adapters if cURL is present"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.2-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\": "src/"
},
"files": [
"src/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "[email protected]",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
"curl",
"framework",
"http",
"http client",
"rest",
"web service"
],
"time": "2014-10-05 19:29:14"
},
{
"name": "guzzlehttp/streams",
"version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/streams.git",
"reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/streams/zipball/f91b721d73f0e561410903b3b3c90a5d0e40b534",
"reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Stream\\": "src/"
},
"files": [
"src/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "[email protected]",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Provides a simple abstraction over streams of data (Guzzle 4+)",
"homepage": "http://guzzlephp.org/",
"keywords": [
"Guzzle",
"stream"
],
"time": "2014-08-17 21:15:53"
},
{
"name": "indatus/dispatcher",
"version": "1.4.x-dev",
"source": {
"type": "git",
"url": "https://github.com/Indatus/dispatcher.git",
"reference": "9862c8111fb29007ddec14f330f8a73a1d32f025"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Indatus/dispatcher/zipball/9862c8111fb29007ddec14f330f8a73a1d32f025",
"reference": "9862c8111fb29007ddec14f330f8a73a1d32f025",
"shasum": ""
},
"require": {
"mtdowling/cron-expression": "~1.0.3",
"php": ">=5.3.2",
"wp-cli/php-cli-tools": "v0.9.4-patch46"
},
"require-dev": {
"mockery/mockery": "~0.9",
"orchestra/testbench": "~2.1.1",
"phpunit/phpunit": "~4.0"
},
"type": "library",
"autoload": {
"classmap": [
"tests/TestCase.php"
],
"psr-0": {
"Indatus\\Dispatcher\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ben Kuhl",
"email": "[email protected]",
"role": "Developer"
}
],
"description": "Schedule your artisan commands within your application",
"keywords": [
"artisan",
"dispatcher",
"laravel",
"schedule"
],
"time": "2014-11-20 17:02:25"
},
{
"name": "instaclick/php-webdriver",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/instaclick/php-webdriver.git",
"reference": "9b364dd37e4ea0c9132a91456a114dab91c19517"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/9b364dd37e4ea0c9132a91456a114dab91c19517",
"reference": "9b364dd37e4ea0c9132a91456a114dab91c19517",
"shasum": ""
},
"require": {
"ext-curl": "*",
"php": ">=5.3.2"
},
"require-dev": {
"satooshi/php-coveralls": "dev-master"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4.x-dev"
}
},
"autoload": {
"psr-0": {
"WebDriver": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Justin Bishop",
"email": "[email protected]",
"role": "Developer"
},
{
"name": "Anthon Pang",
"email": "[email protected]",
"role": "Fork Maintainer"
}
],
"description": "PHP WebDriver for Selenium 2",
"homepage": "http://instaclick.com/",
"keywords": [
"browser",
"selenium",
"webdriver",
"webtest"
],
"time": "2015-01-25 04:09:38"
},
{
"name": "ircmaxell/password-compat",
"version": "1.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/ircmaxell/password_compat.git",
"reference": "9b99377557a33a4129c9194e60a97a685fab21e0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/9b99377557a33a4129c9194e60a97a685fab21e0",
"reference": "9b99377557a33a4129c9194e60a97a685fab21e0",
"shasum": ""
},
"require-dev": {
"phpunit/phpunit": "4.*"
},
"type": "library",
"autoload": {
"files": [
"lib/password.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthony Ferrara",
"email": "[email protected]",
"homepage": "http://blog.ircmaxell.com"
}
],
"description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
"homepage": "https://github.com/ircmaxell/password_compat",
"keywords": [
"hashing",
"password"
],
"time": "2014-11-20 19:18:42"
},
{
"name": "iron-io/iron_core",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/iron-io/iron_core_php.git",
"reference": "d5afdccb6aea2ce7c71cf9eedabc81dc3771af19"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/iron-io/iron_core_php/zipball/d5afdccb6aea2ce7c71cf9eedabc81dc3771af19",
"reference": "d5afdccb6aea2ce7c71cf9eedabc81dc3771af19",
"shasum": ""
},
"require": {
"php": ">=5.2.0"
},
"type": "library",
"autoload": {
"classmap": [
"IronCore.class.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alexander S",
"email": "[email protected]",
"homepage": "http://iron.io",
"role": "Developer"
},
{
"name": "Iron.io",
"email": "[email protected]",
"homepage": "http://iron.io",
"role": "Developer"
}
],
"description": "Collection of common functions for all iron.io client libraries",
"homepage": "http://github.com/iron-io/iron_core_php",
"keywords": [
"iron",
"iron_core"
],
"time": "2014-11-11 11:18:17"
},
{
"name": "iron-io/iron_mq",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/iron-io/iron_mq_php.git",
"reference": "d9e64a662d6ddcd4ba535c67467f0eee221804fb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/iron-io/iron_mq_php/zipball/d9e64a662d6ddcd4ba535c67467f0eee221804fb",
"reference": "d9e64a662d6ddcd4ba535c67467f0eee221804fb",
"shasum": ""
},
"require": {
"iron-io/iron_core": "*",
"php": ">=5.2.0"
},
"type": "library",
"autoload": {
"files": [
"IronMQ.class.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alexander S",
"email": "[email protected]",
"homepage": "http://iron.io",
"role": "Developer"
}
],
"description": "Client binding for IronMQ (hosted message queue)",
"homepage": "http://github.com/iron-io/iron_mq_php",
"keywords": [
"MQ",
"iron",
"iron_mq"
],
"time": "2014-10-16 18:40:13"
},
{
"name": "jeremeamia/SuperClosure",
"version": "1.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/jeremeamia/super_closure.git",
"reference": "4d89ca74994feab128ea46d5b3add92e6cb84554"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/4d89ca74994feab128ea46d5b3add92e6cb84554",
"reference": "4d89ca74994feab128ea46d5b3add92e6cb84554",
"shasum": ""
},
"require": {
"nikic/php-parser": "~0.9",
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~3.7"
},
"type": "library",
"autoload": {
"psr-0": {
"Jeremeamia\\SuperClosure": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jeremy Lindblom"
}
],
"description": "Doing interesting things with closures like serialization.",
"homepage": "https://github.com/jeremeamia/super_closure",
"keywords": [
"closure",
"function",
"parser",
"serializable",
"serialize",
"tokenizer"
],
"time": "2015-01-10 01:09:28"
},
{
"name": "knplabs/github-api",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/KnpLabs/php-github-api.git",
"reference": "1a1817b6f5fad2af4ff9a1bcc7f7bf29699fe15b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/1a1817b6f5fad2af4ff9a1bcc7f7bf29699fe15b",
"reference": "1a1817b6f5fad2af4ff9a1bcc7f7bf29699fe15b",
"shasum": ""
},
"require": {
"ext-curl": "*",
"guzzle/guzzle": ">=3.7",
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": ">=3.6.0"
},
"suggest": {
"knplabs/gaufrette": "Needed for optional Gaufrette cache"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
}
},
"autoload": {
"psr-0": {
"Github\\": "lib/"
}
},
"license": [
"MIT"
],
"authors": [
{
"name": "KnpLabs Team",
"homepage": "http://knplabs.com"
},
{
"name": "Thibault Duplessis",
"email": "[email protected]",
"homepage": "http://ornicar.github.com"
}
],
"description": "GitHub API v3 client",
"homepage": "https://github.com/KnpLabs/php-github-api",
"keywords": [
"api",
"gh",
"gist",
"github"
],
"support": {
"source": "https://github.com/KnpLabs/php-github-api/tree/1.2.1",
"issues": "https://github.com/KnpLabs/php-github-api/issues"
},
"time": "2014-01-05 04:09:12"
},
{
"name": "laracasts/utilities",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laracasts/PHP-Vars-To-Js-Transformer.git",
"reference": "cdcee80cdbe5673f61f59df30979546e4f7fadd6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laracasts/PHP-Vars-To-Js-Transformer/zipball/cdcee80cdbe5673f61f59df30979546e4f7fadd6",
"reference": "cdcee80cdbe5673f61f59df30979546e4f7fadd6",
"shasum": ""
},
"require": {
"illuminate/support": "~4.0",
"php": ">=5.4.0"
},
"require-dev": {
"phpspec/phpspec": "~2.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Laracasts\\Utilities": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jeffrey Way",
"email": "[email protected]"
}
],
"description": "Transform your PHP to JavaScript",
"keywords": [
"javascript",
"laravel"
],
"time": "2014-04-24 21:43:55"
},
{
"name": "laravel/framework",
"version": "4.2.x-dev",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "3359de6d6cd322e8a1b251c2f8d9dd42a3e4e232"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/3359de6d6cd322e8a1b251c2f8d9dd42a3e4e232",
"reference": "3359de6d6cd322e8a1b251c2f8d9dd42a3e4e232",
"shasum": ""
},
"require": {
"classpreloader/classpreloader": "~1.0.2",
"d11wtq/boris": "~1.0",
"filp/whoops": "1.1.*",
"ircmaxell/password-compat": "~1.0",
"jeremeamia/superclosure": "~1.0.1",
"monolog/monolog": "~1.6",
"nesbot/carbon": "~1.0",
"patchwork/utf8": "~1.1",
"php": ">=5.4.0",
"phpseclib/phpseclib": "0.3.*",
"predis/predis": "0.8.*",
"stack/builder": "~1.0",
"swiftmailer/swiftmailer": "~5.1",
"symfony/browser-kit": "2.5.*",
"symfony/console": "2.5.*",
"symfony/css-selector": "2.5.*",
"symfony/debug": "2.5.*",
"symfony/dom-crawler": "2.5.*",
"symfony/finder": "2.5.*",
"symfony/http-foundation": "2.5.*",
"symfony/http-kernel": "2.5.*",
"symfony/process": "2.5.*",
"symfony/routing": "2.5.*",
"symfony/security-core": "2.5.*",
"symfony/translation": "2.5.*"
},
"replace": {
"illuminate/auth": "self.version",
"illuminate/cache": "self.version",
"illuminate/config": "self.version",
"illuminate/console": "self.version",
"illuminate/container": "self.version",
"illuminate/cookie": "self.version",
"illuminate/database": "self.version",
"illuminate/encryption": "self.version",
"illuminate/events": "self.version",
"illuminate/exception": "self.version",
"illuminate/filesystem": "self.version",
"illuminate/foundation": "self.version",
"illuminate/hashing": "self.version",
"illuminate/html": "self.version",
"illuminate/http": "self.version",
"illuminate/log": "self.version",
"illuminate/mail": "self.version",
"illuminate/pagination": "self.version",
"illuminate/queue": "self.version",
"illuminate/redis": "self.version",
"illuminate/remote": "self.version",
"illuminate/routing": "self.version",
"illuminate/session": "self.version",
"illuminate/support": "self.version",
"illuminate/translation": "self.version",
"illuminate/validation": "self.version",
"illuminate/view": "self.version",
"illuminate/workbench": "self.version"
},
"require-dev": {
"aws/aws-sdk-php": "~2.6",
"iron-io/iron_mq": "~1.5",
"mockery/mockery": "~0.9",
"pda/pheanstalk": "~2.1",
"phpunit/phpunit": "~4.0"
},
"suggest": {
"doctrine/dbal": "Allow renaming columns and dropping SQLite columns."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.2-dev"
}
},
"autoload": {
"classmap": [
"src/Illuminate/Queue/IlluminateQueueClosure.php"
],
"files": [
"src/Illuminate/Support/helpers.php"
],
"psr-0": {
"Illuminate": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "[email protected]"
}
],
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"time": "2015-02-11 20:37:15"
},
{
"name": "league/event",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/event.git",
"reference": "9d9bd9e086b3acad09ab03f5317d27511039d71c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/event/zipball/9d9bd9e086b3acad09ab03f5317d27511039d71c",
"reference": "9d9bd9e086b3acad09ab03f5317d27511039d71c",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"require-dev": {
"henrikbjorn/phpspec-code-coverage": "1.0.*@dev",
"phpspec/phpspec": "2.0.*@dev"
},
"type": "library",
"autoload": {
"psr-4": {
"League\\Event\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Frank de Jonge",
"email": "[email protected]"
}
],
"description": "Event package",
"keywords": [
"emitter",
"event",
"listener"
],
"time": "2014-10-11 16:18:15"
},
{
"name": "league/flysystem",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "7c96b75441002fb6799a4e355f2190b9d905782d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/7c96b75441002fb6799a4e355f2190b9d905782d",
"reference": "7c96b75441002fb6799a4e355f2190b9d905782d",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"require-dev": {
"ext-fileinfo": "*",
"league/phpunit-coverage-listener": "~1.1",
"mockery/mockery": "~0.9",
"phpspec/phpspec": "~2.0.0",
"phpspec/prophecy-phpunit": "~1.0",
"phpunit/phpunit": "~4.0",
"predis/predis": "~1.0",
"tedivm/stash": "~0.12.0"
},
"suggest": {
"ext-fileinfo": "Required for MimeType",
"league/flysystem-aws-s3-v2": "Use S3 storage with AWS SDK v2",
"league/flysystem-aws-s3-v3": "Use S3 storage with AWS SDK v3",
"league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
"league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
"league/flysystem-copy": "Allows you to use Copy.com storage",
"league/flysystem-dropbox": "Use Dropbox storage",
"league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
"league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
"league/flysystem-sftp": "Allows SFTP server storage via phpseclib",
"league/flysystem-webdav": "Allows you to use WebDAV storage",
"league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
"predis/predis": "Allows you to use Predis for caching"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
},
"autoload": {
"psr-4": {
"League\\Flysystem\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Frank de Jonge",
"email": "[email protected]"
}
],
"description": "Many filesystems, one API.",
"keywords": [
"Cloud Files",
"WebDAV",
"aws",
"cloud",
"copy.com",
"dropbox",
"file systems",
"files",
"filesystem",
"ftp",
"rackspace",
"remote",
"s3",
"sftp",
"storage"
],
"time": "2015-02-01 15:53:05"
},
{
"name": "league/flysystem-aws-s3-v2",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-aws-s3-v2.git",
"reference": "3c987f0b9fc6e9c55f2d3341b82cf016d7098760"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v2/zipball/3c987f0b9fc6e9c55f2d3341b82cf016d7098760",
"reference": "3c987f0b9fc6e9c55f2d3341b82cf016d7098760",
"shasum": ""
},
"require": {
"aws/aws-sdk-php": "~2.7",
"league/flysystem": "~1.0",
"php": ">=5.4.0"
},
"require-dev": {
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-4": {
"League\\Flysystem\\AwsS3v2\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Frank de Jonge",
"email": "[email protected]"
}
],
"description": "Flysystem adapter for AWS S3 SDK v2",
"time": "2015-01-21 22:19:36"
},
{
"name": "league/fractal",
"version": "0.9.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/fractal.git",
"reference": "a91cdcfe399a6d330a9285885a9a2a1a7855a915"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/fractal/zipball/a91cdcfe399a6d330a9285885a9a2a1a7855a915",
"reference": "a91cdcfe399a6d330a9285885a9a2a1a7855a915",
"shasum": ""
},
"require": {
"php": ">=5.3"
},
"require-dev": {
"illuminate/pagination": "~4.1",
"mockery/mockery": "~0.9",
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~1.5"
},
"suggest": {
"illuminate/pagination": "The Illuminate Pagination component."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.9-dev"
}
},
"autoload": {
"psr-4": {
"League\\Fractal\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Phil Sturgeon",
"email": "[email protected]",
"homepage": "http://philsturgeon.co.uk/",
"role": "Developer"
}
],
"description": "Handle the output of complex data structures ready for JSON output.",
"homepage": "http://fractal.thephpleague.com/",
"keywords": [
"api",
"json",
"league",
"rest"
],
"time": "2014-07-06 16:48:26"
},
{
"name": "league/oauth2-server",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/oauth2-server.git",
"reference": "7398bee59e3abb55be33e17a11b2d3a9c1cf649c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/7398bee59e3abb55be33e17a11b2d3a9c1cf649c",
"reference": "7398bee59e3abb55be33e17a11b2d3a9c1cf649c",
"shasum": ""
},
"require": {
"league/event": "1.0.*",
"php": ">=5.4.0",
"symfony/http-foundation": "~2.5"
},
"replace": {
"league/oauth2server": "*",
"lncd/oauth2": "*"
},
"require-dev": {
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "4.3.*"
},
"type": "library",
"autoload": {
"psr-4": {
"League\\OAuth2\\Server\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alex Bilbie",
"email": "[email protected]",
"homepage": "http://www.alexbilbie.com",
"role": "Developer"
}
],
"description": "A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.",
"homepage": "http://oauth2.thephpleague.com/",
"keywords": [
"Authentication",
"api",
"auth",
"authorisation",
"authorization",
"oauth",
"oauth 2",
"oauth 2.0",
"oauth2",
"protect",
"resource",
"secure",
"server"
],
"time": "2014-12-15 17:34:38"
},
{
"name": "lucadegasperi/oauth2-server-laravel",
"version": "3.x-dev",
"source": {
"type": "git",
"url": "https://github.com/lucadegasperi/oauth2-server-laravel.git",
"reference": "5678b088fb9cfc710b3235a7406811cee684d972"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/lucadegasperi/oauth2-server-laravel/zipball/5678b088fb9cfc710b3235a7406811cee684d972",
"reference": "5678b088fb9cfc710b3235a7406811cee684d972",
"shasum": ""
},
"require": {
"illuminate/console": "4.2.*",
"illuminate/database": "4.2.*",
"illuminate/filesystem": "4.2.*",
"illuminate/http": "4.2.*",
"illuminate/support": "4.2.*",
"league/oauth2-server": "4.0.*",
"nesbot/carbon": "1.*",
"php": ">=5.4.0"
},
"require-dev": {
"behat/behat": "~2.5",
"henrikbjorn/phpspec-code-coverage": "~1.0",
"mockery/mockery": "~0.8",
"orchestra/testbench": "2.2.*",
"phpspec/phpspec": "~2.0",
"phpunit/phpunit": "~4.0"
},
"type": "library",
"autoload": {
"psr-4": {
"LucaDegasperi\\OAuth2Server\\": "src"
},
"classmap": [
"seeds",
"tests/TestCase.php",
"tests/integration/DBTestCase.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Luca Degasperi",
"email": "[email protected]"
}
],
"description": "A Laravel 4 wrapper for the popular OAuth 2.0 Server package league/oauth2-server",
"keywords": [
"api",
"laravel",
"oauth",
"oauth2",
"server"
],
"time": "2014-12-04 07:47:58"
},
{
"name": "michelf/php-markdown",
"version": "dev-lib",
"source": {
"type": "git",
"url": "https://github.com/michelf/php-markdown.git",
"reference": "1b5a30e13974b490964a1610bab5958e83cd4b69"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/1b5a30e13974b490964a1610bab5958e83cd4b69",
"reference": "1b5a30e13974b490964a1610bab5958e83cd4b69",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-lib": "1.4.x-dev"
}
},
"autoload": {
"psr-0": {
"Michelf": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Michel Fortin",
"email": "[email protected]",
"homepage": "http://michelf.ca/",
"role": "Developer"
},
{
"name": "John Gruber",
"homepage": "http://daringfireball.net/"
}
],
"description": "PHP Markdown",
"homepage": "http://michelf.ca/projects/php-markdown/",
"keywords": [
"markdown"
],
"time": "2014-12-08 02:09:55"
},
{
"name": "monolog/monolog",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
"reference": "7583a2b96b9fda7ece90e34a23cd46e4858b3352"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/7583a2b96b9fda7ece90e34a23cd46e4858b3352",
"reference": "7583a2b96b9fda7ece90e34a23cd46e4858b3352",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"psr/log": "~1.0"
},
"provide": {
"psr/log-implementation": "1.0.0"
},
"require-dev": {
"aws/aws-sdk-php": "~2.4, >2.4.8",
"doctrine/couchdb": "~1.0@dev",
"graylog2/gelf-php": "~1.0",
"phpunit/phpunit": "~4.0",
"raven/raven": "~0.5",
"ruflin/elastica": "0.90.*",
"videlalvaro/php-amqplib": "~2.4"
},
"suggest": {
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
"ext-mongo": "Allow sending log messages to a MongoDB server",
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
"raven/raven": "Allow sending log messages to a Sentry server",
"rollbar/rollbar": "Allow sending log messages to Rollbar",
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
"videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12.x-dev"
}
},
"autoload": {
"psr-4": {
"Monolog\\": "src/Monolog"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jordi Boggiano",
"email": "[email protected]",
"homepage": "http://seld.be"
}
],
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
"homepage": "http://github.com/Seldaek/monolog",
"keywords": [
"log",
"logging",
"psr-3"
],
"time": "2015-01-29 16:05:08"
},
{
"name": "mtdowling/cron-expression",
"version": "v1.0.4",
"source": {
"type": "git",
"url": "https://github.com/mtdowling/cron-expression.git",
"reference": "fd92e883195e5dfa77720b1868cf084b08be4412"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/fd92e883195e5dfa77720b1868cf084b08be4412",
"reference": "fd92e883195e5dfa77720b1868cf084b08be4412",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "4.*"
},
"type": "library",
"autoload": {
"psr-0": {
"Cron": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "[email protected]",
"homepage": "https://github.com/mtdowling"
}
],
"description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
"keywords": [
"cron",
"schedule"
],
"time": "2015-01-11 23:07:46"
},
{
"name": "nesbot/carbon",
"version": "1.13.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "5cb6e71055f7b0b57956b73d324cc4de31278f42"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/5cb6e71055f7b0b57956b73d324cc4de31278f42",
"reference": "5cb6e71055f7b0b57956b73d324cc4de31278f42",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Carbon": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Brian Nesbitt",
"email": "[email protected]",
"homepage": "http://nesbot.com"
}
],
"description": "A simple API extension for DateTime.",
"homepage": "https://github.com/briannesbitt/Carbon",
"keywords": [
"date",
"datetime",
"time"
],
"time": "2014-09-26 02:52:02"
},
{
"name": "nikic/php-parser",
"version": "0.9.x-dev",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "ef70767475434bdb3615b43c327e2cae17ef12eb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ef70767475434bdb3615b43c327e2cae17ef12eb",
"reference": "ef70767475434bdb3615b43c327e2cae17ef12eb",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=5.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.9-dev"
}
},
"autoload": {
"psr-0": {
"PHPParser": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
"keywords": [
"parser",
"php"
],
"time": "2014-07-23 18:24:17"
},
{
"name": "patchwork/utf8",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/tchwork/utf8.git",
"reference": "01f0ed1628db7794e2d4e336f55a09daef4248a5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tchwork/utf8/zipball/01f0ed1628db7794e2d4e336f55a09daef4248a5",
"reference": "01f0ed1628db7794e2d4e336f55a09daef4248a5",
"shasum": ""
},
"require": {
"lib-pcre": ">=7.3",
"php": ">=5.3.0"
},
"suggest": {
"ext-iconv": "Use iconv for best performance",
"ext-intl": "Use Intl for best performance",
"ext-mbstring": "Use Mbstring for best performance",
"ext-wfio": "Use WFIO for UTF-8 filesystem access on Windows"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
}
},
"autoload": {
"psr-0": {
"Patchwork": "class/",
"Normalizer": "class/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"(Apache-2.0 or GPL-2.0)"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "[email protected]"
}
],
"description": "Portable and performant UTF-8, Unicode and Grapheme Clusters for PHP",
"homepage": "https://github.com/tchwork/utf8",
"keywords": [
"grapheme",
"i18n",
"unicode",
"utf-8",
"utf8"
],
"time": "2015-01-29 08:36:50"
},
{
"name": "pda/pheanstalk",
"version": "2.1.x-dev",
"source": {
"type": "git",
"url": "https://github.com/pda/pheanstalk.git",
"reference": "672eb5cc9049d61e4eb68d30f0f33de65a947e6b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pda/pheanstalk/zipball/672eb5cc9049d61e4eb68d30f0f33de65a947e6b",
"reference": "672eb5cc9049d61e4eb68d30f0f33de65a947e6b",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Pheanstalk": "classes/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Paul Annesley",
"email": "[email protected]",
"homepage": "http://paul.annesley.cc/",
"role": "Developer"
}
],
"description": "PHP client for beanstalkd queue",
"homepage": "https://github.com/pda/pheanstalk",
"keywords": [
"beanstalkd"
],
"time": "2014-12-02 22:44:56"
},
{
"name": "phpseclib/phpseclib",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
"reference": "d15bba1edcc7c89e09cc74c5d961317a8b947bf4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d15bba1edcc7c89e09cc74c5d961317a8b947bf4",
"reference": "d15bba1edcc7c89e09cc74c5d961317a8b947bf4",
"shasum": ""
},
"require": {
"php": ">=5.0.0"
},
"require-dev": {
"phing/phing": "~2.7",
"phpunit/phpunit": "~4.0",
"sami/sami": "~2.0",
"squizlabs/php_codesniffer": "~1.5"
},
"suggest": {
"ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.",
"pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 4.3.3."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.3-dev"
}
},
"autoload": {
"psr-0": {
"Crypt": "phpseclib/",
"File": "phpseclib/",
"Math": "phpseclib/",
"Net": "phpseclib/",
"System": "phpseclib/"
},
"files": [
"phpseclib/Crypt/Random.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
"phpseclib/"
],
"license": [
"MIT"
],
"authors": [
{
"name": "Jim Wigginton",
"email": "[email protected]",
"role": "Lead Developer"
},
{
"name": "Patrick Monnerat",
"email": "[email protected]",
"role": "Developer"
},
{
"name": "Andreas Fischer",
"email": "[email protected]",
"role": "Developer"
},
{
"name": "Hans-Jürgen Petrich",
"email": "[email protected]",
"role": "Developer"
}
],
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
"homepage": "http://phpseclib.sourceforge.net",
"keywords": [
"BigInteger",
"aes",
"asn.1",
"asn1",
"blowfish",
"crypto",
"cryptography",
"encryption",
"rsa",
"security",
"sftp",
"signature",
"signing",
"ssh",
"twofish",
"x.509",
"x509"
],
"time": "2015-01-28 21:50:33"
},
{
"name": "predis/predis",
"version": "0.8.x-dev",
"source": {
"type": "git",
"url": "https://github.com/nrk/predis.git",
"reference": "4123fcd85d61354c6c9900db76c9597dbd129bf6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nrk/predis/zipball/4123fcd85d61354c6c9900db76c9597dbd129bf6",
"reference": "4123fcd85d61354c6c9900db76c9597dbd129bf6",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"suggest": {
"ext-curl": "Allows access to Webdis when paired with phpiredis",
"ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol"
},
"type": "library",
"autoload": {
"psr-0": {
"Predis": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Daniele Alessandri",
"email": "[email protected]",
"homepage": "http://clorophilla.net"
}
],
"description": "Flexible and feature-complete PHP client library for Redis",
"homepage": "http://github.com/nrk/predis",
"keywords": [
"nosql",
"predis",
"redis"
],
"time": "2014-08-01 09:43:10"
},
{
"name": "psr/log",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "a78d6504ff5d4367497785ab2ade91db3a9fbe11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/a78d6504ff5d4367497785ab2ade91db3a9fbe11",
"reference": "a78d6504ff5d4367497785ab2ade91db3a9fbe11",
"shasum": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Psr\\Log\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"keywords": [
"log",
"psr",
"psr-3"
],
"time": "2014-01-18 15:33:09"
},
{
"name": "pusher/pusher-php-server",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/pusher/pusher-php-server.git",
"reference": "64ac86e757ed3349bc172b4069b972d99ba47400"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pusher/pusher-php-server/zipball/64ac86e757ed3349bc172b4069b972d99ba47400",
"reference": "64ac86e757ed3349bc172b4069b972d99ba47400",
"shasum": ""
},
"require": {
"ext-curl": "*",
"php": ">=5.2"
},
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
"type": "library",
"autoload": {
"classmap": [
"lib/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Library for interacting with the Pusher REST API",
"homepage": "https://github.com/pusher/pusher-php-server",
"keywords": [
"events",
"php-pusher-server",
"publish",
"pusher",
"realtime",
"rest",
"trigger"
],
"time": "2015-01-26 10:56:45"
},
{
"name": "rhumsaa/uuid",
"version": "2.7.4",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
"reference": "eb1d371067aa8c2b83d6691837ee4896a6f76a44"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/eb1d371067aa8c2b83d6691837ee4896a6f76a44",
"reference": "eb1d371067aa8c2b83d6691837ee4896a6f76a44",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"doctrine/dbal": ">=2.3",
"moontoast/math": "~1.1",
"phpunit/phpunit": "~4.1",
"satooshi/php-coveralls": "~0.6",
"symfony/console": "~2.3"
},
"suggest": {
"doctrine/dbal": "Allow the use of a UUID as doctrine field type.",
"moontoast/math": "Support for converting UUID to 128-bit integer (in string form).",
"symfony/console": "Support for use of the bin/uuid command line tool."
},
"bin": [
"bin/uuid"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7.x-dev"
}
},
"autoload": {
"psr-4": {
"Rhumsaa\\Uuid\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marijn Huizendveld",
"email": "[email protected]"
},
{
"name": "Ben Ramsey",
"homepage": "http://benramsey.com"
}
],
"description": "A PHP 5.3+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).",
"homepage": "https://github.com/ramsey/uuid",
"keywords": [
"guid",
"identifier",
"uuid"
],
"time": "2014-10-30 03:36:49"
},
{
"name": "simplesamlphp/saml2",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/simplesamlphp/saml2.git",
"reference": "ec3aca80b8452bd347335ba39c088f346d0a3e10"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/ec3aca80b8452bd347335ba39c088f346d0a3e10",
"reference": "ec3aca80b8452bd347335ba39c088f346d0a3e10",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mcrypt": "*",
"ext-openssl": "*",
"php": ">=5.3.3",
"psr/log": "~1.0",
"simplesamlphp/xmlseclibs": "~1.3.1"
},
"require-dev": {
"mockery/mockery": "~0.9",
"phpmd/phpmd": "~1.5",
"phpunit/phpunit": "~3.7",
"satooshi/php-coveralls": "~0.6.1",
"sebastian/phpcpd": "~1.4",
"sensiolabs/security-checker": "~1.1",
"squizlabs/php_codesniffer": "~1.4"
},
"type": "library",
"autoload": {
"psr-0": {
"SAML2_": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1"
],
"authors": [
{
"name": "Andreas Åkre Solberg",
"email": "[email protected]"
}
],
"description": "SAML2 PHP library from SimpleSAMLphp",
"time": "2015-01-13 13:38:34"
},
{
"name": "simplesamlphp/xmlseclibs",
"version": "v1.3.2",
"source": {
"type": "git",
"url": "https://github.com/simplesamlphp/xmlseclibs.git",
"reference": "734e80899ade295b979de08553161cad63c2dd98"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/simplesamlphp/xmlseclibs/zipball/734e80899ade295b979de08553161cad63c2dd98",
"reference": "734e80899ade295b979de08553161cad63c2dd98",
"shasum": ""
},
"replace": {
"cdatazone/xmlseclibs": "self.version",
"fr3d/xmlseclibs": "self.version",
"robrichards/xmlseclibs": "self.version"
},
"suggest": {
"ext/mcrypt": "",
"ext/openssl": ""
},
"type": "library",
"autoload": {
"files": [
"xmlseclibs.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Rob Richards"
}
],
"description": "A PHP library for XML Security",
"homepage": "http://code.google.com/p/xmlseclibs/",
"keywords": [
"certificate",
"security",
"signature",
"signing",
"x.509",
"xml",
"xmlsec"
],
"time": "2013-06-19 00:00:00"
},
{
"name": "stack/builder",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/stackphp/builder.git",
"reference": "14afc80a5bd9dc160470e3131b697f7d0c070729"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/stackphp/builder/zipball/14afc80a5bd9dc160470e3131b697f7d0c070729",
"reference": "14afc80a5bd9dc160470e3131b697f7d0c070729",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"symfony/http-foundation": "~2.1",
"symfony/http-kernel": "~2.1"
},
"require-dev": {
"silex/silex": "~1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-0": {
"Stack": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Igor Wiedler",
"email": "[email protected]"
}
],
"description": "Builder for stack middlewares based on HttpKernelInterface.",
"keywords": [
"stack"
],
"time": "2014-12-09 14:20:11"
},
{
"name": "swiftmailer/swiftmailer",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
"reference": "db95cfa68a8bc91d1c54f75c416f481c9a8bd100"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/db95cfa68a8bc91d1c54f75c416f481c9a8bd100",
"reference": "db95cfa68a8bc91d1c54f75c416f481c9a8bd100",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"mockery/mockery": "~0.9.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.3-dev"
}
},
"autoload": {
"files": [
"lib/swift_required.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Chris Corbyn"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Swiftmailer, free feature-rich PHP mailer",
"homepage": "http://swiftmailer.org",
"keywords": [
"mail",
"mailer"
],
"time": "2015-01-18 13:49:36"
},
{
"name": "symfony/browser-kit",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/BrowserKit",
"source": {
"type": "git",
"url": "https://github.com/symfony/BrowserKit.git",
"reference": "b2b78b850a32251cbbd9915ab61453302e7ecd72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/b2b78b850a32251cbbd9915ab61453302e7ecd72",
"reference": "b2b78b850a32251cbbd9915ab61453302e7ecd72",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/dom-crawler": "~2.0,>=2.0.5"
},
"require-dev": {
"symfony/css-selector": "~2.0,>=2.0.5",
"symfony/process": "~2.0,>=2.0.5"
},
"suggest": {
"symfony/process": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\BrowserKit\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony BrowserKit Component",
"homepage": "http://symfony.com",
"time": "2015-01-03 08:01:13"
},
{
"name": "symfony/config",
"version": "2.7.x-dev",
"target-dir": "Symfony/Component/Config",
"source": {
"type": "git",
"url": "https://github.com/symfony/Config.git",
"reference": "1624dd47e1f4dc89ae4e7ca4a0476325042f8e82"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Config/zipball/1624dd47e1f4dc89ae4e7ca4a0476325042f8e82",
"reference": "1624dd47e1f4dc89ae4e7ca4a0476325042f8e82",
"shasum": ""
},
"require": {
"php": ">=5.3.9",
"symfony/filesystem": "~2.3|~3.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Config\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Config Component",
"homepage": "http://symfony.com",
"time": "2015-01-25 04:39:35"
},
{
"name": "symfony/console",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/Console",
"source": {
"type": "git",
"url": "https://github.com/symfony/Console.git",
"reference": "f41807e67f00244f013bb96a66ac02f778a31209"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Console/zipball/f41807e67f00244f013bb96a66ac02f778a31209",
"reference": "f41807e67f00244f013bb96a66ac02f778a31209",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/event-dispatcher": "~2.1"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Console\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Console Component",
"homepage": "http://symfony.com",
"time": "2015-01-25 04:37:39"
},
{
"name": "symfony/css-selector",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/CssSelector",
"source": {
"type": "git",
"url": "https://github.com/symfony/CssSelector.git",
"reference": "d45b306421462295e76b94bcf76b963867450327"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/d45b306421462295e76b94bcf76b963867450327",
"reference": "d45b306421462295e76b94bcf76b963867450327",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\CssSelector\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Jean-François Simon",
"email": "[email protected]"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony CssSelector Component",
"homepage": "http://symfony.com",
"time": "2015-01-03 08:01:13"
},
{
"name": "symfony/debug",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/Debug",
"source": {
"type": "git",
"url": "https://github.com/symfony/Debug.git",
"reference": "ed3019589cdadf32c521d1e181f9d72955645c67"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Debug/zipball/ed3019589cdadf32c521d1e181f9d72955645c67",
"reference": "ed3019589cdadf32c521d1e181f9d72955645c67",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"conflict": {
"symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
},
"require-dev": {
"symfony/class-loader": "~2.2",
"symfony/http-foundation": "~2.1",
"symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2"
},
"suggest": {
"symfony/http-foundation": "",
"symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Debug\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Debug Component",
"homepage": "http://symfony.com",
"time": "2015-01-16 14:51:58"
},
{
"name": "symfony/dependency-injection",
"version": "2.7.x-dev",
"target-dir": "Symfony/Component/DependencyInjection",
"source": {
"type": "git",
"url": "https://github.com/symfony/DependencyInjection.git",
"reference": "acf2e8e27c53b8af7963ca00809ccde1d1e977f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/acf2e8e27c53b8af7963ca00809ccde1d1e977f4",
"reference": "acf2e8e27c53b8af7963ca00809ccde1d1e977f4",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"conflict": {
"symfony/expression-language": "<2.6"
},
"require-dev": {
"symfony/config": "~2.2|~3.0.0",
"symfony/expression-language": "~2.6|~3.0.0",
"symfony/yaml": "~2.1|~3.0.0"
},
"suggest": {
"symfony/config": "",
"symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
"symfony/yaml": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\DependencyInjection\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony DependencyInjection Component",
"homepage": "http://symfony.com",
"time": "2015-01-25 04:39:35"
},
{
"name": "symfony/dom-crawler",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/DomCrawler",
"source": {
"type": "git",
"url": "https://github.com/symfony/DomCrawler.git",
"reference": "3860edcf7ff7e173cfe2151f0d425e610e77cc35"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/3860edcf7ff7e173cfe2151f0d425e610e77cc35",
"reference": "3860edcf7ff7e173cfe2151f0d425e610e77cc35",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/css-selector": "~2.3"
},
"suggest": {
"symfony/css-selector": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\DomCrawler\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony DomCrawler Component",
"homepage": "http://symfony.com",
"time": "2015-01-03 08:01:13"
},
{
"name": "symfony/event-dispatcher",
"version": "2.7.x-dev",
"target-dir": "Symfony/Component/EventDispatcher",
"source": {
"type": "git",
"url": "https://github.com/symfony/EventDispatcher.git",
"reference": "7a26717d431dfb092198d7c55f06788b2de5aaf7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/7a26717d431dfb092198d7c55f06788b2de5aaf7",
"reference": "7a26717d431dfb092198d7c55f06788b2de5aaf7",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/config": "~2.0,>=2.0.5|~3.0.0",
"symfony/dependency-injection": "~2.6|~3.0.0",
"symfony/expression-language": "~2.6|~3.0.0",
"symfony/stopwatch": "~2.3|~3.0.0"
},
"suggest": {
"symfony/dependency-injection": "",
"symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\EventDispatcher\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony EventDispatcher Component",
"homepage": "http://symfony.com",
"time": "2015-01-16 15:11:56"
},
{
"name": "symfony/filesystem",
"version": "2.7.x-dev",
"target-dir": "Symfony/Component/Filesystem",
"source": {
"type": "git",
"url": "https://github.com/symfony/Filesystem.git",
"reference": "cb5db1cf2440ceb68760ef0e70f9d1d4ba135444"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/cb5db1cf2440ceb68760ef0e70f9d1d4ba135444",
"reference": "cb5db1cf2440ceb68760ef0e70f9d1d4ba135444",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Filesystem\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Filesystem Component",
"homepage": "http://symfony.com",
"time": "2015-02-16 09:13:25"
},
{
"name": "symfony/finder",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/Finder",
"source": {
"type": "git",
"url": "https://github.com/symfony/Finder.git",
"reference": "e527ebf47ff912a45e148b7d0b107b80ec0b3cc2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Finder/zipball/e527ebf47ff912a45e148b7d0b107b80ec0b3cc2",
"reference": "e527ebf47ff912a45e148b7d0b107b80ec0b3cc2",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Finder\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Finder Component",
"homepage": "http://symfony.com",
"time": "2015-01-03 08:01:13"
},
{
"name": "symfony/http-foundation",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/HttpFoundation",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpFoundation.git",
"reference": "0481c0a69c23d51eee6ba329a677a1d1af425b26"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/0481c0a69c23d51eee6ba329a677a1d1af425b26",
"reference": "0481c0a69c23d51eee6ba329a677a1d1af425b26",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/expression-language": "~2.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\HttpFoundation\\": ""
},
"classmap": [
"Symfony/Component/HttpFoundation/Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony HttpFoundation Component",
"homepage": "http://symfony.com",
"time": "2015-01-25 04:37:39"
},
{
"name": "symfony/http-kernel",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/HttpKernel",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpKernel.git",
"reference": "e52e53bab767c254e72bed8156b95884c6200b11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/e52e53bab767c254e72bed8156b95884c6200b11",
"reference": "e52e53bab767c254e72bed8156b95884c6200b11",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"psr/log": "~1.0",
"symfony/debug": "~2.5.9|~2.6,>=2.6.2",
"symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2",
"symfony/http-foundation": "~2.5"
},
"require-dev": {
"symfony/browser-kit": "~2.3",
"symfony/class-loader": "~2.1",
"symfony/config": "~2.0,>=2.0.5",
"symfony/console": "~2.2",
"symfony/css-selector": "~2.0,>=2.0.5",
"symfony/dependency-injection": "~2.2",
"symfony/dom-crawler": "~2.0,>=2.0.5",
"symfony/expression-language": "~2.4",
"symfony/finder": "~2.0,>=2.0.5",
"symfony/process": "~2.0,>=2.0.5",
"symfony/routing": "~2.2",
"symfony/stopwatch": "~2.3",
"symfony/templating": "~2.2"
},
"suggest": {
"symfony/browser-kit": "",
"symfony/class-loader": "",
"symfony/config": "",
"symfony/console": "",
"symfony/dependency-injection": "",
"symfony/finder": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\HttpKernel\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony HttpKernel Component",
"homepage": "http://symfony.com",
"time": "2015-01-25 08:45:13"
},
{
"name": "symfony/process",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/Process",
"source": {
"type": "git",
"url": "https://github.com/symfony/Process.git",
"reference": "7b6632c849f87a062301e853f03f71d726520b58"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Process/zipball/7b6632c849f87a062301e853f03f71d726520b58",
"reference": "7b6632c849f87a062301e853f03f71d726520b58",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Process\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Process Component",
"homepage": "http://symfony.com",
"time": "2015-01-25 04:37:39"
},
{
"name": "symfony/routing",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/Routing",
"source": {
"type": "git",
"url": "https://github.com/symfony/Routing.git",
"reference": "3a9c35ca312d8cb6a308b751f9a1cd92cd5d9277"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Routing/zipball/3a9c35ca312d8cb6a308b751f9a1cd92cd5d9277",
"reference": "3a9c35ca312d8cb6a308b751f9a1cd92cd5d9277",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"doctrine/annotations": "~1.0",
"doctrine/common": "~2.2",
"psr/log": "~1.0",
"symfony/config": "~2.2",
"symfony/expression-language": "~2.4",
"symfony/http-foundation": "~2.3",
"symfony/yaml": "~2.0,>=2.0.5"
},
"suggest": {
"doctrine/annotations": "For using the annotation loader",
"symfony/config": "For using the all-in-one router or any loader",
"symfony/expression-language": "For using expression matching",
"symfony/yaml": "For using the YAML loader"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Routing\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Routing Component",
"homepage": "http://symfony.com",
"keywords": [
"router",
"routing",
"uri",
"url"
],
"time": "2015-01-13 14:58:43"
},
{
"name": "symfony/security-core",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/Security/Core",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
"reference": "3a27d7b34ee62cb0fdf5ad970e7777912ef4722f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-core/zipball/3a27d7b34ee62cb0fdf5ad970e7777912ef4722f",
"reference": "3a27d7b34ee62cb0fdf5ad970e7777912ef4722f",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"ircmaxell/password-compat": "1.0.*",
"psr/log": "~1.0",
"symfony/event-dispatcher": "~2.1",
"symfony/expression-language": "~2.4",
"symfony/http-foundation": "~2.4",
"symfony/translation": "~2.0,>=2.0.5",
"symfony/validator": "~2.5,>=2.5.5"
},
"suggest": {
"ircmaxell/password-compat": "For using the BCrypt password encoder in PHP <5.5",
"symfony/event-dispatcher": "",
"symfony/expression-language": "For using the expression voter",
"symfony/http-foundation": "",
"symfony/validator": "For using the user password constraint"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Security\\Core\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Security Component - Core Library",
"homepage": "http://symfony.com",
"time": "2015-01-25 04:37:39"
},
{
"name": "symfony/translation",
"version": "2.5.x-dev",
"target-dir": "Symfony/Component/Translation",
"source": {
"type": "git",
"url": "https://github.com/symfony/Translation.git",
"reference": "165b5348cd20f8c4b2fcf1097c9c8300d1093b90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Translation/zipball/165b5348cd20f8c4b2fcf1097c9c8300d1093b90",
"reference": "165b5348cd20f8c4b2fcf1097c9c8300d1093b90",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/config": "~2.3,>=2.3.12",
"symfony/intl": "~2.3",
"symfony/yaml": "~2.2"
},
"suggest": {
"symfony/config": "",
"symfony/yaml": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Translation\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Translation Component",
"homepage": "http://symfony.com",
"time": "2015-01-03 15:23:51"
},
{
"name": "symfony/yaml",
"version": "2.6.x-dev",
"target-dir": "Symfony/Component/Yaml",
"source": {
"type": "git",
"url": "https://github.com/symfony/Yaml.git",
"reference": "60ed7751671113cf1ee7d7778e691642c2e9acd8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/60ed7751671113cf1ee7d7778e691642c2e9acd8",
"reference": "60ed7751671113cf1ee7d7778e691642c2e9acd8",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.6-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Yaml\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
},
{
"name": "Fabien Potencier",
"email": "[email protected]"
}
],
"description": "Symfony Yaml Component",
"homepage": "http://symfony.com",
"time": "2015-01-25 04:39:26"
},
{
"name": "vlucas/phpdotenv",
"version": "1.0.6",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "2821c024b4c14c7e6d1ff99e063ae9532620beb2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2821c024b4c14c7e6d1ff99e063ae9532620beb2",
"reference": "2821c024b4c14c7e6d1ff99e063ae9532620beb2",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "*"
},
"type": "library",
"autoload": {
"psr-0": {
"Dotenv": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD"
],
"authors": [
{
"name": "Vance Lucas",
"email": "[email protected]",
"homepage": "http://www.vancelucas.com",
"role": "Developer"
}
],
"description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
"homepage": "http://github.com/vlucas/phpdotenv",
"keywords": [
"dotenv",
"env",
"environment"
],
"time": "2014-01-31 16:18:39"
},
{
"name": "wp-cli/php-cli-tools",
"version": "v0.9.4-patch46",
"source": {
"type": "git",
"url": "https://github.com/wp-cli/php-cli-tools.git",
"reference": "02d5ed4cdbab911df91bf06062c8b2705fb0919a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/02d5ed4cdbab911df91bf06062c8b2705fb0919a",
"reference": "02d5ed4cdbab911df91bf06062c8b2705fb0919a",
"shasum": ""
},
"require": {
"php": ">= 5.3.0"
},
"type": "library",
"autoload": {
"psr-0": {
"cli": "lib/"
},
"files": [
"lib/cli/cli.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "James Logsdon",
"email": "[email protected]",
"role": "Developer"
}
],
"description": "Console utilities for PHP",
"homepage": "http://github.com/jlogsdon/php-cli-tools",
"keywords": [
"cli",
"console"
],
"time": "2014-02-01 23:11:00"
}
],
"packages-dev": [
{
"name": "alexandresalome/php-selenium",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/alexandresalome/PHP-Selenium.git",
"reference": "aad2d9eda742e6f8b89ebb9af9b333a68ff848ce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/alexandresalome/PHP-Selenium/zipball/aad2d9eda742e6f8b89ebb9af9b333a68ff848ce",
"reference": "aad2d9eda742e6f8b89ebb9af9b333a68ff848ce",
"shasum": ""
},
"require-dev": {
"symfony/dom-crawler": "dev-master"
},
"type": "library",
"autoload": {
"psr-0": {
"Selenium": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alexandre Salomé",
"email": "[email protected]",
"homepage": "http://alexandre-salome.fr"
}
],
"description": "PHP Library for Selenium",
"keywords": [
"selenium"
],
"time": "2012-07-10 11:39:20"
},
{
"name": "beberlei/assert",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/beberlei/assert.git",
"reference": "160eba4d1fbe692e42b3cf8a20b92ab23e3a8759"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/beberlei/assert/zipball/160eba4d1fbe692e42b3cf8a20b92ab23e3a8759",
"reference": "160eba4d1fbe692e42b3cf8a20b92ab23e3a8759",
"shasum": ""
},
"require": {
"ext-mbstring": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"autoload": {
"psr-0": {
"Assert": "lib/"
},
"files": [
"lib/Assert/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Benjamin Eberlei",
"email": "[email protected]"
}
],
"description": "Thin assertion library for input validation in business models.",
"keywords": [
"assert",
"assertion",
"validation"
],
"time": "2014-12-18 19:12:40"
},
{
"name": "doctrine/instantiator",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
"reference": "3d9669e597439e8d205baf315efb757038fb4dea"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/3d9669e597439e8d205baf315efb757038fb4dea",
"reference": "3d9669e597439e8d205baf315efb757038fb4dea",
"shasum": ""
},
"require": {
"php": ">=5.3,<8.0-DEV"
},
"require-dev": {
"athletic/athletic": "~0.1.8",
"ext-pdo": "*",
"ext-phar": "*",
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~2.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "[email protected]",
"homepage": "http://ocramius.github.com/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "https://github.com/doctrine/instantiator",
"keywords": [
"constructor",
"instantiate"
],
"time": "2015-01-16 19:29:51"
},
{
"name": "guilhermeguitte/behat-laravel",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/GuilhermeGuitte/behat-laravel.git",
"reference": "79b7aa9b3c9d538923e3031cc1b98648b0f776b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GuilhermeGuitte/behat-laravel/zipball/79b7aa9b3c9d538923e3031cc1b98648b0f776b5",
"reference": "79b7aa9b3c9d538923e3031cc1b98648b0f776b5",
"shasum": ""
},
"require": {
"alexandresalome/php-selenium": "1.0.1",
"behat/behat": "2.5.*",
"behat/mink-extension": "1.3.3",
"illuminate/support": "*",
"php": ">=5.3.0",
"zizaco/testcases-laravel": "dev-master"
},
"require-dev": {
"phpunit/phpunit": "4.0.*"
},
"type": "library",
"autoload": {
"classmap": [
"src/commands"
],
"psr-0": {
"GuilhermeGuitte\\BehatLaravel": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Guilherme Guitte",
"email": "[email protected]"
}
],
"description": "Adding BDD test with Behat to laravel 4",
"keywords": [
"BDD",
"Behat",
"illuminate",
"laravel",
"test"
],
"time": "2014-12-26 18:06:09"
},
{
"name": "itsgoingd/clockwork",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/itsgoingd/clockwork.git",
"reference": "0edd224109f00142f4b7f524809e04b4cc23673a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/itsgoingd/clockwork/zipball/0edd224109f00142f4b7f524809e04b4cc23673a",
"reference": "0edd224109f00142f4b7f524809e04b4cc23673a",
"shasum": ""
},
"require": {
"php": ">=5.3.9",
"psr/log": "1.*"
},
"type": "library",
"autoload": {
"psr-0": {
"Clockwork": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "itsgoingd",
"email": "[email protected]",
"homepage": "http://twitter.com/itsgoingd"
}
],
"description": "Server-side component of Clockwork, a Chrome extension for PHP development",
"homepage": "http://github.com/itsgoingd/clockwork",
"keywords": [
"debugging",
"laravel",
"logging",
"profiling"
],
"time": "2015-01-16 14:21:52"
},
{
"name": "laracasts/testdummy",
"version": "2.0.12",
"source": {
"type": "git",
"url": "https://github.com/laracasts/TestDummy.git",
"reference": "a3cb5605fbdac17f0a8973ece0e41b1221ccc990"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laracasts/TestDummy/zipball/a3cb5605fbdac17f0a8973ece0e41b1221ccc990",
"reference": "a3cb5605fbdac17f0a8973ece0e41b1221ccc990",
"shasum": ""
},
"require": {
"fzaninotto/faker": "~1.4",
"illuminate/support": "~4.0|~5.0",
"php": ">=5.4.0"
},
"require-dev": {
"phpspec/phpspec": "~2.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Laracasts\\TestDummy": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jeffrey Way",
"email": "[email protected]"
}
],
"description": "Easy test stubs",
"keywords": [
"factorygirl",
"laravel",
"stubs",
"testing"
],
"time": "2015-01-07 19:32:02"
},
{
"name": "mockery/mockery",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/padraic/mockery.git",
"reference": "cce38ee95d444190e8aac2d46c6d5e7b94ea44ef"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/padraic/mockery/zipball/cce38ee95d444190e8aac2d46c6d5e7b94ea44ef",
"reference": "cce38ee95d444190e8aac2d46c6d5e7b94ea44ef",
"shasum": ""
},
"require": {
"lib-pcre": ">=7.0",
"php": ">=5.3.2"
},
"require-dev": {
"hamcrest/hamcrest-php": "~1.1",
"phpunit/phpunit": "~4.0",
"satooshi/php-coveralls": "~0.7@dev"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.9.x-dev"
}
},
"autoload": {
"psr-0": {
"Mockery": "library/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Pádraic Brady",
"email": "[email protected]",
"homepage": "http://blog.astrumfutura.com"
},
{
"name": "Dave Marshall",
"email": "[email protected]",
"homepage": "http://davedevelopment.co.uk"
}
],
"description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.",
"homepage": "http://github.com/padraic/mockery",
"keywords": [
"BDD",
"TDD",
"library",
"mock",
"mock objects",
"mockery",
"stub",
"test",
"test double",
"testing"
],
"time": "2015-01-18 20:11:41"
},
{
"name": "pdepend/pdepend",
"version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/pdepend/pdepend.git",
"reference": "1b0acf162da4f30237987e61e177a57f78e3d87e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pdepend/pdepend/zipball/1b0acf162da4f30237987e61e177a57f78e3d87e",
"reference": "1b0acf162da4f30237987e61e177a57f78e3d87e",
"shasum": ""
},
"require": {
"symfony/config": ">=2.4",
"symfony/dependency-injection": ">=2.4",
"symfony/filesystem": ">=2.4"
},
"require-dev": {
"phpunit/phpunit": "4.*@stable",
"squizlabs/php_codesniffer": "@stable"
},
"bin": [
"src/bin/pdepend"
],
"type": "library",
"autoload": {
"psr-0": {
"PDepend\\": "src/main/php/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Official version of pdepend to be handled with Composer",
"time": "2014-12-04 12:38:39"
},
{
"name": "php-vcr/php-vcr",
"version": "1.1.5",
"source": {
"type": "git",
"url": "https://github.com/php-vcr/php-vcr.git",
"reference": "34e12bad63c98825472d40386dd74c41b1bf8f01"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-vcr/php-vcr/zipball/34e12bad63c98825472d40386dd74c41b1bf8f01",
"reference": "34e12bad63c98825472d40386dd74c41b1bf8f01",
"shasum": ""
},
"require": {
"beberlei/assert": "2.*",
"ext-curl": "*",
"guzzle/http": "3.*",
"symfony/yaml": "2.*"
},
"require-dev": {
"lapistano/proxy-object": "dev-master",
"mikey179/vfsstream": "1.2.*",
"phpunit/phpunit": "3.*"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Adrian Philipp",
"email": "[email protected]"
}
],
"description": "Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.",
"time": "2014-09-11 09:25:12"
},
{
"name": "php-vcr/phpunit-testlistener-vcr",
"version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/php-vcr/phpunit-testlistener-vcr.git",
"reference": "5cce21b797e33fdcf6ddd4a3a329126edf1915b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-vcr/phpunit-testlistener-vcr/zipball/5cce21b797e33fdcf6ddd4a3a329126edf1915b3",
"reference": "5cce21b797e33fdcf6ddd4a3a329126edf1915b3",
"shasum": ""
},
"require": {
"php-vcr/php-vcr": "*"
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Adrian Philipp",
"email": "[email protected]"
}
],
"description": "Integrates PHPUnit with PHP-VCR.",
"time": "2014-04-12 09:18:31"
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "fd0ac2007401505fb596fdfb859ec4e103d69e55"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/fd0ac2007401505fb596fdfb859ec4e103d69e55",
"reference": "fd0ac2007401505fb596fdfb859ec4e103d69e55",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"suggest": {
"dflydev/markdown": "~1.0",
"erusev/parsedown": "~1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-0": {
"phpDocumentor": [
"src/"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mike van Riel",
"email": "[email protected]"
}
],
"time": "2014-09-02 14:26:20"
},
{
"name": "phpmd/phpmd",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/phpmd/phpmd.git",
"reference": "02a402581210d1090c93783056d3577857595711"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpmd/phpmd/zipball/02a402581210d1090c93783056d3577857595711",
"reference": "02a402581210d1090c93783056d3577857595711",
"shasum": ""
},
"require": {
"pdepend/pdepend": "2.0.*",
"php": ">=5.3.0",
"symfony/config": ">=2.4",
"symfony/dependency-injection": ">=2.4",
"symfony/filesystem": ">=2.4"
},
"require-dev": {
"phpunit/phpunit": "*",
"squizlabs/php_codesniffer": "*"
},
"bin": [
"src/bin/phpmd"
],
"type": "project",
"autoload": {
"psr-0": {
"PHPMD\\": "src/main/php"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Manuel Pichler",
"email": "[email protected]",
"homepage": "https://github.com/manuelpichler",
"role": "Project founder"
},
{
"name": "Other contributors",
"homepage": "https://github.com/phpmd/phpmd/graphs/contributors",
"role": "Contributors"
}
],
"description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
"homepage": "http://phpmd.org/",
"keywords": [
"mess detection",
"mess detector",
"pdepend",
"phpmd",
"pmd"
],
"time": "2015-01-25 16:00:28"
},
{
"name": "phpspec/prophecy",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "d647e27524f9f7edc37baf63a114b52f5975808f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/d647e27524f9f7edc37baf63a114b52f5975808f",
"reference": "d647e27524f9f7edc37baf63a114b52f5975808f",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.2",
"phpdocumentor/reflection-docblock": "~2.0",
"sebastian/comparator": "~1.1"
},
"require-dev": {
"phpspec/phpspec": "~2.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
}
},
"autoload": {
"psr-0": {
"Prophecy\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "[email protected]",
"homepage": "http://everzet.com"
},
{
"name": "Marcello Duarte",
"email": "[email protected]"
}
],
"description": "Highly opinionated mocking framework for PHP 5.3+",
"homepage": "https://github.com/phpspec/prophecy",
"keywords": [
"Double",
"Dummy",
"fake",
"mock",
"spy",
"stub"
],
"time": "2015-01-26 10:50:16"
},
{
"name": "phpunit/php-code-coverage",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "34cc484af1ca149188d0d9e91412191e398e0b67"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/34cc484af1ca149188d0d9e91412191e398e0b67",
"reference": "34cc484af1ca149188d0d9e91412191e398e0b67",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"phpunit/php-file-iterator": "~1.3",
"phpunit/php-text-template": "~1.2",
"phpunit/php-token-stream": "~1.3",
"sebastian/environment": "~1.0",
"sebastian/version": "~1.0"
},
"require-dev": {
"ext-xdebug": ">=2.1.4",
"phpunit/phpunit": "~4"
},
"suggest": {
"ext-dom": "*",
"ext-xdebug": ">=2.2.1",
"ext-xmlwriter": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
"keywords": [
"coverage",
"testing",
"xunit"
],
"time": "2015-01-24 10:06:35"
},
{
"name": "phpunit/php-file-iterator",
"version": "1.3.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"autoload": {
"classmap": [
"File/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"keywords": [
"filesystem",
"iterator"
],
"time": "2013-10-10 15:34:57"
},
{
"name": "phpunit/php-text-template",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
"reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"autoload": {
"classmap": [
"Text/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Simple template engine.",
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
"keywords": [
"template"
],
"time": "2014-01-30 17:20:04"
},
{
"name": "phpunit/php-timer",
"version": "1.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
"reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"autoload": {
"classmap": [
"PHP/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Utility class for timing",
"homepage": "https://github.com/sebastianbergmann/php-timer/",
"keywords": [
"timer"
],
"time": "2013-08-02 07:42:54"
},
{
"name": "phpunit/php-token-stream",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/db32c18eba00b121c145575fcbcd4d4d24e6db74",
"reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Wrapper around PHP's tokenizer extension.",
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
"keywords": [
"tokenizer"
],
"time": "2015-01-17 09:51:32"
},
{
"name": "phpunit/phpunit",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "e85198bbce24ea11075ce8bdfc2cfffb818aae8c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e85198bbce24ea11075ce8bdfc2cfffb818aae8c",
"reference": "e85198bbce24ea11075ce8bdfc2cfffb818aae8c",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-json": "*",
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.3.3",
"phpspec/prophecy": "~1.3.1",
"phpunit/php-code-coverage": "~2.0",
"phpunit/php-file-iterator": "~1.3",
"phpunit/php-text-template": "~1.2",
"phpunit/php-timer": "~1.0",
"phpunit/phpunit-mock-objects": "~2.3",
"sebastian/comparator": "~1.1",
"sebastian/diff": "~1.2",
"sebastian/environment": "~1.2",
"sebastian/exporter": "~1.2",
"sebastian/global-state": "~1.0",
"sebastian/version": "~1.0",
"symfony/yaml": "~2.1|~3.0"
},
"suggest": {
"phpunit/php-invoker": "~1.1"
},
"bin": [
"phpunit"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.6.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "The PHP Unit Testing framework.",
"homepage": "https://phpunit.de/",
"keywords": [
"phpunit",
"testing",
"xunit"
],
"time": "2015-01-27 07:32:25"
},
{
"name": "phpunit/phpunit-mock-objects",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "b752b41e3fead4feee99f3a2f2972cef517abb8b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/b752b41e3fead4feee99f3a2f2972cef517abb8b",
"reference": "b752b41e3fead4feee99f3a2f2972cef517abb8b",
"shasum": ""
},
"require": {
"doctrine/instantiator": "~1.0,>=1.0.2",
"php": ">=5.3.3",
"phpunit/php-text-template": "~1.2"
},
"require-dev": {
"phpunit/phpunit": "4.4.*@dev"
},
"suggest": {
"ext-soap": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Mock Object library for PHPUnit",
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
"keywords": [
"mock",
"xunit"
],
"time": "2015-01-18 10:44:19"
},
{
"name": "sebastian/comparator",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "6a1e846331bb3cc1a305168125d047fb86260e3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/6a1e846331bb3cc1a305168125d047fb86260e3d",
"reference": "6a1e846331bb3cc1a305168125d047fb86260e3d",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"sebastian/diff": "~1.1",
"sebastian/exporter": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "~4.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Jeff Welch",
"email": "[email protected]"
},
{
"name": "Volker Dusch",
"email": "[email protected]"
},
{
"name": "Bernhard Schussek",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Provides the functionality to compare PHP values for equality",
"homepage": "http://www.github.com/sebastianbergmann/comparator",
"keywords": [
"comparator",
"compare",
"equality"
],
"time": "2015-01-05 16:29:00"
},
{
"name": "sebastian/diff",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "6dc90302a4cdf8486c221a0ad3a4da53859fcfa5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/6dc90302a4cdf8486c221a0ad3a4da53859fcfa5",
"reference": "6dc90302a4cdf8486c221a0ad3a4da53859fcfa5",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Kore Nordmann",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Diff implementation",
"homepage": "http://www.github.com/sebastianbergmann/diff",
"keywords": [
"diff"
],
"time": "2015-01-01 09:20:29"
},
{
"name": "sebastian/environment",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "5a8c7d31914337b69923db26c4221b81ff5a196e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e",
"reference": "5a8c7d31914337b69923db26c4221b81ff5a196e",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
"homepage": "http://www.github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
"hhvm"
],
"time": "2015-01-01 10:01:08"
},
{
"name": "sebastian/exporter",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "84839970d05254c73cde183a721c7af13aede943"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943",
"reference": "84839970d05254c73cde183a721c7af13aede943",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"sebastian/recursion-context": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Jeff Welch",
"email": "[email protected]"
},
{
"name": "Volker Dusch",
"email": "[email protected]"
},
{
"name": "Bernhard Schussek",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
},
{
"name": "Adam Harvey",
"email": "[email protected]"
}
],
"description": "Provides the functionality to export PHP variables for visualization",
"homepage": "http://www.github.com/sebastianbergmann/exporter",
"keywords": [
"export",
"exporter"
],
"time": "2015-01-27 07:23:06"
},
{
"name": "sebastian/global-state",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "007c441df427cf0e175372fcbb9d196bce7eb743"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/007c441df427cf0e175372fcbb9d196bce7eb743",
"reference": "007c441df427cf0e175372fcbb9d196bce7eb743",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.2"
},
"suggest": {
"ext-uopz": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Snapshotting of global state",
"homepage": "http://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"time": "2015-01-20 04:09:31"
},
{
"name": "sebastian/recursion-context",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "3989662bbb30a29d20d9faa04a846af79b276252"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252",
"reference": "3989662bbb30a29d20d9faa04a846af79b276252",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Jeff Welch",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
},
{
"name": "Adam Harvey",
"email": "[email protected]"
}
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"time": "2015-01-24 09:48:32"
},
{
"name": "sebastian/version",
"version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
"reference": "a77d9123f8e809db3fbdea15038c27a95da4058b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/a77d9123f8e809db3fbdea15038c27a95da4058b",
"reference": "a77d9123f8e809db3fbdea15038c27a95da4058b",
"shasum": ""
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version",
"time": "2014-12-15 14:25:24"
},
{
"name": "way/generators",
"version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/JeffreyWay/Laravel-4-Generators.git",
"reference": "484d379c6bc1d38c75e4f52f74efcbcd11f7dd2c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JeffreyWay/Laravel-4-Generators/zipball/484d379c6bc1d38c75e4f52f74efcbcd11f7dd2c",
"reference": "484d379c6bc1d38c75e4f52f74efcbcd11f7dd2c",
"shasum": ""
},
"require": {
"illuminate/support": "~4.0",
"php": ">=5.4.0"
},
"require-dev": {
"behat/behat": "~2.5.1",
"behat/mink": "~1.5.0",
"behat/mink-extension": "~1.2.0",
"behat/mink-goutte-driver": "~1.0.9",
"behat/mink-selenium2-driver": "~1.1.1",
"phpspec/phpspec": "~2.0",
"phpunit/phpunit": "~3.7"
},
"type": "library",
"autoload": {
"psr-0": {
"Way\\Generators": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jeffrey Way",
"email": "[email protected]",
"homepage": "http://jeffrye-way.com",
"role": "Developer"
}
],
"description": "Rapidly generate resources, migrations, models, and much more.",
"time": "2014-05-27 14:21:26"
},
{
"name": "way/laravel-test-helpers",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/JeffreyWay/Laravel-Test-Helpers.git",
"reference": "4fbba30c42a6ce465b11f2d5e7608c8037f78a7e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JeffreyWay/Laravel-Test-Helpers/zipball/4fbba30c42a6ce465b11f2d5e7608c8037f78a7e",
"reference": "4fbba30c42a6ce465b11f2d5e7608c8037f78a7e",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"illuminate/support": "4.0.x",
"mockery/mockery": "*"
},
"type": "library",
"autoload": {
"psr-0": {
"Way\\Tests": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"authors": [
{
"name": "Jeffrey Way",
"email": "[email protected]",
"homepage": "http://jeffrye-way.com",
"role": "Developer"
}
],
"description": "Easier testing in Laravel.",
"time": "2014-03-03 11:50:49"
},
{
"name": "zerkalica/phpcs",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/zerkalica/PHP_CodeSniffer.git",
"reference": "e2d4488665c722b81e04141c5615ced3277509d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zerkalica/PHP_CodeSniffer/zipball/e2d4488665c722b81e04141c5615ced3277509d9",
"reference": "e2d4488665c722b81e04141c5615ced3277509d9",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"bin": [
"scripts/phpcs"
],
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"description": "Unofficial version of PHP_CodeSniffer to be handled with Composer",
"time": "2012-11-06 21:19:44"
},
{
"name": "zizaco/testcases-laravel",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/Zizaco/testcases-laravel.git",
"reference": "ca3c348e1adf6f9db172654f22b2371c8e1cb7b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Zizaco/testcases-laravel/zipball/ca3c348e1adf6f9db172654f22b2371c8e1cb7b2",
"reference": "ca3c348e1adf6f9db172654f22b2371c8e1cb7b2",
"shasum": ""
},
"require": {
"alexandresalome/php-selenium": "1.0.1",
"illuminate/support": "4.*",
"php": ">=5.3.0"
},
"suggest": {
"GuilhermeGuitte/behat-laravel": "A solution test your application using the BDD methodology",
"mockery/mockery": "Mockery is a simple yet flexible PHP mock object framework"
},
"type": "library",
"autoload": {
"psr-0": {
"Zizaco\\TestCases": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Zizaco Zizuini",
"email": "[email protected]",
"homepage": "http://www.zizaco.net"
}
],
"description": "Some classes to help write tests for laravel 4 applications",
"keywords": [
"TDD",
"illuminate",
"laravel",
"phpunit",
"test",
"testcase"
],
"time": "2013-12-27 11:42:21"
}
],
"aliases": [],
"minimum-stability": "dev",
"stability-flags": {
"rhumsaa/uuid": 20,
"alnutile/behat-wrapper": 20,
"alnutile/saucelabs_client": 20,
"alfred-nutile-inc/core-app": 20,
"vlucas/phpdotenv": 20,
"indatus/dispatcher": 20,
"iron-io/iron_mq": 20,
"doctrine/dbal": 20,
"alfred-nutile-inc/fixturizer": 20,
"michelf/php-markdown": 20,
"guilhermeguitte/behat-laravel": 20,
"mockery/mockery": 20,
"itsgoingd/clockwork": 20,
"way/laravel-test-helpers": 20,
"zerkalica/phpcs": 20,
"phpmd/phpmd": 20
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": []
}
<?php
use Behat\Behat\Context\ClosuredContextInterface,
Behat\Behat\Context\TranslatedContextInterface,
Behat\Behat\Context\BehatContext,
Behat\Behat\Exception\PendingException;
use Behat\Gherkin\Node\PyStringNode,
Behat\Gherkin\Node\TableNode;
use Behat\Mink\Exception\ExpectationException;
use BehatEditor\GitDTO;
use GuzzleHttp\Client as Client;
use GuzzleHttp\Exception\BadResponseException;
use Behat\MinkExtension\Context\MinkContext;
use BehatEditor\Services\GithubApiService;
use Laracasts\TestDummy\Factory;
use Symfony\Component\Filesystem\Filesystem;
class FeatureContext extends BaseContext
{
protected $scope_array;
/**
* The current resource
*/
protected $resource;
/**
* The request payload
*/
protected $requestPayload;
/**
* The Guzzle HTTP Response.
*/
protected $response;
/**
* The decoded response object.
*/
protected $responsePayload;
/**
* The current scope within the response payload
* which conditions are asserted against.
*/
protected $scope;
protected $asset_path;
protected $asset_prefix;
private $output;
protected $tokenSelector;
/**
* Initializes context.
* Load other context files
*
* @param array $parameters context parameters (set up via behat.yml)
*/
public function __construct(array $parameters) {
parent::__construct($parameters);
}
/**
* @Given /^I follow the first link containing the text "([^"]*)"$/
*/
public function iFollowTheFirstLinkContainingTheText($link) {
try {
$link = $this->fixStepArgument($link);
$this->getMainContext()->getSession()->getPage()->clickLink($link);
}
catch(\Exception $e)
{
throw new ExpectationException(sprintf("Error logging in %s", $e->getMessage()), $this->getMainContext()->getSession());
}
}
/**
* @Given /^I reset mock data$/
*/
public function iResetMockData() {
$this->getFactory()->type('mock')->reset();
}
/**
* @Given /^the custom size is "([^"]*)" by "([^"]*)"$/
*/
public function theCustomSizeIs($width, $height)
{
$this->getSession()->resizeWindow($width, $height, 'current');
}
/**
* @Given /^the size is desktop/
*/
public function theSizeIsDesktop()
{
$this->getSession()->resizeWindow(1400, 900, 'current');
}
/**
* @Given /^the size is tablet landscape/
*/
public function theSizeIsTabletLandscape()
{
$this->getSession()->resizeWindow(1024, 900, 'current');
}
/**
* @Given /^the size is tablet portrait/
*/
public function theSizeIsTabletPortrait()
{
$this->getSession()->resizeWindow(768, 900, 'current');
}
/**
* @Given /^the size is mobile landscape/
*/
public function theSizeIsMobileLandscape()
{
$this->getSession()->resizeWindow(640, 900, 'current');
}
/**
* @Given /^the size is mobile portrait/
*/
public function theSizeIsMobilePortrait()
{
$this->getSession()->resizeWindow(320, 900, 'current');
}
/**
* @Given /^I fill in the "([^"])" with "([^"])"$/
*/
public function iFillInTheWith($arg1, $arg2)
{
$element = $this->findElementWithBusinessSelector($arg1);
$element->setValue($arg2);
}
/**
* @Then /^I take a screenshot$/
*/
public function takeAScreenShot()
{
$this->getAssetPath();
$image = $this->getSession()->getDriver()->getScreenshot();
$name = 'screenshot_' . time() . '.jpg';
file_put_contents($this->getAssetPath() . '/' . $name, $image);
}
public function getAssetPrefix()
{
if($this->asset_prefix == null)
$this->setAssetPrefix();
return $this->asset_prefix;
}
public function setAssetPrefix($prefix = false)
{
if($prefix == null)
{
if(!isset($this->parameters['asset_prefix']))
{
$prefix = 'screenshot_' . time();
} else {
$prefix = $this->parameters['asset_prefix'];
}
}
$this->asset_prefix = $prefix;
return $this;
}
public function getAssetPath()
{
if($this->asset_path == null)
$this->setAssetPath();
return $this->asset_path;
}
public function setAssetPath($path = null)
{
if($path == null)
{
if(!isset($this->parameters['asset_path']))
{
$path = '/tmp/' . $this->getAssetPrefix();
} else {
$path = $this->parameters['asset_path'] . '/' . $this->getAssetPrefix();
}
}
if(!$this->file->exists($path))
{
$this->file->mkdir($path);
}
$this->asset_path = $path;
return $this;
}
/**
* from orig file
*/
/**
* Check if the port is 443 or 80 eg secure or not.
*
* @Then /^the page is secure$/
*/
public function thePageIsSecure()
{
$current_url = $this->getSession()->getCurrentUrl();
if(strpos($current_url, 'https') === false) {
throw new Exception('Page is not using SSL and is not Secure');
}
}
public function setUpSelector()
{
if($this->getSubcontext('BusinessSelectors')) {
$this->tokenSelector = $this->getSubcontext('BusinessSelectors')->getSubcontext('UIBusinessSelector');
} else {
$this->tokenSelector = false;
}
}
public function useSelector($item)
{
$this->setUpSelector();
if($this->tokenSelector) {
$item = $this->tokenSelector->getSelectorFromString($item, false);
}
return $item;
}
/**
* @hidden
*
* Setup the needed SubContext alias
*/
public static function getAlias() {
return 'pfizerbehat';
}
/**
* @hidden
*
* @Given /^I click the "([^"]*)" social button$/
*/
public function iClickTheSocialButton($key)
{
$key = $this->useSelector($key);
$this->getSession()->getPage()->find('css', "#social-{$key} a")->click();
}
/**
* @hidden
*
* @Given /^I click the element located at "([^"]*)"$/
*/
public function iClickTheElementLocatedAt($item)
{
$item = $this->useSelector($item);
$node = $this->getSession()->getPage()->find('css', $item);
if($node) {
$node->click();
} else {
throw new Exception('Element not found');
}
}
/**
* Click on the Javascript Alert Window
*
* @Then /^I click on the alert window$/
*/
public function iClickOnTheAlertWindow() {
$this->getSession()->getDriver()->getWebDriverSession()->accept_alert();
}
/**
* Check if class exists note: this does not include a path just a class name
*
* @Then /^I see this element exists "([^"]*)"$/
*/
public function iSeeThisElementExists($item)
{
$item = $this->useSelector($item);
$css = $this->getSession()->getPage()->find('css', $item);
if($css) {
//
} else {
throw new Exception('Element not found');
}
}
/**
*
* @Then /^I see this element does not exist "([^"]*)"$/
*/
public function iSeeThisElementDoesNotExist($item)
{
$item = $this->useSelector($item);
$css = $this->getSession()->getPage()->find('css', $item);
if($css)
{
throw new Exception('Element not found');
}
}
/**
* Use the path eg wiki/Main_Page to see if you are on that path
*
* @Then /^I should be on the path "([^"]*)"$/
*/
public function iShouldBeOnThePath($page)
{
$this->assertPageAddress($page);
}
/**
* @hidden
*
* @Then /^I see this class exists "([^"]*)"$/
*/
public function iSeeThisClassExists2($item)
{
$item = $this->useSelector($item);
$css = $this->getSession()->getPage()->find('css', $item);
if($css) {
//$xpath = $this->getSession()->getPage()->find('xpath', $item);
} else {
throw new Exception('Element not found');
}
}
/**
* See if the element (name|label|id) is greater than the % of the window
*
* @Then /^the element "([^"]*)" should be "([^"]*)" percent or greater than the window$/
*/
public function theElementShouldBePercentOrGreaterThanTheWindow($arg1, $arg2)
{
$arg1 = $this->useSelector($arg1);
$arg2 = $this->useSelector($arg2);
//@todo
$javascript_check = <<<HEREDOC
if(!jQuery('$arg1').length) { return "FAILED"; }
HEREDOC;
if($javascript_check != "FAILED") {
$javascipt = <<<HEREDOC
var target = jQuery('$arg1').height();
var window_height = jQuery(window).height();
var totalOf = target / window_height * 100;
if( totalOf >= $arg2 ) { return totalOf; } else { return "FAILED"; }
HEREDOC;
$results = $this->getSession()->evaluateScript($javascipt);
if($results == "FAILED") {
throw new Exception('Element not the right size');
}
} else {
throw new Exception('Element not found');
}
}
/**
* Remove and element that may be in the way of another element using the ID
*
* @Then /^I remove the element located at "([^"]*)"$/
*/
public function iRemoveTheElementLocatedAt($item) {
$item = $this->useSelector($item);
$node = $this->getSession()->getPage()->find('css', $item);
if($node) {
$javascipt = <<<HEREDOC
jQuery('$item').remove();
HEREDOC;
$this->getSession()->executeScript($javascipt);
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @Given /^I press the element located at "([^"]*)"$/
*/
public function iPressTheElementLocatedAt($item)
{
$item = $this->useSelector($item);
$node = $this->getSession()->getPage()->find('css', $item);
if ($node) {
$node->press();
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @Given /^Is Checked "([^"]*)"$/
*/
public function isChecked($item)
{
$item = $this->useSelector($item);
$node = $this->getSession()->getPage()->find('css', $item);
$node->press();
}
/**
* @hidden
*
* @Given /^I check "([^"]*)" using token$/
*/
public function iCheckUsingToken($item)
{
$item = $this->useSelector($item);
$node = $this->getSession()->getPage()->find('css', $item);
if (null === $node) {
throw new ElementNotFoundException(
$this->getSession(), 'form field', 'id|name|label|value', $item
);
}
$node->check();
}
/**
* @hidden
*
* @Given /^I saw page loaded$/
*/
public function iSawPageLoaded()
{
$test = "'interactive' == document.readyState || 'complete' == document.readyState";
$this->getSession()->wait(self::MAX_LOAD_WAIT, $test);
}
/**
* @hidden
*
* @Given /^I am on the "([^"]*)" page$/
*/
public function iAmOnTheXPage($page)
{
$page = $this->useSelector($page);
if (empty($this->pageMap[$page]))
{
throw new Exception("Invalid page: '{$page}'");
}
$this->visit($this->pageMap[$page]);
}
/**
* Performs a site search using standard Drupal Search.
*
* @When /^I search for "([^"]*)"$/
*/
public function iSearchFor($text)
{
$text = $this->useSelector($text);
$text = $this->fixStepArgument($text);
$this->fillField('edit-search-block-form--2', $text);
$this->pressButton('edit-submit');
}
/**
* @hidden
*
* @When /^I click the continue leave to the site button$/
*/
public function iClickTheContinueToLeaveTheSiteButton()
{
$this->getSession()->getPage()->find('xpath', '//input[@src="/img/button.continue.gif"]')->click();
}
/**
* Hover over a menu item using the xpath
*
* @Given /^I hover over the "([^"]*)" menu item$/
*/
public function iHoverOverTheMenuItem($item)
{
$item = $this->useSelector($item);
if($this->getSession()->getPage()->find('xpath', '//li/a[@title="' . $item . '"]')) {
$this->getSession()->getPage()->find('xpath', '//li/a[@title="' . $item . '"]')->mouseOver();
} else {
throw new Exception('Element not found');
}
}
/**
* Hover over a non link item using id|name|class
*
* @Given /^I hover over a non link item named "([^"]*)"$/
*/
public function iHoverOverANonLinkItemNamed($item)
{
$item = $this->useSelector($item);
if($this->getSession()->getPage()->find('css', $item)) {
$this->getSession()->getPage()->find('css', $item)->mouseOver();
} else {
throw new Exception('Element not found');
}
}
/**
* @Given /^I hover over the menu item named "([^"]*)"$/
*/
public function iHoverOverTheMenuItemNamed($arg1)
{
$item = $this->useSelector($arg1);
if($this->getSession()->getPage()->find('css', $item)) {
$this->getSession()->getPage()->find('css', $item)->mouseOver();
} else {
throw new Exception('Element not found');
}
}
/**
* Hover over a non link item using id|name|class
*
* @Given /^I hover over a non link menu item named "([^"]*)"$/
*/
public function iHoverOverANonLinkMenuItemNamed($arg1)
{
$item = $this->useSelector($arg1);
if($this->getMainContext()->getSession()->getPage()->find('css', $item)) {
$this->getMainContext()->getSession()->getPage()->find('css', $item)->mouseOver();
} else {
throw new Exception('Element not found');
}
}
/**
* See if Element has style eg p.padL8 has style font-size= 12px
*
* @Then /^the element "([^"]*)" should have style "([^"]*)"$/
*/
public function theElementShouldHaveStyle($arg1, $arg2)
{
$arg1= $this->useSelector($arg1);
$arg2 = $this->useSelector($arg2);
$element = $this->getSession()->getPage()->find('css', $arg1);
if($element) {
if(strpos($element->getAttribute('style'), $arg2) === FALSE) {
throw new Exception('Style not found');
}
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @Then /^I fill in the form field with id "([^"]*)" number "([^"]*)" with the value of "([^"]*)"$/
*/
public function fillInTheFormFieldWithIDNumberWithTheValueOf($arg1, $arg2, $arg3)
{
$arg1 = $this->useSelector($arg1);
$arg2 = $this->useSelector($arg2);
$arg3 = $this->useSelector($arg3);
$arg = $arg2 - 1; //most users do not start at 0
$form_field = $this->getSession()->getPage()->findAll('css', $arg1);
if($form_field) {
$form_field[$arg]->setValue($arg3);
} else {
throw new Exception('Form Element not found');
}
}
/**
* @hidden
*
* @Given /^I get redirected to home page$/
*/
public function iGetRedirectedToHomePage()
{
$this->getSession()->wait(3000,
"jQuery('a.logout-link').text() == 'Log out'"
);
}
/**
* @hidden
*
* @Given /^I follow savedTest$/
*/
public function iFollowSavedtest()
{
$test_file = $this->getSession()->getPage()->find('css', 'a#test-file')->getAttribute('href');
$this->visit($test_file);
}
/**
* @hidden
*
* @Given /^I fill in featuresTag$/
*/
public function iFillInFeaturestag()
{
$registerForm = $this->getSession()->getPage()->find('css', 'form.scenario-builder');
$el = $registerForm->find('css', 'input.ui-widget-content');
$el->setValue('@local ');
}
/**
* @hidden
*
* @Given /^I fill in sectionOneTag$/
*/
public function iFillInSectiononetag()
{
$registerForm = $this->getSession()->getPage()->find('css', 'form.scenario-builder');
$el = $registerForm->findAll('css', 'li.tagit-new input.ui-widget-content');
$el[1]->setValue('@readonly ');
}
/**
* @hidden
*
* @Given /^I fill in sectionTwoTag$/
*/
public function iFillInSectiontwotag()
{
$registerForm = $this->getSession()->getPage()->find('css', 'form.scenario-builder');
$el = $registerForm->findAll('css', 'li.tagit-new input.ui-widget-content');
$el[2]->setValue('@anonymous ');
}
/**
* Some pages have duplicate Submit buttons IDs so pass a number e.g 1 or 2 to try different elements
*
* @Given /^I click the submit button number "([^"]*)"$/
*/
public function IClickTheSubmitButtonNumber($arg1)
{
$arg1 = $this->useSelector($arg1);
$arg = $arg1 - 1; //most users do not start at 0
$submit = $this->getSession()->getPage()->findAll('css', 'input#edit-submit');
//click $submit[$arg1]
$submit[$arg]->press();
}
/**
* @hidden
*
* @Given /^I get first test name$/
*/
public function iGetFirstTestName()
{
$this->getSession()->visit($this->locatePath('/admin/behat/index'));
$table = $this->getSession()->getPage()->find('css', 'table#admin-features');
$el = $table->findAll('css', 'a');
$link = $el[0]->getAttribute('href');
$this->firstTestUrl = $link;
}
/**
* @hidden
*
* @Given /^I click run button$/
*/
public function iClickRunButton()
{
if(!$this->getSession()->getPage()->find('css', "#edit-run-test.hidden")) {
$this->getSession()->getPage()->find('css', "#edit-run-test")->click();
} else {
$this->getSession()->getPage()->find('css', "#edit-saucelabs-run")->click();
}
}
/**
* @hidden
*
* @Given /^I view first test$/
*/
public function iViewFirstTest()
{
$this->visit($this->firstTestUrl);
}
/**
* @hidden
*
* @Then /^I switch to popup by clicking "([^"]*)" and clicking alert$/
*/
public function iSwitchToPopupByClickingAndClickingAlert($arg1) {
$arg1 = $this->useSelector($arg1);
$originalWindowName = $this->getSession()->getWindowName(); //Get the original name
$this->setMainWindow();
$this->getSession()->getPage()->clickLink("$arg1");
$this->iClickOnTheAlertWindow();
$popupName = $this->getNewPopup($originalWindowName);
//Switch to the popup Window
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*
* @Then /^I switch to popup by clicking "([^"]*)"$/
*/
public function iSwitchToPopupByClicking($arg1) {
$arg1 = $this->useSelector($arg1);
$this->setMainWindow();
$this->getSession()->getPage()->clickLink("$arg1"); //Pressing the withdraw button
$popupName = $this->getNewPopup($this->originalWindowName);
//Switch to the popup Window
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*/
protected function setMainWindow() {
$originalWindowName = $this->getSession()->getWindowName();
if (empty($this->originalWindowName)) {
$this->originalWindowName = $originalWindowName;
}
}
/**
* @hidden
*
* @Then /^I switch to popup by pressing "([^"]*)"$/
*/
public function iSwitchToPopupByPressing($arg1) {
$arg1 = $this->useSelector($arg1);
$originalWindowName = $this->getSession()->getWindowName(); //Get the original name
if (empty($this->originalWindowName)) {
$this->originalWindowName = $originalWindowName;
}
$this->getSession()->getPage()->pressButton("$arg1"); //Pressing the withdraw button
$popupName = $this->getNewPopup($originalWindowName);
//Switch to the popup Window
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*
* @Given /^I switch to popup by pressing the xpath "([^"]*)"$/
*/
public function iSwitchToPopupByPressingTheXpath($arg1)
{
$arg1 = $this->useSelector($arg1);
$this->GetOriginalWindowName();
$originalWindowName = $this->originalWindowName;
if($this->getSession()->getPage()->find('xpath', $arg1)) {
$button = $this->getSession()->getPage()->find('xpath', $arg1);
$button->press();
} else {
throw new Exception('Element not found');
}
$popupName = $this->getNewPopup($originalWindowName);
//Switch to the popup Window
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*/
protected function GetOriginalWindowName()
{
$originalWindowName = $this->getSession()->getWindowName(); //Get the original name
if (empty($this->originalWindowName)) {
$this->originalWindowName = $originalWindowName;
}
}
/**
* @hidden
*
* @Then /^I switch to popup by clicking link "([^"]*)"$/
*/
public function iSwitchToPopupByClickingLink($arg1) {
$arg1 = $this->useSelector($arg1);
$originalWindowName = $this->getSession()->getWindowName(); //Get the original name
if (empty($this->originalWindowName)) {
$this->originalWindowName = $originalWindowName;
}
$this->getSession()->getPage()->clickLink($arg1); //Pressing the withdraw button
$popupName = $this->getNewPopup($originalWindowName);
//Switch to the popup Window
$this->getSession()->switchToWindow($popupName);
}
/**
* Look for a cookie
*
* @Then /^I should see cookie "([^"]*)"$/
*/
public function iShouldSeeCookie($cookie_name) {
$cookie_name = $this->useSelector($cookie_name);
if($this->getSession()->getCookie('welcome_info_name') == $cookie_name) {
return TRUE;
} else {
throw new Exception('Cookie not found');
}
}
/**
* @Then /^I set cookie "([^"]*)" with value "([^"]*)"$/
*/
public function iSetCookieWithValue($cookie_name, $value) {
$this->getSession()->setCookie($cookie_name, $value);
}
/**
* @Then /^I should not see cookie "([^"]*)"$/
*/
public function iShouldNotSeeCookie($cookie_name) {
if($this->getSession()->getCookie('welcome_info_name') == $cookie_name) {
throw new Exception('Cookie not found');
}
}
/**
* @hidden
*
* @Then /^I wait for home page$/
*/
public function iWaitForHomePage()
{
$this->getSession()->switchToWindow($this->originalWindowName);
$this->getSession()->wait(3000,
"jQuery('a.logout-link').text() == 'Log out'"
);
}
/**
* See and press logout
*
* @Then /^I see and press log out$/
*/
public function iSeeAndPressLogOut()
{
$this->getSession()->switchToWindow($this->originalWindowName);
$log_out = $this->getSession()->getPage()->find('css', 'a.logout-link')->getAttribute('href');
$this->visit($log_out);
}
/**
* Allows you to switch back to a window after switching to a popup
*
* @Then /^I switch back to original window$/
*/
public function iSwitchBackToOriginalWindow() {
//Switch to the original window
$this->getSession()->switchToWindow($this->originalWindowName);
}
/**
* @hidden we have the url match now
*
* @Then /^I wait till I see if page is redirected from "([^"]*)" to "([^"]*)"$/
*/
public function iWaitTillISeeIfPageIsRedirectedFromTo($arg1, $arg2) {
//There is a redirect after log back to /login that then goes to home
//this tries to force that visit one mrore time
$arg1 = $this->useSelector($arg1);
$arg2 = $this->useSelector($arg2);
//Relative URLS is best
if(strpos($arg1, 'http') === FALSE) {
$url = $this->getSession()->getCurrentUrl();
$arg1 = $url . $arg1;
}
$this->getSession()->visit($arg1);
if(strpos($arg2, 'http') === FALSE) {
$url = $this->getSession()->getCurrentUrl();
$arg2 = $url . $arg2;
}
if($this->getSession()->getCurrentUrl() == $arg2) {
throw new Exception('Looks like you are not at the correct URL');
}
}
/**
* Destroy cookies
*
* @Then /^I destroy my cookies$/
*/
public function iDestroyMyCookies() {
$this->getSession()->reset();
}
/**
* @hidden we have the url match now
*
* @Then /^the url should redirect to "([^"]*)"$/
*/
public function theUrlShouldRedirectTo($arg1)
{
$arg1 = $this->useSelector($arg1);
if($this->getSession()->getCurrentUrl() != $arg1) {
throw new Exception('You are not on the expected URL');
}
}
/**
* See if element is visible
*
* @Then /^element "([^"]*)" is visible$/
*/
public function elementIsVisible($arg) {
$arg = $this->useSelector($arg);
$el = $this->getSession()->getPage()->find('css', $arg);
if($el) {
if(!$el->isVisible()){
throw new Exception('Element is not visible');
}
} else {
throw new Exception('Element not found');
}
}
/**
* See if element is not visible
*
* @Then /^element "([^"]*)" is not visible$/
*/
public function elementIsNotVisible($arg) {
$arg = $this->useSelector($arg);
$el = $this->getSession()->getPage()->find('css', $arg);
if($el) {
if($el->isVisible()){
throw new Exception('Element is visible');
}
} else {
throw new Exception('Element not found');
}
}
/**
* This will cause a 3 second delay
*
* @Given /^I wait$/
*/
public function iWait() {
sleep(3);
}
/**
* @hidden
*
* @Given /^I wait switch to iframe named "([^"]*)"$/
*/
public function iSwitchToIframeNamed($arg1) {
$arg1 = $this->useSelector($arg1);
$this->getSession()->switchToIFrame($arg1);
}
/**
* Set a waiting time in seconds
*
* @Given /^I wait for "([^"]*)" seconds$/
*/
public function iWaitForSeconds($arg1) {
$arg1 = $this->useSelector($arg1);
sleep($arg1);
}
/**
* @hidden
*
* @Given /^I switch to previous window$/
*/
public function iSwitchPreviousToWindow()
{
$this->getSession()->switchToWindow();
}
/**
* @hidden
*
* @Given /^I click the submit button with value "([^"]*)"$/
*/
public function iClickTheSubmitButtonWithValue($arg1)
{
$arg1 = $this->useSelector($arg1);
$this->getSession()->getPage()->find('xpath', '//input[@value="' . $arg1 . '"]')->click();
}
/**
* Click an element with an onlick handler
*
* @Given /^I click on element which has onclick handler located at "([^"]*)"$/
*/
public function iClickOnElementWhichHasOnclickHandlerLocatedAt($item)
{
$item = $this->useSelector($item);
$node = $this->getSession()->getPage()->find('css', $item);
if($node) {
$this->getSession()->wait(3000,
"jQuery('{$item}').trigger('click')"
);
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @Given /^I switch to element located at "([^"]*)" and press enter key$/
*/
public function iSwitchToElementLocatedAtAndPressEnterKey($item)
{
$item = $this->useSelector($item);
$node = $this->getSession()->getPage()->findAll('css', $item);
if($node) {
$node->focus();
$node->keyUp('enter');
} else {
throw new Exception('Element not found');
}
}
/**
* Some forms do not have a Submit button just pass the ID of the FOrm
*
* @Given /^I submit the form with id "([^"]*)"$/
*/
public function iSubmitTheFormWithId($arg)
{
$arg = $this->useSelector($arg);
$node = $this->getSession()->getPage()->find('css', $arg);
if($node) {
$this->getSession()->executeScript("jQuery('$arg').submit();");
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* This gets the window name of the new popup.
*/
private function getNewPopup($originalWindowName = NULL) {
$originalWindowName = $this->useSelector($originalWindowName);
//Get all of the window names first
$names = $this->getSession()->getWindowNames();
//Now it should be the last window name
$last = array_pop($names);
if (!empty($originalWindowName)) {
while ($last == $originalWindowName && !empty($names)) {
$last = array_pop($names);
}
}
return $last;
}
/**
* Sets an iFrame ID to no_name_iframe if there is no ID so you can then add a Switch to iFrame step after it using the na_name_iframe ID. You must use an ID but do not pass the #
*
* @Given /^I set the iframe located in element with an id of "([^"]*)"$/
*/
public function iSetTheIframeLocatedInElementWithAnIdOf($element_id) {
$element_id = $this->useSelector($element_id);
$check = 1; //@todo need to check using js if exists
if($check <= 0) {
throw new \Exception('Element not found');
} else {
$javascript = <<<JS
(function(){
var elem = document.getElementById('$element_id');
var iframes = elem.getElementsByTagName('iframe');
var f = iframes[0];
f.id = "no_name_iframe";
})()
JS;
$this->getSession()->executeScript($javascript);
}
}
/**
* And I switch to iframe with name "name here"
*
* @Given /^I switch to iframe with name "([^"]*)"$/
*/
public function iSwitchToiFrameWithName($name) {
$name = $this->useSelector($name);
$this->getSession()->switchToIFrame($name);
}
/**
* @hidden
*
* @When /^I press the xpath "([^"]*)"$/
*/
public function iPressTheXpath($arg)
{
$arg = $this->useSelector($arg);
$node = $this->getSession()->getPage()->find('xpath', $arg);
if($node) {
$this->getSession()->getPage()->find('xpath', $arg)->press();
} else {
throw new Exception('Element not found');
}
}
/**
* Check that there are more than or = to a number of elements on a page
*
* @Then /^I should see more "([^"]*)" or more "([^"]*)" elements$/
*/
public function iShouldSeeMoreOrMoreElements($num, $element)
{
$container = $this->getSession()->getPage();
$nodes = $container->findAll('css', $element);
if (intval($num) > count($nodes)) {
$message = sprintf('Number of elements not found on page');
throw new ExpectationException($message, $this->session);
}
}
/**
* @hidden
*
* @When /^I press the xpath "([^"]*)" and switch to popup$/
*/
public function iPressTheXpathAndSwitchToPopup($arg)
{
$arg = $this->useSelector($arg);
$this->setMainWindow();
$this->iPressTheXpath($arg);
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*
* @When /^I click the xpath "([^"]*)"$/
*/
public function iClickTheXpath($arg)
{
$arg = $this->useSelector($arg);
$node = $this->getSession()->getPage()->find('xpath', $arg);
if($node) {
$this->getSession()->getPage()->find('xpath', $arg)->click();
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @When /^I click the xpath "([^"]*)" click on the alert and switch to popup$/
*/
public function iClickTheXpathClickOnTheAlertAndSwitchToPopup($arg)
{
$arg = $this->useSelector($arg);
$this->setMainWindow();
$this->iClickTheXpath($arg);
$this->iClickOnTheAlertWindow();
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*
* @When /^I click the xpath "([^"]*)" and switch to popup$/
*/
public function iClickTheXpathAndSwitchToPopup($arg)
{
$arg = $this->useSelector($arg);
$this->setMainWindow();
$this->iClickTheXpath($arg);
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*
* @When /^I follow the xpath "([^"]*)"$/
*/
public function iFollowTheXpath($arg)
{
$arg = $this->useSelector($arg);
$node = $this->getSession()->getPage()->find('xpath', $arg);
if($node) {
$this->getSession()->getPage()->find('xpath', $arg)->click();
} else {
throw new Exception('Element not found');
}
}
/**
*
* @Given /^I do basic auth "([^"]*)" "([^"]*)"$/
* @Given /^I do basic auth$/
* @Given /^I do basic auth on behat$/
*/
public function iDoBasicAuth($username = false, $password = false)
{
if($username == false)
{
if(!isset($this->parameters['basic_auth_username']) || !isset($this->parameters['basic_auth_username']))
{
throw new Exception("You need to set the basic_auth_username in behat.yml under parameters or pass it in here");
}
$username = $this->userName;
$password = $this->passWord;
}
$this->getSession()->setBasicAuth($username, $password);
$this->client->setDefaultOption('auth', [$username, $password]);
}
/**
* @hidden
*
* @When /^I follow the xpath "([^"]*)" and switch to popup$/
*/
public function iFollowTheXpathAndSwitchToPopup($arg)
{
$arg = $this->useSelector($arg);
$this->setMainWindow();
$this->iFollowTheXpath($arg);
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* @Given /^I mock "([^"]*)" with id "([^"]*)"$/
*/
public function iMockWithId($model, $id) {
if(!$model::find($id))
Factory::create($model, ['id' => $id]);
}
/**
* @hidden
*
* @When /^I press the element "([^"]*)"$/
*/
public function iPressTheElement($arg)
{
$arg = $this->useSelector($arg);
$node = $this->getSession()->getPage()->find('css', $arg);
if($node) {
$this->getSession()->getPage()->find('css', $arg)->press();
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @When /^I press the element "([^"]*)" and switch to popup$/
*/
public function iPressTheElementAndSwitchToPopup($arg)
{
$arg = $this->useSelector($arg);
$this->setMainWindow();
$this->iPressTheElement($arg);
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* @Given /^I select Mock Site from select list$/
*/
public function iSelectMockSiteFromSelectList() {
$node = $this->getSession()->getPage()->find('xpath', "//*[@id='site-id']/div[1]");
if($node) {
$node->click();
$this->getSession()->wait(2000);
$this->getSession()->getPage()->find('xpath', "//*[@id='site-id']/div[2]/div/div/div[3]/div/span")->click();
} else {
throw new Exception('Element not found');
}
}
/**
* @Given /^I select Mock Team from select list$/
*/
public function iSelectMockTeamFromSelectList() {
$node = $this->getSession()->getPage()->find('xpath', "//*[@id='team-id']/div[1]/input");
if($node) {
$node->click();
$this->getSession()->wait(2000);
$this->getSession()->getPage()->find('xpath', "//*[@id='team-id']/div[2]/div/div/div[3]/div")->click();
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @When /^I click the element "([^"]*)"$/
*/
public function iClickTheElement($arg)
{
$arg = $this->useSelector($arg);
$node = $this->getSession()->getPage()->find('css', $arg);
if($node) {
$this->getSession()->getPage()->find('css', $arg)->click();
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @When /^I click the element "([^"]*)" and switch to popup$/
*/
public function iClickTheElementAndSwitchToPopup($arg)
{
$arg = $this->useSelector($arg);
$this->setMainWindow();
$this->iClickTheElement($arg);
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* @hidden
*
* @When /^I follow the element "([^"]*)"$/
*/
public function iFollowTheElement($arg)
{
$arg = $this->useSelector($arg);
$node = $this->getSession()->getPage()->find('css', $arg);
if($node) {
$this->getSession()->getPage()->find('css', $arg)->click();
} else {
throw new Exception('Element not found');
}
}
/**
* @hidden
*
* @When /^I follow the element "([^"]*)" and switch to popup$/
*/
public function iFollowTheElementAndSwitchToPopup($arg)
{
$arg = $this->useSelector($arg);
$this->setMainWindow();
$this->iFollowTheElement($arg);
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* Switch to a New Windows
*
* @When /^I switch to popup$/
*/
public function iSwitchToPopup()
{
$this->setMainWindow();
$popupName = $this->getNewPopup($this->originalWindowName);
$this->getSession()->switchToWindow($popupName);
}
/**
* Use the full css tag eg #form .class etc
*
* @Then /^I wait for the element "([^"]*)" to appear$/
* @Then /^I wait for element "([^"]*)" to appear$/
*/
public function iWaitForElementToAppear($arg1)
{
$arg1 = $this->useSelector($arg1);
$this->getSession()->wait(20000,
"$('" + $arg1 + "').length > 0"
);
}
/**
* Use the full css tag eg #form .class etc
*
* @Then /^I wait for the element "([^"]*)" to not be there$/
*/
public function iWaitForElementToNotBeThere($arg1)
{
$arg1 = $this->useSelector($arg1);
$this->getSession()->wait(20000,
"$('" + $arg1 + "').length < 1"
);
}
/**
* @hidden This will set authentication in a token
*
* @Then /^I set basic auth to username "([^"]*)" and password "([^"]*)"$/
*/
public function iSetBasicAuthToUsernameAndPassword($username, $password)
{
$username = $this->useSelector($username);
$password = $this->useSelector($password);
$this->getSession()->setBasicAuth($username, $password);
}
/**
*
* @Given /^I scroll to top of page$/
*/
public function iScrollToTopOfPage() {
$function = <<<JS
(function(){
window.scrollTo(0,0);
})()
JS;
try {
$this->getSession()->executeScript($function);
}
catch(Exception $e) {
throw new \Exception("ScrollIntoView failed");
}
}
/**
* Y would be the way to go up and down the page. A good default for X is 0
*
* @Given /^I scroll to x "([^"]*)" y "([^"]*)" coordinates of page$/
*/
public function iScrollToXYCoordinatesOfPage($arg1, $arg2) {
$function = <<<JS
(function(){
window.scrollTo($arg1, $arg2);
})()
JS;
try {
$this->getSession()->executeScript($function);
}
catch(Exception $e) {
throw new \Exception("ScrollIntoView failed");
}
}
/** end from orig file */
/**
* @Given /^there are (\d+) rows of "([^"]*)"$/
*/
public function thereAreRowsOf($arg1, $arg2)
{
$count = $arg2::all()->count();
if($count != $arg1) {
throw new Exception(
"Actual count is:\n" . $count
);
}
}
/**
* @Given /^I reseed the database$/
*/
public function iReseedTheDatabase()
{
$env = getenv('APP_ENV');
if(getenv('APP_ENV') != 'production')
{
try
{
if(getenv('APP_ENV') == 'testing')
{
copy(__DIR__ . '/../../../../app/database/stubdb.sqlite', __DIR__ . '/../../../../app/database/testing.sqlite');
}
else
{
exec("php artisan migrate:refresh --seed -n --env=$env");
}
}
catch(\Exception $e)
{
throw new \Exception(sprintf("Error seeding the database %s", $e->getMessage()));
}
} else {
throw new \Exception(sprintf("You can not seed production"));
}
}
/**
* @Given /^I am in a directory "([^"]*)"$/
*/
public function iAmInADirectory($dir)
{
if (!file_exists($dir)) {
mkdir($dir);
}
chdir($dir);
}
/**
* @Given /^I have a file named "([^"]*)"$/
*/
public function iHaveAFileNamed($arg1)
{
touch($arg1);
}
/**
* @When /^I run "([^"]*)"$/
*/
public function iRun($command)
{
exec($command, $output);
$this->output = trim(implode("\n", $output));
}
/**
* @Then /^I should get:$/
*/
public function iShouldGet(PyStringNode $string)
{
if ((string) $string !== $this->output) {
throw new Exception(
"Actual output is:\n" . $this->output
);
}
}
/**
* @Given /^I reset the session$/
*/
public function iResetTheSession() {
$this->getSession()->reset();
}
/**
* @Then /^I fill in wysiwyg on field "([^"]*)" with "([^"]*)"$/
*/
public function iFillInWysiwygOnFieldWith($arg, $arg2)
{
$js = <<<HEREDOC
jQuery("textarea[name='$arg']").css('visibility', 'visible');
jQuery("textarea[name='$arg']").show();
HEREDOC;
$this->getSession()->executeScript($js);
$this->fillField($arg, $arg2);
}
/**
* @Then /^I log in as demo$/
*/
public function iLogInAsDemo()
{
$this->fillField('email', $this->userNameDemo);
$this->fillField('password', $this->passWordDemo);
$this->getSession()->getPage()->find('css', '#login-submit')->press();
}
/**
* @Then /^I log in$/
*/
public function iLogIn()
{
$this->fillField('email', $this->userName);
$this->fillField('password', $this->passWord);
$this->getSession()->getPage()->find('css', '#login-submit')->press();
}
/**
* @Then /^I log in to SST$/
*/
public function iLogInToSST()
{
$this->fillField('email', $this->userNameSST);
$this->fillField('password', $this->passWordSST);
$this->getSession()->getPage()->find('css', '#login-submit')->press();
}
/**
* @Given /^the "([^"]*)" property has the value "([^"]*)"$/
*/
public function thePropertyHasTheValue($arg1, $arg2)
{
$request = $this->getScopePayload();
if($request->data->$arg1 != $arg2)
{
throw new \Exception(
"Fields $arg1 does not equal $arg2 but instead equals {$request->data->$arg1}");
}
}
/**
* @Given /^I have the payload:$/
*/
public function iHaveThePayload(PyStringNode $requestPayload)
{
$this->requestPayload = $requestPayload;
}
/**
* @When /^I request "(GET|PUT|POST|DELETE) ([^"]*)"$/
*/
public function iRequest($httpMethod, $resource)
{
$this->resource = $resource;
$method = strtolower($httpMethod);
try {
switch ($httpMethod) {
case 'PUT':
$payload = \GuzzleHttp\json_decode($this->requestPayload, true);
$this->response = $this
->client
->$method($resource, array('json' => $payload, 'verify' => false));
break;
case 'DELETE':
$payload = \GuzzleHttp\json_decode($this->requestPayload, true);
$this->response = $this
->client
->$method($resource, array('json' => $payload, 'verify' => false));
break;
case 'POST':
$post = \GuzzleHttp\json_decode($this->requestPayload, true);
$this->response = $this
->client
->$method($resource, array('body' => $post, 'verify' => false));
break;
default:
$this->response = $this
->client
->$method($resource, ['verify' => false]);
}
} catch (BadResponseException $e) {
$response = $e->getResponse();
// Sometimes the request will fail, at which point we have
// no response at all. Let Guzzle give an error here, it's
// pretty self-explanatory.
if ($response === null) {
throw $e;
}
$this->response = $e->getResponse();
}
}
/**
* @Given /^I convert results data to an array$/
*/
public function iConvertResultsDataToAnArray()
{
$results = $this->getResponsePayload();
$this->scope_array = (array) $results->data;
}
/**
* @Given /^scope_array has key "([^"]*)"$/
*/
public function scopeArrayHasKey($arg1)
{
if(!isset($this->scope_array[$arg1]))
{
throw new \Exception(sprintf("Key not found %s", $arg1));
}
}
/**
* @TODO super ugly
* @Given /^scope_array child object "([^"]*)" exists in "([^"]*)"$/
*/
public function scropeArrayChildObjectExistsIn($arg1, $arg2)
{
if(!isset($this->scope_array[$arg2]))
{
throw new \Exception(sprintf("Parent %s not found or does not contain value %s", $arg1, $arg2));
}
if(!$this->scope_array[$arg2][0]->$arg1)
{
throw new \Exception(sprintf("Child %s not found or does not contain value %s", $arg1, $arg2));
}
}
/**
* @Given /^scope_array key "([^"]*)" contains "([^"]*)"$/
*/
public function scopeArrayKeyContains($arg1, $arg2)
{
if(!isset($this->scope_array[$arg1]) && assertContains($arg2, $this->scope_array[$arg1]))
{
throw new \Exception(sprintf("Key %s not found or does not contain value %s", $arg1, $arg2));
}
}
/**
* @Given /^scope_array key "([^"]*)" count is (\d+) items$/
*/
public function scopeArrayKeyCountIsItems($arg1, $arg2)
{
if(!isset($this->scope_array[$arg1]))
{
throw new \Exception(sprintf("Key %s not found or does not contain value %s", $arg1, $arg2));
}
if(assertCount($arg2, $this->scope_array[$arg1]))
{
throw new \Exception(sprintf("The count %d was not as expected but was", $arg2, count($this->scope_array[$arg1])));
}
}
/**
* @Given /^scope key "([^"]*)" is not empty$/
*/
public function scopeKeyIsNotEmpty($arg1)
{
if(empty($this->scope_array[$arg1]))
{
throw new \Exception(sprintf("Key not found %s", $arg1));
}
}
/**
* @Then /^I get a "([^"]*)" response$/
*/
public function iGetAResponse($statusCode)
{
$response = $this->getResponse();
$contentType = $response->getHeader('Content-Type');
if ($contentType === 'application/json') {
$bodyOutput = $response->getBody();
} else {
$bodyOutput = 'Output is '.$contentType.', which is not JSON and is therefore scary. Run the request manually.';
}
assertSame((int) $statusCode, (int) $this->getResponse()->getStatusCode(), $bodyOutput);
}
/**
* @Given /^the "([^"]*)" property equals "([^"]*)"$/
*/
public function thePropertyEquals($property, $expectedValue)
{
$payload = $this->getScopePayload();
$actualValue = $this->arrayGet($payload, $property);
assertEquals(
$actualValue,
$expectedValue,
"Asserting the [$property] property in current scope equals [$expectedValue]: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property contains "([^"]*)"$/
*/
public function thePropertyContains($property, $expectedValue)
{
$payload = $this->getScopePayload();
$actualValue = $this->arrayGet($payload, $property);
assertContains(
$actualValue,
$expectedValue,
"Asserting the [$property] property in current scope contains [$expectedValue]: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property exists$/
*/
public function thePropertyExists($property)
{
$payload = $this->getScopePayload();
$message = sprintf(
'Asserting the [%s] property exists in the scope [%s]: %s',
$property,
$this->scope,
json_encode($payload)
);
if (is_object($payload)) {
assertTrue(array_key_exists($property, get_object_vars($payload)), $message);
} else {
if($payload == null)
throw new \Exception(sprintf("Scope returned null might be due to no results for that scope %s", $this->scope));
assertTrue(array_key_exists($property, $payload), $message);
}
}
/**
* @Given /^the "([^"]*)" property is an array$/
*/
public function thePropertyIsAnArray($property)
{
$payload = $this->getScopePayload();
$actualValue = $this->arrayGet($payload, $property);
assertTrue(
is_array($actualValue),
"Asserting the [$property] property in current scope [{$this->scope}] is an array: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property is an object$/
*/
public function thePropertyIsAnObject($property)
{
$payload = $this->getScopePayload();
$actualValue = $this->arrayGet($payload, $property);
assertTrue(
is_object($actualValue),
"Asserting the [$property] property in current scope [{$this->scope}] is an object: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property is an empty array$/
*/
public function thePropertyIsAnEmptyArray($property)
{
$payload = $this->getScopePayload();
$scopePayload = $this->arrayGet($payload, $property);
assertTrue(
is_array($scopePayload) and $scopePayload === [],
"Asserting the [$property] property in current scope [{$this->scope}] is an empty array: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property contains (\d+) items$/
*/
public function thePropertyContainsItems($property, $count)
{
$payload = $this->getScopePayload();
assertCount(
$count,
$this->arrayGet($payload, $property),
"Asserting the [$property] property contains [$count] items: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property is an integer$/
*/
public function thePropertyIsAnInteger($property)
{
$payload = $this->getScopePayload();
isType(
'int',
$this->arrayGet($payload, $property),
"Asserting the [$property] property in current scope [{$this->scope}] is an integer: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property is a string$/
*/
public function thePropertyIsAString($property)
{
$payload = $this->getScopePayload();
isType(
'string',
$this->arrayGet($payload, $property),
"Asserting the [$property] property in current scope [{$this->scope}] is a string: ".json_encode($payload)
);
}
/**
* @Given /^the "([^"]*)" property is a string equalling "([^"]*)"$/
*/
public function thePropertyIsAStringEqualling($property, $expectedValue)
{
$payload = $this->getScopePayload();
$this->thePropertyIsAString($property);
$actualValue = $this->arrayGet($payload, $property);
assertSame(
$actualValue,
$expectedValue,
"Asserting the [$property] property in current scope [{$this->scope}] is a string equalling [$expectedValue]."
);
}
/**
* @Given /^the "([^"]*)" property is a boolean$/
*/
public function thePropertyIsABoolean($property)
{
$payload = $this->getScopePayload();
assertTrue(
gettype($this->arrayGet($payload, $property)) == 'boolean',
"Asserting the [$property] property in current scope [{$this->scope}] is a boolean."
);
}
/**
* @Given /^the "([^"]*)" property is a boolean equalling "([^"]*)"$/
*/
public function thePropertyIsABooleanEqualling($property, $expectedValue)
{
$payload = $this->getScopePayload();
$actualValue = $this->arrayGet($payload, $property);
if (! in_array($expectedValue, ['true', 'false'])) {
throw new \InvalidArgumentException("Testing for booleans must be represented by [true] or [false].");
}
$this->thePropertyIsABoolean($property);
assertSame(
$actualValue,
$expectedValue == 'true',
"Asserting the [$property] property in current scope [{$this->scope}] is a boolean equalling [$expectedValue]."
);
}
/**
* @Given /^the "([^"]*)" property is a integer equalling "([^"]*)"$/
*/
public function thePropertyIsAIntegerEqualling($property, $expectedValue)
{
$payload = $this->getScopePayload();
$actualValue = $this->arrayGet($payload, $property);
$this->thePropertyIsAnInteger($property);
assertSame(
$actualValue,
(int) $expectedValue,
"Asserting the [$property] property in current scope [{$this->scope}] is an integer equalling [$expectedValue]."
);
}
/**
* @Given /^the "([^"]*)" property is either:$/
*/
public function thePropertyIsEither($property, PyStringNode $options)
{
$payload = $this->getScopePayload();
$actualValue = $this->arrayGet($payload, $property);
$valid = explode("\n", (string) $options);
assertTrue(
in_array($actualValue, $valid),
sprintf(
"Asserting the [%s] property in current scope [{$this->scope}] is in array of valid options [%s].",
$property,
implode(', ', $valid)
)
);
}
/**
* @Given /^scope into the first "([^"]*)" property$/
*/
public function scopeIntoTheFirstProperty($scope)
{
$this->scope = "{$scope}.0";
}
/**
* @Given /^scope into the "([^"]*)" property$/
*/
public function scopeIntoTheProperty($scope)
{
$this->scope = $scope;
}
/**
* @Given /^the properties exist:$/
*/
public function thePropertiesExist(PyStringNode $propertiesString)
{
foreach (explode("\n", (string) $propertiesString) as $property) {
$this->thePropertyExists($property);
}
}
/**
* @Given /^reset scope$/
*/
public function resetScope()
{
$this->scope = null;
}
/**
* @Transform /^(\d+)$/
*/
public function castStringToNumber($string)
{
return intval($string);
}
/**
* Checks the response exists and returns it.
*
* @return Guzzle\Http\Message\Response
*/
protected function getResponse()
{
if (! $this->response) {
throw new Exception("You must first make a request to check a response.");
}
return $this->response;
}
/**
* @Given /^reports all has (\d+) items/
*/
public function reportsAllHasItems($arg)
{
$results = $this->getResponsePayload();
assertCount($arg, $results->data->reports_all, "Asserting the results have a count of [$arg].");
}
/**
* @Given /^data component "([^"]*)" has (\d+) items/
*/
public function dataComponentHasItems($component, $count)
{
$results = $this->getResponsePayload();
assertCount($count, $results->data->$component);
}
/**
* @Then /^the data component should return:$/
*/
public function theDataComponentShouldReturn(PyStringNode $string)
{
$results = $this->getResponsePayload();
assertContains((string) $string, $results->data);
}
/**
* @Given /^data component "([^"]*)" is "([^"]*)"/
*/
public function dataComponentEquals($component, $value)
{
$results = $this->getResponsePayload();
assertEquals($value, $results->data->$component);
}
/**
* @Given /^data results contains:$/
*/
public function dataContains(PyStringNode $value)
{
$results = $this->getResponsePayload();
assertContains((string) $value, $results->data);
}
/**
* @Given /^message results contains:$/
*/
public function messageContains(PyStringNode $value)
{
$results = $this->getResponsePayload();
assertContains((string) $value, $results->message);
}
/**
* @Given /^data component "([^"]*)" value has an ID of "([^"]*)"/
*/
public function dataComponentValueHasAnIdOf($component, $id)
{
$results = $this->getResponsePayload();
assertEquals($id, $results->data->$component->id);
}
/**
* @Given /^data is not null$/
*/
public function dataNotNull()
{
$results = $this->getResponsePayload();
assertNotNull($results->data);
}
/**
* @Given /^data has (\d+) items/
*/
public function dataHasItems($arg)
{
$results = $this->getResponsePayload();
assertCount($arg, $results->data);
}
/**
* @Given /^data has more than (\d+) items/
*/
public function dataHasMoreThanItems($arg)
{
$results = $this->getResponsePayload();
assertGreaterThanOrEqual($arg, $results->data);
}
/**
* @Given /^data is string and contains "([^"]*)"$/
*/
public function dataIsStringAndContains($arg)
{
$results = $this->getResponsePayload();
assertContains($arg, $results->data, sprintf("String %s Not found in results", $arg));
}
/**
* @Given /^jobs has (\d+) items/
*/
public function jobsHasItems($arg)
{
$results = $this->getResponsePayload();
assertCount($arg, $results->data->jobs);
}
/**
* @Given /^the "([^"]*)" property count is (\d+)$/
*/
public function thePropertyCountIs($arg1, $arg2)
{
$results = $this->getResponsePayload();
$countable = (array) $results->data->$arg1;
assertCount($arg2, $countable);
}
/**
* @Given /^the "([^"]*)" property is not empty$/
*/
public function thePropertyIsNotEmpty($arg)
{
$results = $this->getResponsePayload();
assertNotEmpty($results->data->$arg);
}
/**
* Return the response payload from the current response.
*
* @throws Exception
* @return mixed
*/
protected function getResponsePayload()
{
if (! $this->responsePayload) {
$json = json_decode($this->getResponse()->getBody(true));
if (json_last_error() !== JSON_ERROR_NONE) {
$message = 'Failed to decode JSON body ';
switch (json_last_error()) {
case JSON_ERROR_DEPTH:
$message .= '(Maximum stack depth exceeded).';
break;
case JSON_ERROR_STATE_MISMATCH:
$message .= '(Underflow or the modes mismatch).';
break;
case JSON_ERROR_CTRL_CHAR:
$message .= '(Unexpected control character found).';
break;
case JSON_ERROR_SYNTAX:
$message .= '(Syntax error, malformed JSON).';
break;
case JSON_ERROR_UTF8:
$message .= '(Malformed UTF-8 characters, possibly incorrectly encoded).';
break;
default:
$message .= '(Unknown error).';
break;
}
throw new Exception($message);
}
$this->responsePayload = $json;
}
return $this->responsePayload;
}
/**
* Returns the payload from the current scope within
* the response.
*
* @return mixed
*/
protected function getScopePayload()
{
$payload = $this->getResponsePayload();
if (! $this->scope) {
return $payload;
}
return $this->arrayGet($payload, $this->scope);
}
/**
* @Given /^parent results of batch is (\d+)$/
*/
public function parentResultsOfBatchIs($arg)
{
assertCount($arg, $this->scope_array['batch_parent_requests'][0]->batch_child_requests);
}
/**
* @Given /^I delete file with name "([^"]*)"$/
*/
public function iDeleteFileWithName($arg1)
{
try
{
$this->githubservice
->setReponame($this->gitDTO->repo_name)
->setAccountName($this->gitDTO->account_name)
->setBranch($this->gitDTO->branch);
$this->gitDTO->path_filename= 'tests/behat/' . $arg1;
$this->gitDTO->message= 'Deleting Test';
$this->gitDTO->content= 'This is a test';
$this->gitDTO->sha = $this->githubservice->getCurrentSha($this->gitDTO->path_filename);
$path_filename = $this->gitDTO->path_filename;
$message = $this->gitDTO->message;
$sha = $this->gitDTO->sha;
$results = $this->githubservice->delete($path_filename, $message, $sha);
return $results;
}
catch(Github\Exception\RuntimeException $e)
{
}
catch(\Exception $e)
{
//file not there
}
}
/**
* @Given /^I create a file with the name "([^"]*)"$/
*/
public function iCreateAFileWithTheName($arg1)
{
try
{
$this->githubservice
->setReponame($this->gitDTO->repo_name)
->setAccountName($this->gitDTO->account_name)
->setBranch($this->gitDTO->branch);
$this->gitDTO->path_filename= 'tests/behat/' . $arg1;
$this->gitDTO->message= 'Deleting Test';
$this->gitDTO->content= 'This is a test';
$this->gitDTO->sha = $this->githubservice->getCurrentSha($this->gitDTO->path_filename);
$path_filename = $this->gitDTO->path_filename;
$message = $this->gitDTO->message;
$content = $this->gitDTO->content;
$branch = $this->gitDTO->branch;
$results = $this->githubservice->create($path_filename, $content, $message, $branch);
return $results;
}
catch(Github\Exception\RuntimeException $e)
{
}
catch(\Exception $e)
{
}
}
protected function getCurrentSha()
{
try{
$sha = $this->githubservice
->setReponame($this->gitDTO->repo_name)
->setAccountName($this->gitDTO->account_name)
->setBranch($this->gitDTO->branch)
->show($this->gitDTO->path_filename)['sha'];
return $sha;
}
catch(Github\Exception\RuntimeException $e)
{
//no file found
}
}
/**
* Get an item from an array using "dot" notation.
*
* @copyright Taylor Otwell
* @link http://laravel.com/docs/helpers
* @param array $array
* @param string $key
* @param mixed $default
* @return mixed
*/
protected function arrayGet($array, $key)
{
if (is_null($key)) {
return $array;
}
foreach (explode('.', $key) as $segment) {
if (is_object($array)) {
if (! isset($array->{$segment})) {
return;
}
$array = $array->{$segment};
} elseif (is_array($array)) {
if (! array_key_exists($segment, $array)) {
return;
}
$array = $array[$segment];
}
}
return $array;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment