diff --git a/.buildpath b/.buildpath
new file mode 100644
index 0000000..c9638ca
--- /dev/null
+++ b/.buildpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e43b0f9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.DS_Store
diff --git a/.project b/.project
new file mode 100644
index 0000000..eb0ea6a
--- /dev/null
+++ b/.project
@@ -0,0 +1,22 @@
+
+
+ chargeio-php
+
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+ org.eclipse.dltk.core.scriptbuilder
+
+
+
+
+
+ org.eclipse.php.core.PHPNature
+
+
diff --git a/.settings/org.eclipse.php.core.prefs b/.settings/org.eclipse.php.core.prefs
new file mode 100644
index 0000000..fc5b949
--- /dev/null
+++ b/.settings/org.eclipse.php.core.prefs
@@ -0,0 +1,3 @@
+#Thu Jul 03 08:47:12 CDT 2014
+eclipse.preferences.version=1
+include_path=0;/chargeio-php\u00051;/chargeio-php/thirdparty/phpunit.phar
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..929e55f
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2014- ChargeIO, LLC. (http://chargeio.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/README.md b/README.md
index 224a666..c7cc9f0 100644
--- a/README.md
+++ b/README.md
@@ -2,3 +2,40 @@ chargeio-php
============
ChargeIO PHP Client Library
+
+Installation
+-----------
+
+Download the PHP client library by doing the following:
+
+ git clone git://github.com/charge-io/chargeio-php.git
+
+To use the library in your application, add the following to your PHP script:
+
+ require_once '/path/to/chargeio-php/lib/ChargeIO.php';
+
+The library's APIs require credentials to access your merchant data on the
+ChargeIO servers. You can provide credentials as arguments to the APIs used to
+retrieve objects, or you can configure the library with default credentials to
+use when necessary. To set the default credentials, substitute your ChargeIO
+public key and test or live-mode secret key in a call to setCredentials:
+
+ ChargeIO::setCredentials(new ChargeIO_Credentials('', ''));
+
+Once your credentials are set, running a basic credit card charge looks like:
+
+ $card = new ChargeIO_Card(array('number' => '4242424242424242', 'exp_month' => 10, 'exp_year' => '2016'));
+ $charge = ChargeIO_Charge::create($card, 1200);
+
+Using the ChargeIO.js library for payment tokenization support on your payment page
+simplifies the process even more. Just configure the token callback on your page to
+POST the token ID you receive to your PHP script and then perform the charge:
+
+ $amount = $_POST['amount'];
+ $token_id = $_POST['token_id'];
+ $charge = ChargeIO_Charge::create(new ChargeIO_PaymentMethodReference(array('id' => $token_id)), $amount);
+
+Documentation
+-----------
+
+The latest ChargeIO API documentation is available at https://chargeio.com/.
diff --git a/lib/ChargeIO.php b/lib/ChargeIO.php
new file mode 100644
index 0000000..02c1f81
--- /dev/null
+++ b/lib/ChargeIO.php
@@ -0,0 +1,50 @@
+connection = $connection;
+ $this->attributes = array_merge($this->attributes, $attributes);
+ }
+
+ public function update($attributes = array()) {
+ $accountAttrs = array_merge($this->attributes, $attributes);
+ $response = $this->connection->put('/ach-accounts/' . $this->id, $accountAttrs);
+ $this->updateAttributes($response);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/ApiError.php b/lib/ChargeIO/ApiError.php
new file mode 100644
index 0000000..5f5d49b
--- /dev/null
+++ b/lib/ChargeIO/ApiError.php
@@ -0,0 +1,30 @@
+messages = array();
+ $this->errors = array();
+ $attrs = json_decode($json, true);
+ if ($attrs['messages']) {
+ foreach ($attrs['messages'] as $message) {
+ if ($message['level'] == 'error' && $message['message']) {
+ if (empty($this->errors)) {
+ $this->code = $message['code'];
+ }
+ $this->messages[] = $message;
+ $this->errors[] = $message['message'];
+ }
+ }
+ }
+
+ if (empty($this->errors)) {
+ $this->messages[] = array('code' => 'application_error', 'level' => 'error');
+ $this->errors[] = 'Unknown ChargeIO Error';
+ $this->code = 'application_error';
+ }
+
+ $this->message = $this->errors[0];
+ }
+}
diff --git a/lib/ChargeIO/AuthenticationError.php b/lib/ChargeIO/AuthenticationError.php
new file mode 100644
index 0000000..241eb7d
--- /dev/null
+++ b/lib/ChargeIO/AuthenticationError.php
@@ -0,0 +1,4 @@
+connection = $connection;
+ $this->attributes = array_merge($this->attributes, $attributes);
+ $this->attributes['type'] = 'bank';
+ }
+
+ public static function create($attributes = array()) {
+ return self::createUsingCredentials(ChargeIO::getCredentials(), $attributes);
+ }
+
+ public static function createUsingCredentials($credentials, $attributes = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+
+ $attributes['type'] = 'bank';
+ $response = $conn->post('/banks', $attributes);
+ return new ChargeIO_Bank($response, $conn);
+ }
+
+ public static function all($params = array()) {
+ return self::allUsingCredentials(ChargeIO::getCredentials(), $params);
+ }
+
+ public static function allUsingCredentials($credentials, $params = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/banks', $params);
+ return new ChargeIO_BankList($response, $conn);
+ }
+
+ public static function findById($id) {
+ return self::findByIdUsingCredentials(ChargeIO::getCredentials(), $id);
+ }
+
+ public static function findByIdUsingCredentials($credentials, $id) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/banks/' . $id);
+ return new ChargeIO_Bank($response, $conn);
+ }
+
+ public function delete() {
+ $response = $this->connection->delete('/banks/' . $this->id);
+ $this->updateAttributes($response);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/BankList.php b/lib/ChargeIO/BankList.php
new file mode 100644
index 0000000..1e06c1a
--- /dev/null
+++ b/lib/ChargeIO/BankList.php
@@ -0,0 +1,8 @@
+attributes['results'][$offset];
+ return new ChargeIO_Bank($bankAttrs, $this->connection);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Card.php b/lib/ChargeIO/Card.php
new file mode 100644
index 0000000..fcd9651
--- /dev/null
+++ b/lib/ChargeIO/Card.php
@@ -0,0 +1,47 @@
+connection = $connection;
+ $this->attributes = array_merge($this->attributes, $attributes);
+ $this->attributes['type'] = 'card';
+ }
+
+ public static function create($attributes = array()) {
+ return self::createUsingCredentials(ChargeIO::getCredentials(), $attributes);
+ }
+
+ public static function createUsingCredentials($credentials, $attributes = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+
+ $attributes['type'] = 'card';
+ $response = $conn->post('/cards', $attributes);
+ return new ChargeIO_Card($response, $conn);
+ }
+
+ public static function all($params = array()) {
+ return self::allUsingCredentials(ChargeIO::getCredentials(), $params);
+ }
+
+ public static function allUsingCredentials($credentials, $params = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/cards', $params);
+ return new ChargeIO_CardList($response, $conn);
+ }
+
+ public static function findById($id) {
+ return self::findByIdUsingCredentials(ChargeIO::getCredentials(), $id);
+ }
+
+ public static function findByIdUsingCredentials($credentials, $id) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/cards/' . $id);
+ return new ChargeIO_Card($response, $conn);
+ }
+
+ public function delete() {
+ $response = $this->connection->delete('/cards/' . $this->id);
+ $this->updateAttributes($response);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/CardList.php b/lib/ChargeIO/CardList.php
new file mode 100644
index 0000000..b100019
--- /dev/null
+++ b/lib/ChargeIO/CardList.php
@@ -0,0 +1,8 @@
+attributes['results'][$offset];
+ return new ChargeIO_Card($cardAttrs, $this->connection);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Charge.php b/lib/ChargeIO/Charge.php
new file mode 100644
index 0000000..41f2a8f
--- /dev/null
+++ b/lib/ChargeIO/Charge.php
@@ -0,0 +1,52 @@
+id;
+ }
+ else {
+ $params['method'] = $paymentMethod->attributes;
+ }
+
+ $response = $conn->post('/charges', $params);
+ return new ChargeIO_Charge($response, $conn);
+ }
+
+ public static function authorize($paymentMethod, $amount, $params = array()) {
+ return self::authorizeUsingCredentials(ChargeIO::getCredentials(), $paymentMethod, $amount, $params);
+ }
+
+ public static function authorizeUsingCredentials($credentials, $paymentMethod, $amount, $params = array()) {
+ return self::createUsingCredentials($credentials, $paymentMethod, $amount, array_merge($params, array('auto_capture' => false)));
+ }
+
+ public function refund($amount, $params = array()) {
+ $params['amount'] = $amount;
+ $response = $this->connection->post('/charges/' . $this->id . '/refund', $params);
+ return new ChargeIO_Refund($response, $this->connection);
+ }
+
+ public function capture($amount, $params = array()) {
+ $params['amount'] = $amount;
+ $response = $this->connection->post('/charges/' . $this->id . '/capture', $params);
+ $this->updateAttributes($response);
+ }
+
+ public static function allHolds($params = array()) {
+ return self::allHoldsUsingCredentials(ChargeIO::getCredentials(), $params);
+ }
+
+ public static function allHoldsUsingCredentials($credentials, $params = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/charges/holds', $params);
+ return new ChargeIO_TransactionList($response, $conn);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/ChargeIO.php b/lib/ChargeIO/ChargeIO.php
new file mode 100644
index 0000000..9f6c9ee
--- /dev/null
+++ b/lib/ChargeIO/ChargeIO.php
@@ -0,0 +1,37 @@
+credentials = $credentials;
+ }
+
+ public function get($path, $params=array()) {
+ return $this->request('GET', $path, $params);
+ }
+
+ public function post($path, $params) {
+ return $this->request('POST', $path, $params);
+ }
+
+ public function put($path, $params) {
+ return $this->request('PUT', $path, $params);
+ }
+
+ public function patch($path, $params) {
+ return $this->request('PATCH', $path, $params);
+ }
+
+ public function delete($path) {
+ return $this->request('DELETE', $path, null);
+ }
+
+ private function request($method, $path, $params) {
+ $headers = array();
+ $headers[] = 'Accept: application/json';
+
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, ChargeIO::$apiUrl . $path);
+ curl_setopt($ch, CURLOPT_USERAGENT, "ChargeIO PHP Client v" . ChargeIO::VERSION);
+ curl_setopt($ch, CURLOPT_USERPWD, $this->credentials->getSecretKey() . ':');
+ curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
+ curl_setopt($ch, CURLOPT_HEADER, 1);
+ curl_setopt($ch, CURLOPT_TIMEOUT, 300);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
+ #curl_setopt($ch, CURLOPT_CAINFO, realpath(dirname(__FILE__)."/cacert.pem"));
+
+ if (!ChargeIO::$verifySslCerts) {
+ $opts[CURLOPT_SSL_VERIFYPEER] = false;
+ }
+
+ $jsonRequest = null;
+ switch($method) {
+ case 'GET':
+ if (!empty($params)) {
+ curl_setopt($ch, CURLOPT_URL, ChargeIO::$apiUrl . $path . '?' . http_build_query($params));
+ }
+ break;
+ case 'POST':
+ $jsonRequest = json_encode($params, JSON_FORCE_OBJECT);
+ $headers[] = 'Content-Length: ' . strlen($jsonRequest);
+ $headers[] = 'Content-Type: application/json';
+ curl_setopt($ch, CURLOPT_POST, 1);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest);
+ break;
+ case 'PUT':
+ $jsonRequest = json_encode($params);
+ $headers[] = 'Content-Length: ' . strlen($jsonRequest);
+ $headers[] = 'Content-Type: application/json';
+ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest);
+ break;
+ case 'PATCH':
+ $jsonRequest = json_encode($params);
+ $headers[] = 'Content-Length: ' . strlen($jsonRequest);
+ $headers[] = 'Content-Type: application/json';
+ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest);
+ break;
+ case 'DELETE':
+ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
+ break;
+ }
+
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
+
+ if (ChargeIO::$debug) {
+ error_log("\n--------- Request ----------\n");
+ error_log("-- " . $method . ": " . ChargeIO::$apiUrl . $path . "\n");
+ error_log("-- jsonRequest: " . $jsonRequest . "\n");
+ error_log("\n-----------------------------\n");
+ }
+
+ $res = curl_exec($ch);
+ list($header, $body) = explode("\r\n\r\n", $res, 2);
+
+ if (ChargeIO::$debug) {
+ error_log("\n--------- Response ----------\n");
+ error_log($header);
+ error_log("\n");
+ error_log($body);
+ error_log("\n-----------------------------\n");
+ }
+
+ $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+ return $this->processResponse($statusCode, $body);
+ }
+
+ protected function processResponse($statusCode, $json) {
+ if ($statusCode != 200) {
+ $this->handleError($statusCode, $json);
+ }
+
+ $attributes = array();
+ if (strlen($json) > 0) {
+ $attributes = json_decode($json, true);
+ }
+
+ return $attributes;
+ }
+
+ protected function handleError($statusCode, $json) {
+ switch($statusCode) {
+ case '400':
+ case '404':
+ case '422':
+ throw new ChargeIO_InvalidRequestError($json);
+ break;
+ case '401':
+ throw new ChargeIO_AuthenticationError();
+ break;
+ }
+
+ throw new ChargeIO_ApiError($json);
+ }
+}
diff --git a/lib/ChargeIO/Credentials.php b/lib/ChargeIO/Credentials.php
new file mode 100644
index 0000000..855e632
--- /dev/null
+++ b/lib/ChargeIO/Credentials.php
@@ -0,0 +1,19 @@
+public_key = $public_key;
+ $this->secret_key = $secret_key;
+ }
+
+ public function getPublicKey() {
+ return $this->public_key;
+ }
+
+ public function getSecretKey() {
+ return $this->secret_key;
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Credit.php b/lib/ChargeIO/Credit.php
new file mode 100644
index 0000000..56a05aa
--- /dev/null
+++ b/lib/ChargeIO/Credit.php
@@ -0,0 +1,22 @@
+id;
+ }
+ else {
+ $params['method'] = $paymentMethod->attributes;
+ }
+
+ $response = $conn->post('/credits', $params);
+ return new ChargeIO_Credit($response, $conn);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Error.php b/lib/ChargeIO/Error.php
new file mode 100644
index 0000000..4729b07
--- /dev/null
+++ b/lib/ChargeIO/Error.php
@@ -0,0 +1,12 @@
+json = $json;
+ }
+
+ public function getJson() {
+ return $this->json;
+ }
+}
diff --git a/lib/ChargeIO/InvalidRequestError.php b/lib/ChargeIO/InvalidRequestError.php
new file mode 100644
index 0000000..36b8098
--- /dev/null
+++ b/lib/ChargeIO/InvalidRequestError.php
@@ -0,0 +1,7 @@
+page = $attributes['page']; # 1-based
+ $this->pageSize = $attributes['page_size'];
+ $this->pageEntries = sizeof($attributes['results']);
+ $this->totalEntries = $attributes['total_entries'];
+ $this->totalPages = $this->pageSize == 0 ? 0 : ceil($this->totalEntries / $this->pageSize);
+ }
+
+ public function getPage() {
+ return $this->page;
+ }
+
+ public function hasNextPage() {
+ return $this->page < $this->totalPages;
+ }
+
+ public function getPageSize() {
+ return $this->pageSize;
+ }
+
+ public function getPageEntries() {
+ return $this->pageEntries;
+ }
+
+ public function getTotalEntries() {
+ return $this->totalEntries;
+ }
+
+ public function getTotalPages() {
+ return $this->totalPages;
+ }
+
+ public function offsetExists($offset) {
+ return $this->attributes['results'] && array_key_exists($offset, $this->attributes['results']);
+ }
+
+ public function offsetGet($offset) {
+ return $this->parseResult($offset);
+ }
+
+ public function offsetSet($offset, $value) {
+ # Unsupported
+ }
+
+ public function offsetUnset($offset) {
+ # Unsupported
+ }
+
+ abstract protected function parseResult($offset);
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Merchant.php b/lib/ChargeIO/Merchant.php
new file mode 100644
index 0000000..e6011ff
--- /dev/null
+++ b/lib/ChargeIO/Merchant.php
@@ -0,0 +1,54 @@
+connection = $connection;
+ $this->attributes = array_merge($this->attributes, $attributes);
+ }
+
+ public static function findCurrent() {
+ return self::findCurrentUsingCredentials(ChargeIO::getCredentials());
+ }
+
+ public static function findCurrentUsingCredentials($credentials) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/merchant');
+ return new ChargeIO_Merchant($response, $conn);
+ }
+
+ public function update($attributes = array()) {
+ $merchantAttrs = array_merge($this->attributes, $attributes);
+ unset($merchantAttrs['merchant_accounts']);
+ unset($merchantAttrs['ach_accounts']);
+ $response = $this->connection->put('/merchant', $merchantAttrs);
+ $this->updateAttributes($response);
+ }
+
+ public function merchantAccounts() {
+ $accounts = array();
+
+ if (array_key_exists('merchant_accounts', $this->attributes)) {
+ foreach ($this->attributes['merchant_accounts'] as $accountAttrs) {
+ array_push($accounts, new ChargeIO_MerchantAccount($accountAttrs, $this->connection));
+ }
+ }
+
+ return $accounts;
+ }
+
+ public function achAccounts() {
+ error_log('getting ach accounts');
+ $accounts = array();
+
+ if (array_key_exists('ach_accounts', $this->attributes)) {
+ error_log('has accounts key');
+ foreach ($this->attributes['ach_accounts'] as $accountAttrs) {
+ error_log('processing account attrs: ' . implode(', ', $accountAttrs));
+ array_push($accounts, new ChargeIO_AchAccount($accountAttrs, $this->connection));
+ }
+ }
+
+ return $accounts;
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/MerchantAccount.php b/lib/ChargeIO/MerchantAccount.php
new file mode 100644
index 0000000..bdfca5c
--- /dev/null
+++ b/lib/ChargeIO/MerchantAccount.php
@@ -0,0 +1,15 @@
+connection = $connection;
+ $this->attributes = array_merge($this->attributes, $attributes);
+ }
+
+ public function update($attributes = array()) {
+ $accountAttrs = array_merge($this->attributes, $attributes);
+ $response = $this->connection->put('/accounts/' . $this->id, $accountAttrs);
+ $this->updateAttributes($response);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Object.php b/lib/ChargeIO/Object.php
new file mode 100644
index 0000000..29e7c5a
--- /dev/null
+++ b/lib/ChargeIO/Object.php
@@ -0,0 +1,33 @@
+connection = $connection;
+ $this->attributes = array_merge($this->attributes, $attributes);
+ }
+
+ public function __get($prop) {
+ $underscoredProp = ChargeIO_Utils::underscore($prop);
+ if (isset($this->attributes[$underscoredProp])) {
+ return $this->attributes[$underscoredProp];
+ } else {
+ return null;
+ }
+ }
+
+ public function __set($prop, $value) {
+ $underscoredProp = ChargeIO_Utils::underscore($prop);
+ $this->attributes[$underscoredProp] = $value;
+ }
+
+ public function updateAttributes($attributes = array()) {
+ foreach ($attributes as $key => $value) {
+ if ($value !== '' || !isset($this->attributes[$key])) {
+ $this->attributes[$key] = $value;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/OneTimeToken.php b/lib/ChargeIO/OneTimeToken.php
new file mode 100644
index 0000000..9fa1c67
--- /dev/null
+++ b/lib/ChargeIO/OneTimeToken.php
@@ -0,0 +1,34 @@
+connection = $connection;
+ $this->attributes = array_merge($this->attributes, $attributes);
+ $this->attributes['type'] = 'card';
+ }
+
+ public static function createOneTimeCard($attributes = array()) {
+ return self::createOneTimeCardUsingCredentials(ChargeIO::getCredentials(), $attributes);
+ }
+
+ public static function createOneTimeCardUsingCredentials($credentials, $attributes = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+
+ $attributes['type'] = 'card';
+ $response = $conn->post('/tokens', $attributes);
+ return new ChargeIO_OneTimeToken($response, $conn);
+ }
+
+ public static function createOneTimeBank($attributes = array()) {
+ return self::createOneTimeBankUsingCredentials(ChargeIO::getCredentials(), $attributes);
+ }
+
+ public static function createOneTimeBankUsingCredentials($credentials, $attributes = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+
+ $attributes['type'] = 'bank';
+ $response = $conn->post('/tokens', $attributes);
+ return new ChargeIO_OneTimeToken($response, $conn);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/PaymentMethod.php b/lib/ChargeIO/PaymentMethod.php
new file mode 100644
index 0000000..981ffb5
--- /dev/null
+++ b/lib/ChargeIO/PaymentMethod.php
@@ -0,0 +1,4 @@
+attributes[$underscoredProp])) {
+ return $this->attributes[$underscoredProp];
+ } else {
+ return null;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/RecurringCharge.php b/lib/ChargeIO/RecurringCharge.php
new file mode 100644
index 0000000..226728c
--- /dev/null
+++ b/lib/ChargeIO/RecurringCharge.php
@@ -0,0 +1,67 @@
+id;
+ }
+ else {
+ $params['method'] = $paymentMethod->attributes;
+ }
+
+ $response = $conn->post('/recurring/charges', $params);
+ return new ChargeIO_RecurringCharge($response, $conn);
+ }
+
+ public static function all($params = array()) {
+ return self::allUsingCredentials(ChargeIO::getCredentials(), $params);
+ }
+
+ public static function allUsingCredentials($credentials, $params = array()) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/recurring/charges', $params);
+ return new ChargeIO_RecurringChargeList($response, $conn);
+ }
+
+ public static function findById($id) {
+ return self::findByIdUsingCredentials(ChargeIO::getCredentials(), $id);
+ }
+
+ public static function findByIdUsingCredentials($credentials, $id) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/recurring/charges/' . $id);
+ return new ChargeIO_RecurringCharge($response, $conn);
+ }
+
+ public function update($params = array()) {
+ $response = $this->connection->patch('/recurring/charges/' . $this->id, $params);
+ $this->updateAttributes($response);
+ }
+
+ public function cancel($params = array()) {
+ $response = $this->connection->post('/recurring/charges/' . $this->id . '/cancel', $params);
+ $this->updateAttributes($response);
+ }
+
+ public function delete($params = array()) {
+ $response = $this->connection->delete('/recurring/charges/' . $this->id, $params);
+ $this->updateAttributes($response);
+ }
+
+ public function occurrences($params = array()) {
+ $response = $this->connection->get('/recurring/charges/' . $this->id . '/occurrences', $params);
+ return new ChargeIO_RecurringChargeOccurrenceList($response, $this->connection);
+ }
+
+ public function findOccurrenceById($occurrence_id) {
+ $response = $this->connection->get('/recurring/charges/' . $this->id . '/occurrences/' . $occurrence_id);
+ return new ChargeIO_RecurringChargeOccurrence($response, $this->connection);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/RecurringChargeList.php b/lib/ChargeIO/RecurringChargeList.php
new file mode 100644
index 0000000..35918f3
--- /dev/null
+++ b/lib/ChargeIO/RecurringChargeList.php
@@ -0,0 +1,8 @@
+attributes['results'][$offset];
+ return new ChargeIO_RecurringCharge($attrs, $this->connection);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/RecurringChargeOccurrence.php b/lib/ChargeIO/RecurringChargeOccurrence.php
new file mode 100644
index 0000000..39feada
--- /dev/null
+++ b/lib/ChargeIO/RecurringChargeOccurrence.php
@@ -0,0 +1,13 @@
+connection->post('/recurring/charges/' . $this->recurring_charge_id . '/occurrences/' . $this->id . '/pay', $params);
+ $this->updateAttributes($response);
+ }
+
+ public function ignore($params = array()) {
+ $response = $this->connection->post('/recurring/charges/' . $this->recurring_charge_id . '/occurrences/' . $this->id . '/ignore', $params);
+ $this->updateAttributes($response);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/RecurringChargeOccurrenceList.php b/lib/ChargeIO/RecurringChargeOccurrenceList.php
new file mode 100644
index 0000000..530e5cc
--- /dev/null
+++ b/lib/ChargeIO/RecurringChargeOccurrenceList.php
@@ -0,0 +1,8 @@
+attributes['results'][$offset];
+ return new ChargeIO_RecurringChargeOccurrence($attrs, $this->connection);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Refund.php b/lib/ChargeIO/Refund.php
new file mode 100644
index 0000000..98c3dee
--- /dev/null
+++ b/lib/ChargeIO/Refund.php
@@ -0,0 +1,4 @@
+get('/signatures/' . $id);
+ return new ChargeIO_Signature($response, $conn);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Transaction.php b/lib/ChargeIO/Transaction.php
new file mode 100644
index 0000000..c218d7d
--- /dev/null
+++ b/lib/ChargeIO/Transaction.php
@@ -0,0 +1,51 @@
+get('/transactions', $params);
+ return new ChargeIO_TransactionList($response, $conn);
+ }
+
+ public static function findById($id) {
+ return self::findByIdUsingCredentials(ChargeIO::getCredentials(), $id);
+ }
+
+ public static function findByIdUsingCredentials($credentials, $id) {
+ $conn = new ChargeIO_Connection($credentials);
+ $response = $conn->get('/transactions/' . $id);
+ return self::parse($response, $conn);
+ }
+
+ public static function parse($attributes, $connection = null) {
+ switch($attributes['type']) {
+ case 'CHARGE':
+ return new ChargeIO_Charge($attributes, $connection);
+ case 'REFUND':
+ return new ChargeIO_Refund($attributes, $connection);
+ case 'CREDIT':
+ return new ChargeIO_Credit($attributes, $connection);
+ }
+
+ throw new ChargeIO_Error('Unexpected transaction type ' . $attributes['type']);
+ }
+
+ public function void($params = array()) {
+ $response = $this->connection->post('/transactions/' . $this->id . '/void', $params);
+ $this->updateAttributes($response);
+ }
+
+ public function sign($signature, $gratuity = NULL, $mime_type = 'chargeio/jsignature', $params = array()) {
+ $params['data'] = $signature;
+ $params['mime_type'] = $mime_type;
+ if ($gratuity) {
+ $params['gratuity'] = $gratuity;
+ }
+ $response = $this->connection->post('/transactions/' . $this->id . '/sign', $params);
+ $this->updateAttributes($response);
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/TransactionList.php b/lib/ChargeIO/TransactionList.php
new file mode 100644
index 0000000..345e49b
--- /dev/null
+++ b/lib/ChargeIO/TransactionList.php
@@ -0,0 +1,13 @@
+attributes['results'][$offset];
+ try {
+ return ChargeIO_Transaction::parse($transAttrs, $this->connection);
+ }
+ catch(Exception $ex) {
+ throw new ChargeIO_Error('Unexpected transaction type ' . $transAttrs['type'] . ' at offset ' . $offset);
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/ChargeIO/Utils.php b/lib/ChargeIO/Utils.php
new file mode 100644
index 0000000..4738437
--- /dev/null
+++ b/lib/ChargeIO/Utils.php
@@ -0,0 +1,7 @@
+assertNotNull($m);
+ }
+}
\ No newline at end of file
diff --git a/lib/tests/RecurringChargeTest.php b/lib/tests/RecurringChargeTest.php
new file mode 100644
index 0000000..f6510ec
--- /dev/null
+++ b/lib/tests/RecurringChargeTest.php
@@ -0,0 +1,112 @@
+merchantAccounts();
+ $account = reset($accounts);
+
+ // New recurring charge of $25 paid monthly on the 1st
+ $card = $this->newCard();
+ $rc = ChargeIO_RecurringCharge::create($card, 2500, array(
+ 'description' => 'Test Recurring Charge',
+ 'account_id' => $account->id,
+ 'schedule' => array(
+ 'start' => '2016-01-01',
+ 'interval_unit' => 'MONTH',
+ 'interval_delay' => 1
+ )
+ ));
+ $this->assertNotNull($rc);
+ $this->assertEquals('ACTIVE', $rc->status);
+
+
+ // Retrieve occurrences -- should just be the first pending occurrence
+ $occs = $rc->occurrences();
+ $this->assertEquals(1, $occs->getTotalEntries());
+
+ $occ = $occs[0];
+ $this->assertEquals('PENDING', $occ->status);
+
+
+ // Pre-pay the first occurrence
+ $occ->pay();
+ $this->assertEquals('PAID', $occ->status);
+
+
+ // We now have two occurrences. Mark the new pending occurrence ignored.
+ $occs = $rc->occurrences();
+ $this->assertEquals(2, $occs->getTotalEntries());
+
+ $occ = $occs[0];
+ $this->assertEquals('PENDING', $occ->status);
+
+ $occ->ignore();
+ $this->assertEquals('IGNORED', $occ->status);
+
+
+ // Change the payment method associated with the recurring charge
+ $card = $this->newCard('4111111111111111');
+ $rc->update(array('method' => $card->attributes));
+ $this->assertEquals('************1111', $rc->method['number']);
+
+
+ // Pay the previously ignored occurrence
+ $occ->pay();
+ $this->assertEquals('PAID', $occ->status);
+
+
+ // Cancel the recurring charge
+ $rc = ChargeIO_RecurringCharge::findById($rc->id);
+ $rc->cancel();
+ $this->assertEquals('COMPLETED', $rc->status);
+ $this->assertEquals('user_canceled', $rc->status_reason);
+
+
+ // Delete the recurring charge
+ $rc->delete();
+ $this->assertEquals('DELETED', $rc->status);
+ }
+
+ public function testRecurringFromCharge() {
+ $m = ChargeIO_Merchant::findCurrent();
+ $accounts = $m->merchantAccounts();
+ $account = reset($accounts);
+
+ // Create a recurring charge from a new charge with a schedule
+ $card = $this->newCard();
+ $charge = ChargeIO_Charge::create($card, 10000, array(
+ 'account_id' => $account->id,
+ 'recur' => array(
+ 'interval_unit' => 'WEEK',
+ 'interval_delay' => 1
+ )
+ ));
+ $this->assertNotNull($charge);
+ $this->assertEquals('AUTHORIZED', $charge->status);
+ $this->assertNotNull($charge->recurring_charge_id);
+ $this->assertNotNull($charge->recurring_charge_occurrence_id);
+
+ // Retrieve occurrences -- should contain the initial paid occurrence associated with the charge and the next pending occurrence
+ $rc = ChargeIO_RecurringCharge::findById($charge->recurring_charge_id);
+ $this->assertNotNull($rc);
+ $occs = $rc->occurrences();
+ $this->assertEquals(2, $occs->getTotalEntries());
+
+ $this->assertEquals('PENDING', $occs[0]->status);
+ $this->assertEquals('PAID', $occs[1]->status);
+ $this->assertEquals(1, count($occs[1]->transactions));
+ $this->assertEquals($charge->id, $occs[1]->transactions[0]['id']);
+
+ $transaction_id = $occs[1]->transactions[sizeof($occs[1]->transactions) - 1]['id'];
+ $this->assertNotNull($transaction_id);
+
+ $c = new ChargeIO_Charge($occs[1]->transactions[0], new ChargeIO_Connection(ChargeIO::getCredentials()));
+ $this->assertNotNull($c);
+ $this->assertEquals($charge->id, $c->id);
+ $r = $c->refund(10);
+ $this->assertNotNull($r);
+ $this->assertNotNull($r->id);
+
+ }
+}
diff --git a/lib/tests/TestCase.php b/lib/tests/TestCase.php
new file mode 100644
index 0000000..a5a6e98
--- /dev/null
+++ b/lib/tests/TestCase.php
@@ -0,0 +1,17 @@
+ $number,
+ 'cvv' => '123',
+ 'exp_month' => 12,
+ 'exp_year' => 2020,
+ 'name' => 'PHP Customer',
+ 'address1' => '123 PHP Way',
+ 'city' => 'Austin',
+ 'state' => 'TX',
+ 'postal_code' => '78730'
+ ));
+ }
+}
\ No newline at end of file
diff --git a/lib/tests/TransactionTest.php b/lib/tests/TransactionTest.php
new file mode 100644
index 0000000..8414765
--- /dev/null
+++ b/lib/tests/TransactionTest.php
@@ -0,0 +1,69 @@
+newCard();
+ $charge = ChargeIO_Charge::create($card, 1000);
+ $this->assertNotNull($charge);
+ $this->assertEquals('AUTHORIZED', $charge->status);
+
+
+ // Attach signature and add gratuity of $2.50
+ $sigdata = '[{"x":[179,179,179,179,180,188,195,206,218,228,245,252,261,267,270,270,269,262,254,246,237,230,225,221,219,219,222,229,239,251,263,274,282,286,288,289,286],"y":[77,84,89,97,104,113,120,127,132,133,133,133,128,121,114,106,99,93,87,85,85,85,87,93,99,109,120,129,138,144,146,147,145,141,134,130,127]}]';
+ $charge->sign($sigdata, 250);
+ $this->assertNotNull($charge->signature_id);
+ $this->assertEquals(250, $charge->gratuity);
+ $sig = ChargeIO_Signature::findById($charge->signature_id);
+ $this->assertNotNull($sig);
+ $this->assertEquals($sigdata, $sig->data);
+ $this->assertEquals('chargeio/jsignature', $sig->mime_type);
+
+
+ // Refund $1.75
+ $refund = $charge->refund(175);
+ $this->assertNotNull($refund);
+ $this->assertEquals('AUTHORIZED', $refund->status);
+ $this->assertEquals(175, $refund->amount);
+
+
+ // Void the refund
+ $refund->void();
+ $this->assertEquals('VOIDED', $refund->status);
+
+
+ // Capture the original charge, but for only $9.10
+ $charge->capture(910);
+ $this->assertEquals('COMPLETED', $charge->status);
+ $this->assertEquals(910, $charge->amount);
+ }
+
+ public function testHolds() {
+ // New authorization for $20 from one-time card token
+ $token = ChargeIO_OneTimeToken::createOneTimeCard($this->newCard()->attributes);
+ $charge = ChargeIO_Charge::authorize(new ChargeIO_PaymentMethodReference(array('id' => $token->id)), 2000);
+ $this->assertNotNull($charge);
+ $this->assertEquals('AUTHORIZED', $charge->status);
+ $this->assertEquals(false, $charge->auto_capture);
+
+
+ // Retrieve first page (most recent) pending holds
+ $holds = ChargeIO_Charge::allHolds();
+ $this->assertGreaterThanOrEqual(1, $holds->getTotalEntries());
+ $this->assertEquals($charge->id, $holds[0]->id);
+
+
+ // Convert manual-capture authorization to auto-capture
+ $charge->capture(2000, array('capture_time' => 'NEXT_AUTO_CAPTURE'));
+ $this->assertEquals('AUTHORIZED', $charge->status);
+ $this->assertEquals(true, $charge->auto_capture);
+
+
+ // Charge no longer appears in pending holds
+ $holds = ChargeIO_Charge::allHolds();
+ $this->assertGreaterThanOrEqual(0, $holds->getTotalEntries());
+ if ($holds->getTotalEntries() > 0) {
+ $this->assertNotEquals($charge->id, $holds[0]->id);
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/tests/phpunit-bootstrap.php b/lib/tests/phpunit-bootstrap.php
new file mode 100644
index 0000000..5d10fb3
--- /dev/null
+++ b/lib/tests/phpunit-bootstrap.php
@@ -0,0 +1,7 @@
+', ''));
+ChargeIO::setDebug(true);
diff --git a/thirdparty/phpunit.phar b/thirdparty/phpunit.phar
new file mode 100755
index 0000000..2acddc0
--- /dev/null
+++ b/thirdparty/phpunit.phar
@@ -0,0 +1,73059 @@
+#!/usr/bin/env php
+ '/php-file-iterator/Iterator.php',
+ 'file_iterator_facade' => '/php-file-iterator/Iterator/Facade.php',
+ 'file_iterator_factory' => '/php-file-iterator/Iterator/Factory.php',
+ 'php_codecoverage' => '/php-code-coverage/CodeCoverage.php',
+ 'php_codecoverage_driver' => '/php-code-coverage/CodeCoverage/Driver.php',
+ 'php_codecoverage_driver_hhvm' => '/php-code-coverage/CodeCoverage/Driver/HHVM.php',
+ 'php_codecoverage_driver_xdebug' => '/php-code-coverage/CodeCoverage/Driver/Xdebug.php',
+ 'php_codecoverage_exception' => '/php-code-coverage/CodeCoverage/Exception.php',
+ 'php_codecoverage_exception_unintentionallycoveredcode' => '/php-code-coverage/CodeCoverage/Exception/UnintentionallyCoveredCode.php',
+ 'php_codecoverage_filter' => '/php-code-coverage/CodeCoverage/Filter.php',
+ 'php_codecoverage_report_clover' => '/php-code-coverage/CodeCoverage/Report/Clover.php',
+ 'php_codecoverage_report_crap4j' => '/php-code-coverage/CodeCoverage/Report/Crap4j.php',
+ 'php_codecoverage_report_factory' => '/php-code-coverage/CodeCoverage/Report/Factory.php',
+ 'php_codecoverage_report_html' => '/php-code-coverage/CodeCoverage/Report/HTML.php',
+ 'php_codecoverage_report_html_renderer' => '/php-code-coverage/CodeCoverage/Report/HTML/Renderer.php',
+ 'php_codecoverage_report_html_renderer_dashboard' => '/php-code-coverage/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
+ 'php_codecoverage_report_html_renderer_directory' => '/php-code-coverage/CodeCoverage/Report/HTML/Renderer/Directory.php',
+ 'php_codecoverage_report_html_renderer_file' => '/php-code-coverage/CodeCoverage/Report/HTML/Renderer/File.php',
+ 'php_codecoverage_report_node' => '/php-code-coverage/CodeCoverage/Report/Node.php',
+ 'php_codecoverage_report_node_directory' => '/php-code-coverage/CodeCoverage/Report/Node/Directory.php',
+ 'php_codecoverage_report_node_file' => '/php-code-coverage/CodeCoverage/Report/Node/File.php',
+ 'php_codecoverage_report_node_iterator' => '/php-code-coverage/CodeCoverage/Report/Node/Iterator.php',
+ 'php_codecoverage_report_php' => '/php-code-coverage/CodeCoverage/Report/PHP.php',
+ 'php_codecoverage_report_text' => '/php-code-coverage/CodeCoverage/Report/Text.php',
+ 'php_codecoverage_report_xml' => '/php-code-coverage/CodeCoverage/Report/XML.php',
+ 'php_codecoverage_report_xml_directory' => '/php-code-coverage/CodeCoverage/Report/XML/Directory.php',
+ 'php_codecoverage_report_xml_file' => '/php-code-coverage/CodeCoverage/Report/XML/File.php',
+ 'php_codecoverage_report_xml_file_coverage' => '/php-code-coverage/CodeCoverage/Report/XML/File/Coverage.php',
+ 'php_codecoverage_report_xml_file_method' => '/php-code-coverage/CodeCoverage/Report/XML/File/Method.php',
+ 'php_codecoverage_report_xml_file_report' => '/php-code-coverage/CodeCoverage/Report/XML/File/Report.php',
+ 'php_codecoverage_report_xml_file_unit' => '/php-code-coverage/CodeCoverage/Report/XML/File/Unit.php',
+ 'php_codecoverage_report_xml_node' => '/php-code-coverage/CodeCoverage/Report/XML/Node.php',
+ 'php_codecoverage_report_xml_project' => '/php-code-coverage/CodeCoverage/Report/XML/Project.php',
+ 'php_codecoverage_report_xml_tests' => '/php-code-coverage/CodeCoverage/Report/XML/Tests.php',
+ 'php_codecoverage_report_xml_totals' => '/php-code-coverage/CodeCoverage/Report/XML/Totals.php',
+ 'php_codecoverage_util' => '/php-code-coverage/CodeCoverage/Util.php',
+ 'php_codecoverage_util_invalidargumenthelper' => '/php-code-coverage/CodeCoverage/Util/InvalidArgumentHelper.php',
+ 'php_invoker' => '/php-invoker/Invoker.php',
+ 'php_invoker_timeoutexception' => '/php-invoker/Invoker/TimeoutException.php',
+ 'php_timer' => '/php-timer/Timer.php',
+ 'php_token' => '/php-token-stream/Token.php',
+ 'php_token_abstract' => '/php-token-stream/Token.php',
+ 'php_token_ampersand' => '/php-token-stream/Token.php',
+ 'php_token_and_equal' => '/php-token-stream/Token.php',
+ 'php_token_array' => '/php-token-stream/Token.php',
+ 'php_token_array_cast' => '/php-token-stream/Token.php',
+ 'php_token_as' => '/php-token-stream/Token.php',
+ 'php_token_at' => '/php-token-stream/Token.php',
+ 'php_token_backtick' => '/php-token-stream/Token.php',
+ 'php_token_bad_character' => '/php-token-stream/Token.php',
+ 'php_token_bool_cast' => '/php-token-stream/Token.php',
+ 'php_token_boolean_and' => '/php-token-stream/Token.php',
+ 'php_token_boolean_or' => '/php-token-stream/Token.php',
+ 'php_token_break' => '/php-token-stream/Token.php',
+ 'php_token_callable' => '/php-token-stream/Token.php',
+ 'php_token_caret' => '/php-token-stream/Token.php',
+ 'php_token_case' => '/php-token-stream/Token.php',
+ 'php_token_catch' => '/php-token-stream/Token.php',
+ 'php_token_character' => '/php-token-stream/Token.php',
+ 'php_token_class' => '/php-token-stream/Token.php',
+ 'php_token_class_c' => '/php-token-stream/Token.php',
+ 'php_token_class_name_constant' => '/php-token-stream/Token.php',
+ 'php_token_clone' => '/php-token-stream/Token.php',
+ 'php_token_close_bracket' => '/php-token-stream/Token.php',
+ 'php_token_close_curly' => '/php-token-stream/Token.php',
+ 'php_token_close_square' => '/php-token-stream/Token.php',
+ 'php_token_close_tag' => '/php-token-stream/Token.php',
+ 'php_token_colon' => '/php-token-stream/Token.php',
+ 'php_token_comma' => '/php-token-stream/Token.php',
+ 'php_token_comment' => '/php-token-stream/Token.php',
+ 'php_token_concat_equal' => '/php-token-stream/Token.php',
+ 'php_token_const' => '/php-token-stream/Token.php',
+ 'php_token_constant_encapsed_string' => '/php-token-stream/Token.php',
+ 'php_token_continue' => '/php-token-stream/Token.php',
+ 'php_token_curly_open' => '/php-token-stream/Token.php',
+ 'php_token_dec' => '/php-token-stream/Token.php',
+ 'php_token_declare' => '/php-token-stream/Token.php',
+ 'php_token_default' => '/php-token-stream/Token.php',
+ 'php_token_dir' => '/php-token-stream/Token.php',
+ 'php_token_div' => '/php-token-stream/Token.php',
+ 'php_token_div_equal' => '/php-token-stream/Token.php',
+ 'php_token_dnumber' => '/php-token-stream/Token.php',
+ 'php_token_do' => '/php-token-stream/Token.php',
+ 'php_token_doc_comment' => '/php-token-stream/Token.php',
+ 'php_token_dollar' => '/php-token-stream/Token.php',
+ 'php_token_dollar_open_curly_braces' => '/php-token-stream/Token.php',
+ 'php_token_dot' => '/php-token-stream/Token.php',
+ 'php_token_double_arrow' => '/php-token-stream/Token.php',
+ 'php_token_double_cast' => '/php-token-stream/Token.php',
+ 'php_token_double_colon' => '/php-token-stream/Token.php',
+ 'php_token_double_quotes' => '/php-token-stream/Token.php',
+ 'php_token_echo' => '/php-token-stream/Token.php',
+ 'php_token_else' => '/php-token-stream/Token.php',
+ 'php_token_elseif' => '/php-token-stream/Token.php',
+ 'php_token_empty' => '/php-token-stream/Token.php',
+ 'php_token_encapsed_and_whitespace' => '/php-token-stream/Token.php',
+ 'php_token_end_heredoc' => '/php-token-stream/Token.php',
+ 'php_token_enddeclare' => '/php-token-stream/Token.php',
+ 'php_token_endfor' => '/php-token-stream/Token.php',
+ 'php_token_endforeach' => '/php-token-stream/Token.php',
+ 'php_token_endif' => '/php-token-stream/Token.php',
+ 'php_token_endswitch' => '/php-token-stream/Token.php',
+ 'php_token_endwhile' => '/php-token-stream/Token.php',
+ 'php_token_equal' => '/php-token-stream/Token.php',
+ 'php_token_eval' => '/php-token-stream/Token.php',
+ 'php_token_exclamation_mark' => '/php-token-stream/Token.php',
+ 'php_token_exit' => '/php-token-stream/Token.php',
+ 'php_token_extends' => '/php-token-stream/Token.php',
+ 'php_token_file' => '/php-token-stream/Token.php',
+ 'php_token_final' => '/php-token-stream/Token.php',
+ 'php_token_finally' => '/php-token-stream/Token.php',
+ 'php_token_for' => '/php-token-stream/Token.php',
+ 'php_token_foreach' => '/php-token-stream/Token.php',
+ 'php_token_func_c' => '/php-token-stream/Token.php',
+ 'php_token_function' => '/php-token-stream/Token.php',
+ 'php_token_global' => '/php-token-stream/Token.php',
+ 'php_token_goto' => '/php-token-stream/Token.php',
+ 'php_token_gt' => '/php-token-stream/Token.php',
+ 'php_token_halt_compiler' => '/php-token-stream/Token.php',
+ 'php_token_if' => '/php-token-stream/Token.php',
+ 'php_token_implements' => '/php-token-stream/Token.php',
+ 'php_token_inc' => '/php-token-stream/Token.php',
+ 'php_token_include' => '/php-token-stream/Token.php',
+ 'php_token_include_once' => '/php-token-stream/Token.php',
+ 'php_token_includes' => '/php-token-stream/Token.php',
+ 'php_token_inline_html' => '/php-token-stream/Token.php',
+ 'php_token_instanceof' => '/php-token-stream/Token.php',
+ 'php_token_insteadof' => '/php-token-stream/Token.php',
+ 'php_token_int_cast' => '/php-token-stream/Token.php',
+ 'php_token_interface' => '/php-token-stream/Token.php',
+ 'php_token_is_equal' => '/php-token-stream/Token.php',
+ 'php_token_is_greater_or_equal' => '/php-token-stream/Token.php',
+ 'php_token_is_identical' => '/php-token-stream/Token.php',
+ 'php_token_is_not_equal' => '/php-token-stream/Token.php',
+ 'php_token_is_not_identical' => '/php-token-stream/Token.php',
+ 'php_token_is_smaller_or_equal' => '/php-token-stream/Token.php',
+ 'php_token_isset' => '/php-token-stream/Token.php',
+ 'php_token_line' => '/php-token-stream/Token.php',
+ 'php_token_list' => '/php-token-stream/Token.php',
+ 'php_token_lnumber' => '/php-token-stream/Token.php',
+ 'php_token_logical_and' => '/php-token-stream/Token.php',
+ 'php_token_logical_or' => '/php-token-stream/Token.php',
+ 'php_token_logical_xor' => '/php-token-stream/Token.php',
+ 'php_token_lt' => '/php-token-stream/Token.php',
+ 'php_token_method_c' => '/php-token-stream/Token.php',
+ 'php_token_minus' => '/php-token-stream/Token.php',
+ 'php_token_minus_equal' => '/php-token-stream/Token.php',
+ 'php_token_mod_equal' => '/php-token-stream/Token.php',
+ 'php_token_mul_equal' => '/php-token-stream/Token.php',
+ 'php_token_mult' => '/php-token-stream/Token.php',
+ 'php_token_namespace' => '/php-token-stream/Token.php',
+ 'php_token_new' => '/php-token-stream/Token.php',
+ 'php_token_ns_c' => '/php-token-stream/Token.php',
+ 'php_token_ns_separator' => '/php-token-stream/Token.php',
+ 'php_token_num_string' => '/php-token-stream/Token.php',
+ 'php_token_object_cast' => '/php-token-stream/Token.php',
+ 'php_token_object_operator' => '/php-token-stream/Token.php',
+ 'php_token_open_bracket' => '/php-token-stream/Token.php',
+ 'php_token_open_curly' => '/php-token-stream/Token.php',
+ 'php_token_open_square' => '/php-token-stream/Token.php',
+ 'php_token_open_tag' => '/php-token-stream/Token.php',
+ 'php_token_open_tag_with_echo' => '/php-token-stream/Token.php',
+ 'php_token_or_equal' => '/php-token-stream/Token.php',
+ 'php_token_paamayim_nekudotayim' => '/php-token-stream/Token.php',
+ 'php_token_percent' => '/php-token-stream/Token.php',
+ 'php_token_pipe' => '/php-token-stream/Token.php',
+ 'php_token_plus' => '/php-token-stream/Token.php',
+ 'php_token_plus_equal' => '/php-token-stream/Token.php',
+ 'php_token_print' => '/php-token-stream/Token.php',
+ 'php_token_private' => '/php-token-stream/Token.php',
+ 'php_token_protected' => '/php-token-stream/Token.php',
+ 'php_token_public' => '/php-token-stream/Token.php',
+ 'php_token_question_mark' => '/php-token-stream/Token.php',
+ 'php_token_require' => '/php-token-stream/Token.php',
+ 'php_token_require_once' => '/php-token-stream/Token.php',
+ 'php_token_return' => '/php-token-stream/Token.php',
+ 'php_token_semicolon' => '/php-token-stream/Token.php',
+ 'php_token_sl' => '/php-token-stream/Token.php',
+ 'php_token_sl_equal' => '/php-token-stream/Token.php',
+ 'php_token_sr' => '/php-token-stream/Token.php',
+ 'php_token_sr_equal' => '/php-token-stream/Token.php',
+ 'php_token_start_heredoc' => '/php-token-stream/Token.php',
+ 'php_token_static' => '/php-token-stream/Token.php',
+ 'php_token_stream' => '/php-token-stream/Token/Stream.php',
+ 'php_token_stream_cachingfactory' => '/php-token-stream/Token/Stream/CachingFactory.php',
+ 'php_token_string' => '/php-token-stream/Token.php',
+ 'php_token_string_cast' => '/php-token-stream/Token.php',
+ 'php_token_string_varname' => '/php-token-stream/Token.php',
+ 'php_token_switch' => '/php-token-stream/Token.php',
+ 'php_token_throw' => '/php-token-stream/Token.php',
+ 'php_token_tilde' => '/php-token-stream/Token.php',
+ 'php_token_trait' => '/php-token-stream/Token.php',
+ 'php_token_trait_c' => '/php-token-stream/Token.php',
+ 'php_token_try' => '/php-token-stream/Token.php',
+ 'php_token_unset' => '/php-token-stream/Token.php',
+ 'php_token_unset_cast' => '/php-token-stream/Token.php',
+ 'php_token_use' => '/php-token-stream/Token.php',
+ 'php_token_var' => '/php-token-stream/Token.php',
+ 'php_token_variable' => '/php-token-stream/Token.php',
+ 'php_token_while' => '/php-token-stream/Token.php',
+ 'php_token_whitespace' => '/php-token-stream/Token.php',
+ 'php_token_xor_equal' => '/php-token-stream/Token.php',
+ 'php_token_yield' => '/php-token-stream/Token.php',
+ 'php_tokenwithscope' => '/php-token-stream/Token.php',
+ 'php_tokenwithscopeandvisibility' => '/php-token-stream/Token.php',
+ 'phpunit_exception' => '/phpunit/Exception.php',
+ 'phpunit_extensions_database_abstracttester' => '/dbunit/Extensions/Database/AbstractTester.php',
+ 'phpunit_extensions_database_constraint_datasetisequal' => '/dbunit/Extensions/Database/Constraint/DataSetIsEqual.php',
+ 'phpunit_extensions_database_constraint_tableisequal' => '/dbunit/Extensions/Database/Constraint/TableIsEqual.php',
+ 'phpunit_extensions_database_constraint_tablerowcount' => '/dbunit/Extensions/Database/Constraint/TableRowCount.php',
+ 'phpunit_extensions_database_dataset_abstractdataset' => '/dbunit/Extensions/Database/DataSet/AbstractDataSet.php',
+ 'phpunit_extensions_database_dataset_abstracttable' => '/dbunit/Extensions/Database/DataSet/AbstractTable.php',
+ 'phpunit_extensions_database_dataset_abstracttablemetadata' => '/dbunit/Extensions/Database/DataSet/AbstractTableMetaData.php',
+ 'phpunit_extensions_database_dataset_abstractxmldataset' => '/dbunit/Extensions/Database/DataSet/AbstractXmlDataSet.php',
+ 'phpunit_extensions_database_dataset_compositedataset' => '/dbunit/Extensions/Database/DataSet/CompositeDataSet.php',
+ 'phpunit_extensions_database_dataset_csvdataset' => '/dbunit/Extensions/Database/DataSet/CsvDataSet.php',
+ 'phpunit_extensions_database_dataset_datasetfilter' => '/dbunit/Extensions/Database/DataSet/DataSetFilter.php',
+ 'phpunit_extensions_database_dataset_defaultdataset' => '/dbunit/Extensions/Database/DataSet/DefaultDataSet.php',
+ 'phpunit_extensions_database_dataset_defaulttable' => '/dbunit/Extensions/Database/DataSet/DefaultTable.php',
+ 'phpunit_extensions_database_dataset_defaulttableiterator' => '/dbunit/Extensions/Database/DataSet/DefaultTableIterator.php',
+ 'phpunit_extensions_database_dataset_defaulttablemetadata' => '/dbunit/Extensions/Database/DataSet/DefaultTableMetaData.php',
+ 'phpunit_extensions_database_dataset_flatxmldataset' => '/dbunit/Extensions/Database/DataSet/FlatXmlDataSet.php',
+ 'phpunit_extensions_database_dataset_idataset' => '/dbunit/Extensions/Database/DataSet/IDataSet.php',
+ 'phpunit_extensions_database_dataset_ipersistable' => '/dbunit/Extensions/Database/DataSet/IPersistable.php',
+ 'phpunit_extensions_database_dataset_ispec' => '/dbunit/Extensions/Database/DataSet/ISpec.php',
+ 'phpunit_extensions_database_dataset_itable' => '/dbunit/Extensions/Database/DataSet/ITable.php',
+ 'phpunit_extensions_database_dataset_itableiterator' => '/dbunit/Extensions/Database/DataSet/ITableIterator.php',
+ 'phpunit_extensions_database_dataset_itablemetadata' => '/dbunit/Extensions/Database/DataSet/ITableMetaData.php',
+ 'phpunit_extensions_database_dataset_iyamlparser' => '/dbunit/Extensions/Database/DataSet/IYamlParser.php',
+ 'phpunit_extensions_database_dataset_mysqlxmldataset' => '/dbunit/Extensions/Database/DataSet/MysqlXmlDataSet.php',
+ 'phpunit_extensions_database_dataset_persistors_abstract' => '/dbunit/Extensions/Database/DataSet/Persistors/Abstract.php',
+ 'phpunit_extensions_database_dataset_persistors_factory' => '/dbunit/Extensions/Database/DataSet/Persistors/Factory.php',
+ 'phpunit_extensions_database_dataset_persistors_flatxml' => '/dbunit/Extensions/Database/DataSet/Persistors/FlatXml.php',
+ 'phpunit_extensions_database_dataset_persistors_mysqlxml' => '/dbunit/Extensions/Database/DataSet/Persistors/MysqlXml.php',
+ 'phpunit_extensions_database_dataset_persistors_xml' => '/dbunit/Extensions/Database/DataSet/Persistors/Xml.php',
+ 'phpunit_extensions_database_dataset_persistors_yaml' => '/dbunit/Extensions/Database/DataSet/Persistors/Yaml.php',
+ 'phpunit_extensions_database_dataset_querydataset' => '/dbunit/Extensions/Database/DataSet/QueryDataSet.php',
+ 'phpunit_extensions_database_dataset_querytable' => '/dbunit/Extensions/Database/DataSet/QueryTable.php',
+ 'phpunit_extensions_database_dataset_replacementdataset' => '/dbunit/Extensions/Database/DataSet/ReplacementDataSet.php',
+ 'phpunit_extensions_database_dataset_replacementtable' => '/dbunit/Extensions/Database/DataSet/ReplacementTable.php',
+ 'phpunit_extensions_database_dataset_replacementtableiterator' => '/dbunit/Extensions/Database/DataSet/ReplacementTableIterator.php',
+ 'phpunit_extensions_database_dataset_specs_csv' => '/dbunit/Extensions/Database/DataSet/Specs/Csv.php',
+ 'phpunit_extensions_database_dataset_specs_dbquery' => '/dbunit/Extensions/Database/DataSet/Specs/DbQuery.php',
+ 'phpunit_extensions_database_dataset_specs_dbtable' => '/dbunit/Extensions/Database/DataSet/Specs/DbTable.php',
+ 'phpunit_extensions_database_dataset_specs_factory' => '/dbunit/Extensions/Database/DataSet/Specs/Factory.php',
+ 'phpunit_extensions_database_dataset_specs_flatxml' => '/dbunit/Extensions/Database/DataSet/Specs/FlatXml.php',
+ 'phpunit_extensions_database_dataset_specs_ifactory' => '/dbunit/Extensions/Database/DataSet/Specs/IFactory.php',
+ 'phpunit_extensions_database_dataset_specs_xml' => '/dbunit/Extensions/Database/DataSet/Specs/Xml.php',
+ 'phpunit_extensions_database_dataset_specs_yaml' => '/dbunit/Extensions/Database/DataSet/Specs/Yaml.php',
+ 'phpunit_extensions_database_dataset_symfonyyamlparser' => '/dbunit/Extensions/Database/DataSet/SymfonyYamlParser.php',
+ 'phpunit_extensions_database_dataset_tablefilter' => '/dbunit/Extensions/Database/DataSet/TableFilter.php',
+ 'phpunit_extensions_database_dataset_tablemetadatafilter' => '/dbunit/Extensions/Database/DataSet/TableMetaDataFilter.php',
+ 'phpunit_extensions_database_dataset_xmldataset' => '/dbunit/Extensions/Database/DataSet/XmlDataSet.php',
+ 'phpunit_extensions_database_dataset_yamldataset' => '/dbunit/Extensions/Database/DataSet/YamlDataSet.php',
+ 'phpunit_extensions_database_db_dataset' => '/dbunit/Extensions/Database/DB/DataSet.php',
+ 'phpunit_extensions_database_db_defaultdatabaseconnection' => '/dbunit/Extensions/Database/DB/DefaultDatabaseConnection.php',
+ 'phpunit_extensions_database_db_filtereddataset' => '/dbunit/Extensions/Database/DB/FilteredDataSet.php',
+ 'phpunit_extensions_database_db_idatabaseconnection' => '/dbunit/Extensions/Database/DB/IDatabaseConnection.php',
+ 'phpunit_extensions_database_db_imetadata' => '/dbunit/Extensions/Database/DB/IMetaData.php',
+ 'phpunit_extensions_database_db_metadata' => '/dbunit/Extensions/Database/DB/MetaData.php',
+ 'phpunit_extensions_database_db_metadata_dblib' => '/dbunit/Extensions/Database/DB/MetaData/Dblib.php',
+ 'phpunit_extensions_database_db_metadata_firebird' => '/dbunit/Extensions/Database/DB/MetaData/Firebird.php',
+ 'phpunit_extensions_database_db_metadata_informationschema' => '/dbunit/Extensions/Database/DB/MetaData/InformationSchema.php',
+ 'phpunit_extensions_database_db_metadata_mysql' => '/dbunit/Extensions/Database/DB/MetaData/MySQL.php',
+ 'phpunit_extensions_database_db_metadata_oci' => '/dbunit/Extensions/Database/DB/MetaData/Oci.php',
+ 'phpunit_extensions_database_db_metadata_pgsql' => '/dbunit/Extensions/Database/DB/MetaData/PgSQL.php',
+ 'phpunit_extensions_database_db_metadata_sqlite' => '/dbunit/Extensions/Database/DB/MetaData/Sqlite.php',
+ 'phpunit_extensions_database_db_metadata_sqlsrv' => '/dbunit/Extensions/Database/DB/MetaData/SqlSrv.php',
+ 'phpunit_extensions_database_db_resultsettable' => '/dbunit/Extensions/Database/DB/ResultSetTable.php',
+ 'phpunit_extensions_database_db_table' => '/dbunit/Extensions/Database/DB/Table.php',
+ 'phpunit_extensions_database_db_tableiterator' => '/dbunit/Extensions/Database/DB/TableIterator.php',
+ 'phpunit_extensions_database_db_tablemetadata' => '/dbunit/Extensions/Database/DB/TableMetaData.php',
+ 'phpunit_extensions_database_defaulttester' => '/dbunit/Extensions/Database/DefaultTester.php',
+ 'phpunit_extensions_database_exception' => '/dbunit/Extensions/Database/Exception.php',
+ 'phpunit_extensions_database_idatabaselistconsumer' => '/dbunit/Extensions/Database/IDatabaseListConsumer.php',
+ 'phpunit_extensions_database_itester' => '/dbunit/Extensions/Database/ITester.php',
+ 'phpunit_extensions_database_operation_composite' => '/dbunit/Extensions/Database/Operation/Composite.php',
+ 'phpunit_extensions_database_operation_delete' => '/dbunit/Extensions/Database/Operation/Delete.php',
+ 'phpunit_extensions_database_operation_deleteall' => '/dbunit/Extensions/Database/Operation/DeleteAll.php',
+ 'phpunit_extensions_database_operation_exception' => '/dbunit/Extensions/Database/Operation/Exception.php',
+ 'phpunit_extensions_database_operation_factory' => '/dbunit/Extensions/Database/Operation/Factory.php',
+ 'phpunit_extensions_database_operation_idatabaseoperation' => '/dbunit/Extensions/Database/Operation/IDatabaseOperation.php',
+ 'phpunit_extensions_database_operation_insert' => '/dbunit/Extensions/Database/Operation/Insert.php',
+ 'phpunit_extensions_database_operation_null' => '/dbunit/Extensions/Database/Operation/Null.php',
+ 'phpunit_extensions_database_operation_replace' => '/dbunit/Extensions/Database/Operation/Replace.php',
+ 'phpunit_extensions_database_operation_rowbased' => '/dbunit/Extensions/Database/Operation/RowBased.php',
+ 'phpunit_extensions_database_operation_truncate' => '/dbunit/Extensions/Database/Operation/Truncate.php',
+ 'phpunit_extensions_database_operation_update' => '/dbunit/Extensions/Database/Operation/Update.php',
+ 'phpunit_extensions_database_testcase' => '/dbunit/Extensions/Database/TestCase.php',
+ 'phpunit_extensions_database_ui_command' => '/dbunit/Extensions/Database/UI/Command.php',
+ 'phpunit_extensions_database_ui_context' => '/dbunit/Extensions/Database/UI/Context.php',
+ 'phpunit_extensions_database_ui_imedium' => '/dbunit/Extensions/Database/UI/IMedium.php',
+ 'phpunit_extensions_database_ui_imediumprinter' => '/dbunit/Extensions/Database/UI/IMediumPrinter.php',
+ 'phpunit_extensions_database_ui_imode' => '/dbunit/Extensions/Database/UI/IMode.php',
+ 'phpunit_extensions_database_ui_imodefactory' => '/dbunit/Extensions/Database/UI/IModeFactory.php',
+ 'phpunit_extensions_database_ui_invalidmodeexception' => '/dbunit/Extensions/Database/UI/InvalidModeException.php',
+ 'phpunit_extensions_database_ui_mediums_text' => '/dbunit/Extensions/Database/UI/Mediums/Text.php',
+ 'phpunit_extensions_database_ui_modefactory' => '/dbunit/Extensions/Database/UI/ModeFactory.php',
+ 'phpunit_extensions_database_ui_modes_exportdataset' => '/dbunit/Extensions/Database/UI/Modes/ExportDataSet.php',
+ 'phpunit_extensions_database_ui_modes_exportdataset_arguments' => '/dbunit/Extensions/Database/UI/Modes/ExportDataSet/Arguments.php',
+ 'phpunit_extensions_grouptestsuite' => '/phpunit/Extensions/GroupTestSuite.php',
+ 'phpunit_extensions_phpttestcase' => '/phpunit/Extensions/PhptTestCase.php',
+ 'phpunit_extensions_phpttestsuite' => '/phpunit/Extensions/PhptTestSuite.php',
+ 'phpunit_extensions_repeatedtest' => '/phpunit/Extensions/RepeatedTest.php',
+ 'phpunit_extensions_selenium2testcase' => '/phpunit-selenium/Extensions/Selenium2TestCase.php',
+ 'phpunit_extensions_selenium2testcase_command' => '/phpunit-selenium/Extensions/Selenium2TestCase/Command.php',
+ 'phpunit_extensions_selenium2testcase_commandsholder' => '/phpunit-selenium/Extensions/Selenium2TestCase/CommandsHolder.php',
+ 'phpunit_extensions_selenium2testcase_driver' => '/phpunit-selenium/Extensions/Selenium2TestCase/Driver.php',
+ 'phpunit_extensions_selenium2testcase_element' => '/phpunit-selenium/Extensions/Selenium2TestCase/Element.php',
+ 'phpunit_extensions_selenium2testcase_element_accessor' => '/phpunit-selenium/Extensions/Selenium2TestCase/Element/Accessor.php',
+ 'phpunit_extensions_selenium2testcase_element_select' => '/phpunit-selenium/Extensions/Selenium2TestCase/Element/Select.php',
+ 'phpunit_extensions_selenium2testcase_elementcommand_attribute' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCommand/Attribute.php',
+ 'phpunit_extensions_selenium2testcase_elementcommand_click' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCommand/Click.php',
+ 'phpunit_extensions_selenium2testcase_elementcommand_css' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCommand/Css.php',
+ 'phpunit_extensions_selenium2testcase_elementcommand_equals' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCommand/Equals.php',
+ 'phpunit_extensions_selenium2testcase_elementcommand_genericaccessor' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCommand/GenericAccessor.php',
+ 'phpunit_extensions_selenium2testcase_elementcommand_genericpost' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCommand/GenericPost.php',
+ 'phpunit_extensions_selenium2testcase_elementcommand_value' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCommand/Value.php',
+ 'phpunit_extensions_selenium2testcase_elementcriteria' => '/phpunit-selenium/Extensions/Selenium2TestCase/ElementCriteria.php',
+ 'phpunit_extensions_selenium2testcase_exception' => '/phpunit-selenium/Extensions/Selenium2TestCase/Exception.php',
+ 'phpunit_extensions_selenium2testcase_keys' => '/phpunit-selenium/Extensions/Selenium2TestCase/Keys.php',
+ 'phpunit_extensions_selenium2testcase_keysholder' => '/phpunit-selenium/Extensions/Selenium2TestCase/KeysHolder.php',
+ 'phpunit_extensions_selenium2testcase_noseleniumexception' => '/phpunit-selenium/Extensions/Selenium2TestCase/NoSeleniumException.php',
+ 'phpunit_extensions_selenium2testcase_response' => '/phpunit-selenium/Extensions/Selenium2TestCase/Response.php',
+ 'phpunit_extensions_selenium2testcase_screenshotlistener' => '/phpunit-selenium/Extensions/Selenium2TestCase/ScreenshotListener.php',
+ 'phpunit_extensions_selenium2testcase_session' => '/phpunit-selenium/Extensions/Selenium2TestCase/Session.php',
+ 'phpunit_extensions_selenium2testcase_session_cookie' => '/phpunit-selenium/Extensions/Selenium2TestCase/Session/Cookie.php',
+ 'phpunit_extensions_selenium2testcase_session_cookie_builder' => '/phpunit-selenium/Extensions/Selenium2TestCase/Session/Cookie/Builder.php',
+ 'phpunit_extensions_selenium2testcase_session_storage' => '/phpunit-selenium/Extensions/Selenium2TestCase/Session/Storage.php',
+ 'phpunit_extensions_selenium2testcase_session_timeouts' => '/phpunit-selenium/Extensions/Selenium2TestCase/Session/Timeouts.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_acceptalert' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/AcceptAlert.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_alerttext' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/AlertText.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_click' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Click.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_dismissalert' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/DismissAlert.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_file' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/File.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_frame' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Frame.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_genericaccessor' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/GenericAccessor.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_genericattribute' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/GenericAttribute.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_keys' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Keys.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_location' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Location.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_log' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Log.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_moveto' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/MoveTo.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_orientation' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Orientation.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_url' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Url.php',
+ 'phpunit_extensions_selenium2testcase_sessioncommand_window' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionCommand/Window.php',
+ 'phpunit_extensions_selenium2testcase_sessionstrategy' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionStrategy.php',
+ 'phpunit_extensions_selenium2testcase_sessionstrategy_isolated' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionStrategy/Isolated.php',
+ 'phpunit_extensions_selenium2testcase_sessionstrategy_shared' => '/phpunit-selenium/Extensions/Selenium2TestCase/SessionStrategy/Shared.php',
+ 'phpunit_extensions_selenium2testcase_statecommand' => '/phpunit-selenium/Extensions/Selenium2TestCase/StateCommand.php',
+ 'phpunit_extensions_selenium2testcase_url' => '/phpunit-selenium/Extensions/Selenium2TestCase/URL.php',
+ 'phpunit_extensions_selenium2testcase_waituntil' => '/phpunit-selenium/Extensions/Selenium2TestCase/WaitUntil.php',
+ 'phpunit_extensions_selenium2testcase_webdriverexception' => '/phpunit-selenium/Extensions/Selenium2TestCase/WebDriverException.php',
+ 'phpunit_extensions_selenium2testcase_window' => '/phpunit-selenium/Extensions/Selenium2TestCase/Window.php',
+ 'phpunit_extensions_seleniumbrowsersuite' => '/phpunit-selenium/Extensions/SeleniumBrowserSuite.php',
+ 'phpunit_extensions_seleniumcommon_exithandler' => '/phpunit-selenium/Extensions/SeleniumCommon/ExitHandler.php',
+ 'phpunit_extensions_seleniumcommon_remotecoverage' => '/phpunit-selenium/Extensions/SeleniumCommon/RemoteCoverage.php',
+ 'phpunit_extensions_seleniumtestcase' => '/phpunit-selenium/Extensions/SeleniumTestCase.php',
+ 'phpunit_extensions_seleniumtestcase_driver' => '/phpunit-selenium/Extensions/SeleniumTestCase/Driver.php',
+ 'phpunit_extensions_seleniumtestsuite' => '/phpunit-selenium/Extensions/SeleniumTestSuite.php',
+ 'phpunit_extensions_testdecorator' => '/phpunit/Extensions/TestDecorator.php',
+ 'phpunit_extensions_ticketlistener' => '/phpunit/Extensions/TicketListener.php',
+ 'phpunit_framework_assert' => '/phpunit/Framework/Assert.php',
+ 'phpunit_framework_assertionfailederror' => '/phpunit/Framework/AssertionFailedError.php',
+ 'phpunit_framework_basetestlistener' => '/phpunit/Framework/BaseTestListener.php',
+ 'phpunit_framework_codecoverageexception' => '/phpunit/Framework/CodeCoverageException.php',
+ 'phpunit_framework_constraint' => '/phpunit/Framework/Constraint.php',
+ 'phpunit_framework_constraint_and' => '/phpunit/Framework/Constraint/And.php',
+ 'phpunit_framework_constraint_arrayhaskey' => '/phpunit/Framework/Constraint/ArrayHasKey.php',
+ 'phpunit_framework_constraint_attribute' => '/phpunit/Framework/Constraint/Attribute.php',
+ 'phpunit_framework_constraint_callback' => '/phpunit/Framework/Constraint/Callback.php',
+ 'phpunit_framework_constraint_classhasattribute' => '/phpunit/Framework/Constraint/ClassHasAttribute.php',
+ 'phpunit_framework_constraint_classhasstaticattribute' => '/phpunit/Framework/Constraint/ClassHasStaticAttribute.php',
+ 'phpunit_framework_constraint_composite' => '/phpunit/Framework/Constraint/Composite.php',
+ 'phpunit_framework_constraint_count' => '/phpunit/Framework/Constraint/Count.php',
+ 'phpunit_framework_constraint_exception' => '/phpunit/Framework/Constraint/Exception.php',
+ 'phpunit_framework_constraint_exceptioncode' => '/phpunit/Framework/Constraint/ExceptionCode.php',
+ 'phpunit_framework_constraint_exceptionmessage' => '/phpunit/Framework/Constraint/ExceptionMessage.php',
+ 'phpunit_framework_constraint_fileexists' => '/phpunit/Framework/Constraint/FileExists.php',
+ 'phpunit_framework_constraint_greaterthan' => '/phpunit/Framework/Constraint/GreaterThan.php',
+ 'phpunit_framework_constraint_isanything' => '/phpunit/Framework/Constraint/IsAnything.php',
+ 'phpunit_framework_constraint_isempty' => '/phpunit/Framework/Constraint/IsEmpty.php',
+ 'phpunit_framework_constraint_isequal' => '/phpunit/Framework/Constraint/IsEqual.php',
+ 'phpunit_framework_constraint_isfalse' => '/phpunit/Framework/Constraint/IsFalse.php',
+ 'phpunit_framework_constraint_isidentical' => '/phpunit/Framework/Constraint/IsIdentical.php',
+ 'phpunit_framework_constraint_isinstanceof' => '/phpunit/Framework/Constraint/IsInstanceOf.php',
+ 'phpunit_framework_constraint_isjson' => '/phpunit/Framework/Constraint/IsJson.php',
+ 'phpunit_framework_constraint_isnull' => '/phpunit/Framework/Constraint/IsNull.php',
+ 'phpunit_framework_constraint_istrue' => '/phpunit/Framework/Constraint/IsTrue.php',
+ 'phpunit_framework_constraint_istype' => '/phpunit/Framework/Constraint/IsType.php',
+ 'phpunit_framework_constraint_jsonmatches' => '/phpunit/Framework/Constraint/JsonMatches.php',
+ 'phpunit_framework_constraint_jsonmatches_errormessageprovider' => '/phpunit/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
+ 'phpunit_framework_constraint_lessthan' => '/phpunit/Framework/Constraint/LessThan.php',
+ 'phpunit_framework_constraint_not' => '/phpunit/Framework/Constraint/Not.php',
+ 'phpunit_framework_constraint_objecthasattribute' => '/phpunit/Framework/Constraint/ObjectHasAttribute.php',
+ 'phpunit_framework_constraint_or' => '/phpunit/Framework/Constraint/Or.php',
+ 'phpunit_framework_constraint_pcrematch' => '/phpunit/Framework/Constraint/PCREMatch.php',
+ 'phpunit_framework_constraint_samesize' => '/phpunit/Framework/Constraint/SameSize.php',
+ 'phpunit_framework_constraint_stringcontains' => '/phpunit/Framework/Constraint/StringContains.php',
+ 'phpunit_framework_constraint_stringendswith' => '/phpunit/Framework/Constraint/StringEndsWith.php',
+ 'phpunit_framework_constraint_stringmatches' => '/phpunit/Framework/Constraint/StringMatches.php',
+ 'phpunit_framework_constraint_stringstartswith' => '/phpunit/Framework/Constraint/StringStartsWith.php',
+ 'phpunit_framework_constraint_traversablecontains' => '/phpunit/Framework/Constraint/TraversableContains.php',
+ 'phpunit_framework_constraint_traversablecontainsonly' => '/phpunit/Framework/Constraint/TraversableContainsOnly.php',
+ 'phpunit_framework_constraint_xor' => '/phpunit/Framework/Constraint/Xor.php',
+ 'phpunit_framework_error' => '/phpunit/Framework/Error.php',
+ 'phpunit_framework_error_deprecated' => '/phpunit/Framework/Error/Deprecated.php',
+ 'phpunit_framework_error_notice' => '/phpunit/Framework/Error/Notice.php',
+ 'phpunit_framework_error_warning' => '/phpunit/Framework/Error/Warning.php',
+ 'phpunit_framework_exception' => '/phpunit/Framework/Exception.php',
+ 'phpunit_framework_expectationfailedexception' => '/phpunit/Framework/ExpectationFailedException.php',
+ 'phpunit_framework_incompletetest' => '/phpunit/Framework/IncompleteTest.php',
+ 'phpunit_framework_incompletetesterror' => '/phpunit/Framework/IncompleteTestError.php',
+ 'phpunit_framework_invalidcoverstargeterror' => '/phpunit/Framework/InvalidCoversTargetError.php',
+ 'phpunit_framework_invalidcoverstargetexception' => '/phpunit/Framework/InvalidCoversTargetException.php',
+ 'phpunit_framework_mockobject_badmethodcallexception' => '/phpunit-mock-objects/Framework/MockObject/Exception/BadMethodCallException.php',
+ 'phpunit_framework_mockobject_builder_identity' => '/phpunit-mock-objects/Framework/MockObject/Builder/Identity.php',
+ 'phpunit_framework_mockobject_builder_invocationmocker' => '/phpunit-mock-objects/Framework/MockObject/Builder/InvocationMocker.php',
+ 'phpunit_framework_mockobject_builder_match' => '/phpunit-mock-objects/Framework/MockObject/Builder/Match.php',
+ 'phpunit_framework_mockobject_builder_methodnamematch' => '/phpunit-mock-objects/Framework/MockObject/Builder/MethodNameMatch.php',
+ 'phpunit_framework_mockobject_builder_namespace' => '/phpunit-mock-objects/Framework/MockObject/Builder/Namespace.php',
+ 'phpunit_framework_mockobject_builder_parametersmatch' => '/phpunit-mock-objects/Framework/MockObject/Builder/ParametersMatch.php',
+ 'phpunit_framework_mockobject_builder_stub' => '/phpunit-mock-objects/Framework/MockObject/Builder/Stub.php',
+ 'phpunit_framework_mockobject_exception' => '/phpunit-mock-objects/Framework/MockObject/Exception/Exception.php',
+ 'phpunit_framework_mockobject_generator' => '/phpunit-mock-objects/Framework/MockObject/Generator.php',
+ 'phpunit_framework_mockobject_invocation' => '/phpunit-mock-objects/Framework/MockObject/Invocation.php',
+ 'phpunit_framework_mockobject_invocation_object' => '/phpunit-mock-objects/Framework/MockObject/Invocation/Object.php',
+ 'phpunit_framework_mockobject_invocation_static' => '/phpunit-mock-objects/Framework/MockObject/Invocation/Static.php',
+ 'phpunit_framework_mockobject_invocationmocker' => '/phpunit-mock-objects/Framework/MockObject/InvocationMocker.php',
+ 'phpunit_framework_mockobject_invokable' => '/phpunit-mock-objects/Framework/MockObject/Invokable.php',
+ 'phpunit_framework_mockobject_matcher' => '/phpunit-mock-objects/Framework/MockObject/Matcher.php',
+ 'phpunit_framework_mockobject_matcher_anyinvokedcount' => '/phpunit-mock-objects/Framework/MockObject/Matcher/AnyInvokedCount.php',
+ 'phpunit_framework_mockobject_matcher_anyparameters' => '/phpunit-mock-objects/Framework/MockObject/Matcher/AnyParameters.php',
+ 'phpunit_framework_mockobject_matcher_consecutiveparameters' => '/phpunit-mock-objects/Framework/MockObject/Matcher/ConsecutiveParameters.php',
+ 'phpunit_framework_mockobject_matcher_invocation' => '/phpunit-mock-objects/Framework/MockObject/Matcher/Invocation.php',
+ 'phpunit_framework_mockobject_matcher_invokedatindex' => '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtIndex.php',
+ 'phpunit_framework_mockobject_matcher_invokedatleastonce' => '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
+ 'phpunit_framework_mockobject_matcher_invokedcount' => '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedCount.php',
+ 'phpunit_framework_mockobject_matcher_invokedrecorder' => '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedRecorder.php',
+ 'phpunit_framework_mockobject_matcher_methodname' => '/phpunit-mock-objects/Framework/MockObject/Matcher/MethodName.php',
+ 'phpunit_framework_mockobject_matcher_parameters' => '/phpunit-mock-objects/Framework/MockObject/Matcher/Parameters.php',
+ 'phpunit_framework_mockobject_matcher_statelessinvocation' => '/phpunit-mock-objects/Framework/MockObject/Matcher/StatelessInvocation.php',
+ 'phpunit_framework_mockobject_mockbuilder' => '/phpunit-mock-objects/Framework/MockObject/MockBuilder.php',
+ 'phpunit_framework_mockobject_mockobject' => '/phpunit-mock-objects/Framework/MockObject/MockObject.php',
+ 'phpunit_framework_mockobject_runtimeexception' => '/phpunit-mock-objects/Framework/MockObject/Exception/RuntimeException.php',
+ 'phpunit_framework_mockobject_stub' => '/phpunit-mock-objects/Framework/MockObject/Stub.php',
+ 'phpunit_framework_mockobject_stub_consecutivecalls' => '/phpunit-mock-objects/Framework/MockObject/Stub/ConsecutiveCalls.php',
+ 'phpunit_framework_mockobject_stub_exception' => '/phpunit-mock-objects/Framework/MockObject/Stub/Exception.php',
+ 'phpunit_framework_mockobject_stub_matchercollection' => '/phpunit-mock-objects/Framework/MockObject/Stub/MatcherCollection.php',
+ 'phpunit_framework_mockobject_stub_return' => '/phpunit-mock-objects/Framework/MockObject/Stub/Return.php',
+ 'phpunit_framework_mockobject_stub_returnargument' => '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnArgument.php',
+ 'phpunit_framework_mockobject_stub_returncallback' => '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnCallback.php',
+ 'phpunit_framework_mockobject_stub_returnself' => '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnSelf.php',
+ 'phpunit_framework_mockobject_stub_returnvaluemap' => '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnValueMap.php',
+ 'phpunit_framework_mockobject_verifiable' => '/phpunit-mock-objects/Framework/MockObject/Verifiable.php',
+ 'phpunit_framework_outputerror' => '/phpunit/Framework/OutputError.php',
+ 'phpunit_framework_riskytest' => '/phpunit/Framework/RiskyTest.php',
+ 'phpunit_framework_riskytesterror' => '/phpunit/Framework/RiskyTestError.php',
+ 'phpunit_framework_selfdescribing' => '/phpunit/Framework/SelfDescribing.php',
+ 'phpunit_framework_skippedtest' => '/phpunit/Framework/SkippedTest.php',
+ 'phpunit_framework_skippedtesterror' => '/phpunit/Framework/SkippedTestError.php',
+ 'phpunit_framework_skippedtestsuiteerror' => '/phpunit/Framework/SkippedTestSuiteError.php',
+ 'phpunit_framework_syntheticerror' => '/phpunit/Framework/SyntheticError.php',
+ 'phpunit_framework_test' => '/phpunit/Framework/Test.php',
+ 'phpunit_framework_testcase' => '/phpunit/Framework/TestCase.php',
+ 'phpunit_framework_testfailure' => '/phpunit/Framework/TestFailure.php',
+ 'phpunit_framework_testlistener' => '/phpunit/Framework/TestListener.php',
+ 'phpunit_framework_testresult' => '/phpunit/Framework/TestResult.php',
+ 'phpunit_framework_testsuite' => '/phpunit/Framework/TestSuite.php',
+ 'phpunit_framework_testsuite_dataprovider' => '/phpunit/Framework/TestSuite/DataProvider.php',
+ 'phpunit_framework_unintentionallycoveredcodeerror' => '/phpunit/Framework/UnintentionallyCoveredCodeError.php',
+ 'phpunit_framework_warning' => '/phpunit/Framework/Warning.php',
+ 'phpunit_runner_basetestrunner' => '/phpunit/Runner/BaseTestRunner.php',
+ 'phpunit_runner_exception' => '/phpunit/Runner/Exception.php',
+ 'phpunit_runner_filter_factory' => '/phpunit/Runner/Filter/Factory.php',
+ 'phpunit_runner_filter_group_exclude' => '/phpunit/Runner/Filter/Group/Exclude.php',
+ 'phpunit_runner_filter_group_include' => '/phpunit/Runner/Filter/Group/Include.php',
+ 'phpunit_runner_filter_groupfilteriterator' => '/phpunit/Runner/Filter/Group.php',
+ 'phpunit_runner_filter_test' => '/phpunit/Runner/Filter/Test.php',
+ 'phpunit_runner_standardtestsuiteloader' => '/phpunit/Runner/StandardTestSuiteLoader.php',
+ 'phpunit_runner_testsuiteloader' => '/phpunit/Runner/TestSuiteLoader.php',
+ 'phpunit_runner_version' => '/phpunit/Runner/Version.php',
+ 'phpunit_textui_command' => '/phpunit/TextUI/Command.php',
+ 'phpunit_textui_resultprinter' => '/phpunit/TextUI/ResultPrinter.php',
+ 'phpunit_textui_testrunner' => '/phpunit/TextUI/TestRunner.php',
+ 'phpunit_util_blacklist' => '/phpunit/Util/Blacklist.php',
+ 'phpunit_util_configuration' => '/phpunit/Util/Configuration.php',
+ 'phpunit_util_deprecatedfeature' => '/phpunit/Util/DeprecatedFeature.php',
+ 'phpunit_util_deprecatedfeature_logger' => '/phpunit/Util/DeprecatedFeature/Logger.php',
+ 'phpunit_util_errorhandler' => '/phpunit/Util/ErrorHandler.php',
+ 'phpunit_util_fileloader' => '/phpunit/Util/Fileloader.php',
+ 'phpunit_util_filesystem' => '/phpunit/Util/Filesystem.php',
+ 'phpunit_util_filter' => '/phpunit/Util/Filter.php',
+ 'phpunit_util_getopt' => '/phpunit/Util/Getopt.php',
+ 'phpunit_util_globalstate' => '/phpunit/Util/GlobalState.php',
+ 'phpunit_util_invalidargumenthelper' => '/phpunit/Util/InvalidArgumentHelper.php',
+ 'phpunit_util_log_json' => '/phpunit/Util/Log/JSON.php',
+ 'phpunit_util_log_junit' => '/phpunit/Util/Log/JUnit.php',
+ 'phpunit_util_log_tap' => '/phpunit/Util/Log/TAP.php',
+ 'phpunit_util_php' => '/phpunit/Util/PHP.php',
+ 'phpunit_util_php_default' => '/phpunit/Util/PHP/Default.php',
+ 'phpunit_util_php_windows' => '/phpunit/Util/PHP/Windows.php',
+ 'phpunit_util_printer' => '/phpunit/Util/Printer.php',
+ 'phpunit_util_string' => '/phpunit/Util/String.php',
+ 'phpunit_util_test' => '/phpunit/Util/Test.php',
+ 'phpunit_util_testdox_nameprettifier' => '/phpunit/Util/TestDox/NamePrettifier.php',
+ 'phpunit_util_testdox_resultprinter' => '/phpunit/Util/TestDox/ResultPrinter.php',
+ 'phpunit_util_testdox_resultprinter_html' => '/phpunit/Util/TestDox/ResultPrinter/HTML.php',
+ 'phpunit_util_testdox_resultprinter_text' => '/phpunit/Util/TestDox/ResultPrinter/Text.php',
+ 'phpunit_util_testsuiteiterator' => '/phpunit/Util/TestSuiteIterator.php',
+ 'phpunit_util_type' => '/phpunit/Util/Type.php',
+ 'phpunit_util_xml' => '/phpunit/Util/XML.php',
+ 'sebastianbergmann\\comparator\\arraycomparator' => '/sebastian-comparator/ArrayComparator.php',
+ 'sebastianbergmann\\comparator\\comparator' => '/sebastian-comparator/Comparator.php',
+ 'sebastianbergmann\\comparator\\comparisonfailure' => '/sebastian-comparator/ComparisonFailure.php',
+ 'sebastianbergmann\\comparator\\datetimecomparator' => '/sebastian-comparator/DateTimeComparator.php',
+ 'sebastianbergmann\\comparator\\domnodecomparator' => '/sebastian-comparator/DOMNodeComparator.php',
+ 'sebastianbergmann\\comparator\\doublecomparator' => '/sebastian-comparator/DoubleComparator.php',
+ 'sebastianbergmann\\comparator\\exceptioncomparator' => '/sebastian-comparator/ExceptionComparator.php',
+ 'sebastianbergmann\\comparator\\factory' => '/sebastian-comparator/Factory.php',
+ 'sebastianbergmann\\comparator\\mockobjectcomparator' => '/sebastian-comparator/MockObjectComparator.php',
+ 'sebastianbergmann\\comparator\\numericcomparator' => '/sebastian-comparator/NumericComparator.php',
+ 'sebastianbergmann\\comparator\\objectcomparator' => '/sebastian-comparator/ObjectComparator.php',
+ 'sebastianbergmann\\comparator\\resourcecomparator' => '/sebastian-comparator/ResourceComparator.php',
+ 'sebastianbergmann\\comparator\\scalarcomparator' => '/sebastian-comparator/ScalarComparator.php',
+ 'sebastianbergmann\\comparator\\splobjectstoragecomparator' => '/sebastian-comparator/SplObjectStorageComparator.php',
+ 'sebastianbergmann\\comparator\\typecomparator' => '/sebastian-comparator/TypeComparator.php',
+ 'sebastianbergmann\\diff\\chunk' => '/sebastian-diff/Chunk.php',
+ 'sebastianbergmann\\diff\\diff' => '/sebastian-diff/Diff.php',
+ 'sebastianbergmann\\diff\\differ' => '/sebastian-diff/Differ.php',
+ 'sebastianbergmann\\diff\\line' => '/sebastian-diff/Line.php',
+ 'sebastianbergmann\\diff\\parser' => '/sebastian-diff/Parser.php',
+ 'sebastianbergmann\\environment\\runtime' => '/sebastian-environment/Runtime.php',
+ 'sebastianbergmann\\exporter\\context' => '/sebastian-exporter/Context.php',
+ 'sebastianbergmann\\exporter\\exception' => '/sebastian-exporter/Exception.php',
+ 'sebastianbergmann\\exporter\\exporter' => '/sebastian-exporter/Exporter.php',
+ 'sebastianbergmann\\version' => '/sebastian-version/Version.php',
+ 'symfony\\component\\yaml\\dumper' => '/symfony/yaml/Symfony/Component/Yaml/Dumper.php',
+ 'symfony\\component\\yaml\\escaper' => '/symfony/yaml/Symfony/Component/Yaml/Escaper.php',
+ 'symfony\\component\\yaml\\exception\\dumpexception' => '/symfony/yaml/Symfony/Component/Yaml/Exception/DumpException.php',
+ 'symfony\\component\\yaml\\exception\\exceptioninterface' => '/symfony/yaml/Symfony/Component/Yaml/Exception/ExceptionInterface.php',
+ 'symfony\\component\\yaml\\exception\\parseexception' => '/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php',
+ 'symfony\\component\\yaml\\exception\\runtimeexception' => '/symfony/yaml/Symfony/Component/Yaml/Exception/RuntimeException.php',
+ 'symfony\\component\\yaml\\inline' => '/symfony/yaml/Symfony/Component/Yaml/Inline.php',
+ 'symfony\\component\\yaml\\parser' => '/symfony/yaml/Symfony/Component/Yaml/Parser.php',
+ 'symfony\\component\\yaml\\unescaper' => '/symfony/yaml/Symfony/Component/Yaml/Unescaper.php',
+ 'symfony\\component\\yaml\\yaml' => '/symfony/yaml/Symfony/Component/Yaml/Yaml.php',
+ 'text_template' => '/php-text-template/Template.php'
+ );
+ }
+
+ $class = strtolower($class);
+
+ if (isset($classes[$class])) {
+ require __PHPUNIT_PHAR_ROOT__ . $classes[$class];
+ }
+ }
+);
+
+Phar::mapPhar('phpunit-4.1.3.phar');
+
+if (isset($_SERVER['argv'][1]) && $_SERVER['argv'][1] == '--manifest') {
+ print file_get_contents(__PHPUNIT_PHAR_ROOT__ . '/manifest.txt');
+ exit;
+}
+
+if ($GLOBALS['_SERVER']['SCRIPT_NAME'] != '-') {
+ PHPUnit_TextUI_Command::main();
+}
+
+__HALT_COMPILER(); ?>
+ phpunit-4.1.3.phar $ phpunit/Framework/RiskyTestError.php)
+ dS)
+ y 0 phpunit/Framework/ExpectationFailedException.php dS - . phpunit/Framework/InvalidCoversTargetError.phph
+ dSh
+ $ phpunit/Framework/SelfDescribing.php<
+ dS<
+ l $ phpunit/Framework/IncompleteTest.php
+ dS
+ 8 ! phpunit/Framework/TestFailure.php dS Ŷ phpunit/Framework/Constraint.php dS /Vpж 2 phpunit/Framework/InvalidCoversTargetException.php dS ں &