diff --git a/core/composer.json b/core/composer.json
index c3b9317..cf50016 100644
--- a/core/composer.json
+++ b/core/composer.json
@@ -18,13 +18,13 @@
     "symfony/process": "2.6.*",
     "symfony/yaml": "2.6.*",
     "twig/twig": "1.16.*",
-    "doctrine/common": "dev-master#a45d110f71c323e29f41eb0696fa230e3fa1b1b5",
+    "doctrine/common": "2.4.*",
     "doctrine/annotations": "1.2.*",
     "guzzlehttp/guzzle": "~5.0",
     "symfony-cmf/routing": "1.3.*",
     "easyrdf/easyrdf": "0.9.*",
     "phpunit/phpunit": "4.4.*",
-    "phpunit/phpunit-mock-objects": "dev-master#e60bb929c50ae4237aaf680a4f6773f4ee17f0a2",
+    "phpunit/phpunit-mock-objects": "2.3.*",
     "zendframework/zend-feed": "2.3.*",
     "mikey179/vfsStream": "1.*",
     "stack/builder": "1.0.*",
diff --git a/core/composer.lock b/core/composer.lock
index e256f14..4ce9866 100644
--- a/core/composer.lock
+++ b/core/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "1f4fc5da6d6a4621e96ce7d576455f4c",
+    "hash": "be035a8761f865706f19ecaf27c1cda9",
     "packages": [
         {
             "name": "doctrine/annotations",
@@ -213,16 +213,16 @@
         },
         {
             "name": "doctrine/common",
-            "version": "dev-master",
+            "version": "v2.4.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/common.git",
-                "reference": "a45d110f71c323e29f41eb0696fa230e3fa1b1b5"
+                "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/common/zipball/a45d110f71c323e29f41eb0696fa230e3fa1b1b5",
-                "reference": "a45d110f71c323e29f41eb0696fa230e3fa1b1b5",
+                "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b",
+                "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b",
                 "shasum": ""
             },
             "require": {
@@ -239,7 +239,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.5.x-dev"
+                    "dev-master": "2.4.x-dev"
                 }
             },
             "autoload": {
@@ -274,7 +274,7 @@
                 {
                     "name": "Johannes Schmitt",
                     "email": "schmittjoh@gmail.com",
-                    "homepage": "http://jmsyst.com",
+                    "homepage": "https://github.com/schmittjoh",
                     "role": "Developer of wrapped JMSSerializerBundle"
                 }
             ],
@@ -287,7 +287,7 @@
                 "persistence",
                 "spl"
             ],
-            "time": "2014-01-12 22:00:08"
+            "time": "2014-05-21 19:28:51"
         },
         {
             "name": "doctrine/inflector",
@@ -1086,25 +1086,25 @@
         },
         {
             "name": "phpunit/phpunit-mock-objects",
-            "version": "dev-master",
+            "version": "2.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                "reference": "e60bb929c50ae4237aaf680a4f6773f4ee17f0a2"
+                "reference": "c63d2367247365f688544f0d500af90a11a44c65"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/96c5b81f9842f38fe6c73ad0020306cc4862a9e3",
-                "reference": "e60bb929c50ae4237aaf680a4f6773f4ee17f0a2",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/c63d2367247365f688544f0d500af90a11a44c65",
+                "reference": "c63d2367247365f688544f0d500af90a11a44c65",
                 "shasum": ""
             },
             "require": {
-                "doctrine/instantiator": "~1.0,>=1.0.2",
+                "doctrine/instantiator": "~1.0,>=1.0.1",
                 "php": ">=5.3.3",
                 "phpunit/php-text-template": "~1.2"
             },
             "require-dev": {
-                "phpunit/phpunit": "4.4.*@dev"
+                "phpunit/phpunit": "~4.3"
             },
             "suggest": {
                 "ext-soap": "*"
@@ -1112,7 +1112,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.4.x-dev"
+                    "dev-master": "2.3.x-dev"
                 }
             },
             "autoload": {
@@ -1137,7 +1137,7 @@
                 "mock",
                 "xunit"
             ],
-            "time": "2014-10-04 10:04:20"
+            "time": "2014-10-03 05:12:11"
         },
         {
             "name": "psr/log",
@@ -2640,10 +2640,7 @@
     "packages-dev": [],
     "aliases": [],
     "minimum-stability": "stable",
-    "stability-flags": {
-        "doctrine/common": 20,
-        "phpunit/phpunit-mock-objects": 20
-    },
+    "stability-flags": [],
     "prefer-stable": false,
     "prefer-lowest": false,
     "platform": {
diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php
index 39826c5..97962d3 100644
--- a/core/vendor/composer/autoload_classmap.php
+++ b/core/vendor/composer/autoload_classmap.php
@@ -91,9 +91,12 @@
     'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php',
     'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php',
     'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php',
+    'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php',
     'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php',
     'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php',
     'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php',
     'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php',
     'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php',
     'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php',
diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json
index bc37a15..6bca458 100644
--- a/core/vendor/composer/installed.json
+++ b/core/vendor/composer/installed.json
@@ -330,86 +330,6 @@
         ]
     },
     {
-        "name": "doctrine/common",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/common.git",
-            "reference": "a45d110f71c323e29f41eb0696fa230e3fa1b1b5"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/common/zipball/a45d110f71c323e29f41eb0696fa230e3fa1b1b5",
-            "reference": "a45d110f71c323e29f41eb0696fa230e3fa1b1b5",
-            "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"
-        },
-        "time": "2014-01-12 22:00:08",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.5.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com",
-                "homepage": "http://www.jwage.com/",
-                "role": "Creator"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com",
-                "homepage": "http://www.instaclick.com"
-            },
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com",
-                "homepage": "http://jmsyst.com",
-                "role": "Developer of wrapped JMSSerializerBundle"
-            }
-        ],
-        "description": "Common Library for Doctrine projects",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "annotations",
-            "collections",
-            "eventmanager",
-            "persistence",
-            "spl"
-        ]
-    },
-    {
         "name": "react/promise",
         "version": "v2.1.0",
         "version_normalized": "2.1.0.0",
@@ -925,63 +845,6 @@
         ]
     },
     {
-        "name": "phpunit/phpunit-mock-objects",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-            "reference": "e60bb929c50ae4237aaf680a4f6773f4ee17f0a2"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/96c5b81f9842f38fe6c73ad0020306cc4862a9e3",
-            "reference": "e60bb929c50ae4237aaf680a4f6773f4ee17f0a2",
-            "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": "*"
-        },
-        "time": "2014-10-04 10:04:20",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.4.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Mock Object library for PHPUnit",
-        "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-        "keywords": [
-            "mock",
-            "xunit"
-        ]
-    },
-    {
         "name": "phpunit/php-timer",
         "version": "1.0.5",
         "version_normalized": "1.0.5.0",
@@ -2724,5 +2587,142 @@
             "testing",
             "xunit"
         ]
+    },
+    {
+        "name": "phpunit/phpunit-mock-objects",
+        "version": "2.3.0",
+        "version_normalized": "2.3.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+            "reference": "c63d2367247365f688544f0d500af90a11a44c65"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/c63d2367247365f688544f0d500af90a11a44c65",
+            "reference": "c63d2367247365f688544f0d500af90a11a44c65",
+            "shasum": ""
+        },
+        "require": {
+            "doctrine/instantiator": "~1.0,>=1.0.1",
+            "php": ">=5.3.3",
+            "phpunit/php-text-template": "~1.2"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.3"
+        },
+        "suggest": {
+            "ext-soap": "*"
+        },
+        "time": "2014-10-03 05:12:11",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.3.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sb@sebastian-bergmann.de",
+                "role": "lead"
+            }
+        ],
+        "description": "Mock Object library for PHPUnit",
+        "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+        "keywords": [
+            "mock",
+            "xunit"
+        ]
+    },
+    {
+        "name": "doctrine/common",
+        "version": "v2.4.2",
+        "version_normalized": "2.4.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/common.git",
+            "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b",
+            "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b",
+            "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"
+        },
+        "time": "2014-05-21 19:28:51",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.4.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common\\": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com",
+                "homepage": "http://www.jwage.com/",
+                "role": "Creator"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com",
+                "homepage": "http://www.instaclick.com"
+            },
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com",
+                "homepage": "https://github.com/schmittjoh",
+                "role": "Developer of wrapped JMSSerializerBundle"
+            }
+        ],
+        "description": "Common Library for Doctrine projects",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "annotations",
+            "collections",
+            "eventmanager",
+            "persistence",
+            "spl"
+        ]
     }
 ]
diff --git a/core/vendor/doctrine/common/README.md b/core/vendor/doctrine/common/README.md
index c63f762..30a080f 100644
--- a/core/vendor/doctrine/common/README.md
+++ b/core/vendor/doctrine/common/README.md
@@ -7,6 +7,6 @@ The Doctrine Common project is a library that provides extensions to core PHP fu
 ## More resources:
 
 * [Website](http://www.doctrine-project.org)
-* [Documentation](http://www.doctrine-project.org/projects/common/current/docs/en)
+* [Documentation](http://docs.doctrine-project.org/projects/doctrine-common/en/latest/)
 * [Issue Tracker](http://www.doctrine-project.org/jira/browse/DCOM)
 * [Downloads](http://github.com/doctrine/common/downloads)
diff --git a/core/vendor/doctrine/common/composer.json b/core/vendor/doctrine/common/composer.json
index 4f4f215..325c75c 100644
--- a/core/vendor/doctrine/common/composer.json
+++ b/core/vendor/doctrine/common/composer.json
@@ -29,7 +29,7 @@
     },
     "extra": {
         "branch-alias": {
-            "dev-master": "2.5.x-dev"
+            "dev-master": "2.4.x-dev"
         }
     },
     "archive": {
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php
index 1737243..6668e61 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php
@@ -49,6 +49,13 @@
     protected $paths = array();
 
     /**
+     * The paths excluded from path where to look for mapping files.
+     *
+     * @var array
+     */
+    protected $excludePaths = array();
+
+    /**
      * The file extension of mapping documents.
      *
      * @var string
@@ -107,7 +114,27 @@ public function getPaths()
     }
 
     /**
-     * Retrieves the current annotation reader.
+     * Append exclude lookup paths to metadata driver.
+     *
+     * @param array $paths
+     */
+    public function addExcludePaths(array $paths)
+    {
+        $this->excludePaths = array_unique(array_merge($this->excludePaths, $paths));
+    }
+
+    /**
+     * Retrieve the defined metadata lookup exclude paths.
+     *
+     * @return array
+     */
+    public function getExcludePaths()
+    {
+        return $this->excludePaths;
+    }
+
+    /**
+     * Retrieve the current annotation reader
      *
      * @return AnnotationReader
      */
@@ -192,7 +219,20 @@ public function getAllClassNames()
             );
 
             foreach ($iterator as $file) {
-                $sourceFile = realpath($file[0]);
+                $sourceFile = $file[0];
+
+                if ( ! preg_match('(^phar:)i', $sourceFile)) {
+                    $sourceFile = realpath($sourceFile);
+                }
+
+                foreach ($this->excludePaths as $excludePath) {
+                    $exclude = str_replace('\\', '/', realpath($excludePath));
+                    $current = str_replace('\\', '/', $sourceFile);
+
+                    if (strpos($current, $exclude) !== false) {
+                        continue 2;
+                    }
+                }
 
                 require_once $sourceFile;
 
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php
index c5a37a8..b9acf9c 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php
@@ -21,6 +21,9 @@
 
 use ReflectionClass;
 use ReflectionProperty;
+use ReflectionMethod;
+use ReflectionException;
+
 use Doctrine\Common\Reflection\RuntimePublicReflectionProperty;
 use Doctrine\Common\Persistence\Mapping\MappingException;
 
@@ -92,6 +95,12 @@ public function getAccessibleProperty($class, $property)
      */
     public function hasPublicMethod($class, $method)
     {
-        return method_exists($class, $method) && is_callable(array($class, $method));
+        try {
+            $reflectionMethod = new ReflectionMethod($class, $method);
+        } catch (ReflectionException $e) {
+            return false;
+        }
+
+        return $reflectionMethod->isPublic();
     }
 }
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php
index f903097..e5bcb06 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php
@@ -78,6 +78,6 @@ public function getAccessibleProperty($class, $property)
      */
     public function hasPublicMethod($class, $method)
     {
-        return method_exists($class, $method) && is_callable(array($class, $method));
+        return true;
     }
 }
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php
index 0959ce5..8f25c9a 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php
@@ -48,17 +48,10 @@ private function __construct()
      * @param mixed   $var       The variable to dump.
      * @param integer $maxDepth  The maximum nesting level for object properties.
      * @param boolean $stripTags Whether output should strip HTML tags.
-     * @param boolean $echo      Send the dumped value to the output buffer
-     *
-     * @return string
      */
-    public static function dump($var, $maxDepth = 2, $stripTags = true, $echo = true)
+    public static function dump($var, $maxDepth = 2, $stripTags = true)
     {
-        $html = ini_get('html_errors');
-
-        if ($html !== true) {
-            ini_set('html_errors', true);
-        }
+        ini_set('html_errors', 'On');
 
         if (extension_loaded('xdebug')) {
             ini_set('xdebug.var_display_max_depth', $maxDepth);
@@ -68,20 +61,12 @@ public static function dump($var, $maxDepth = 2, $stripTags = true, $echo = true
 
         ob_start();
         var_dump($var);
-
         $dump = ob_get_contents();
-
         ob_end_clean();
 
-        $dumpText = ($stripTags ? strip_tags(html_entity_decode($dump)) : $dump);
+        echo ($stripTags ? strip_tags(html_entity_decode($dump)) : $dump);
 
-        ini_set('html_errors', $html);
-        
-        if ($echo) {
-            echo $dumpText;
-        }
-        
-        return $dumpText;
+        ini_set('html_errors', 'Off');
     }
 
     /**
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php
index bc9e2bd..ea1760a 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php
@@ -34,7 +34,7 @@ class Version
     /**
      * Current Doctrine Version.
      */
-    const VERSION = '2.5.0-DEV';
+    const VERSION = '2.4.2';
 
     /**
      * Compares a Doctrine version with the current one.
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/AnnotationDriverTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/AnnotationDriverTest.php
new file mode 100644
index 0000000..ab6cc5c
--- /dev/null
+++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/AnnotationDriverTest.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace Doctrine\Tests\Common\Persistence\Mapping;
+
+use Doctrine\Common\Annotations\AnnotationReader;
+use Doctrine\Common\Persistence\Mapping\Driver\AnnotationDriver;
+use Doctrine\Common\Persistence\Mapping\ClassMetadata;
+
+class AnnotationDriverTest extends \PHPUnit_Framework_TestCase
+{
+    public function testGetAllClassNames()
+    {
+        $reader = new AnnotationReader();
+        $driver = new SimpleAnnotationDriver($reader, array(__DIR__ . '/_files/annotation'));
+
+        $classes = $driver->getAllClassNames();
+
+        $this->assertEquals(array('Doctrine\TestClass'), $classes);
+    }
+}
+
+class SimpleAnnotationDriver extends AnnotationDriver
+{
+    protected $entityAnnotationClasses = array('Doctrine\Entity' => true);
+
+    public function loadMetadataForClass($className, ClassMetadata $metadata)
+    {
+    }
+}
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php
index 1dd7a7a..9054b6c 100644
--- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php
+++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php
@@ -58,7 +58,7 @@ public function testGetReflectionClass()
     public function testGetMethods()
     {
         $this->assertTrue($this->reflectionService->hasPublicMethod(__CLASS__, "testGetMethods"));
-        $this->assertFalse($this->reflectionService->hasPublicMethod(__CLASS__, "testGetMethods2"));
+        $this->assertTrue($this->reflectionService->hasPublicMethod(__CLASS__, "testGetMethods2"));
     }
 
     public function testGetAccessibleProperty()
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/annotation/TestClass.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/annotation/TestClass.php
new file mode 100644
index 0000000..ff03568
--- /dev/null
+++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/annotation/TestClass.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace Doctrine;
+
+/**
+ * @Doctrine\Entity
+ */
+class TestClass
+{
+}
+
+/**
+ * @Annotation
+ */
+class Entity
+{
+}
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php
index 66e8337..f6fc069 100644
--- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php
+++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php
@@ -37,29 +37,4 @@ public function testExportArrayTraversable()
         $var = Debug::export($it, 5);
         $this->assertContains('foobar', $var->__STORAGE__);
     }
-
-    public function testReturnsOutput()
-    {
-        ob_start();
-
-        $dump        = Debug::dump('foo');
-        $outputValue = ob_get_contents();
-
-        ob_end_clean();
-
-        $this->assertSame($outputValue, $dump);
-    }
-
-    public function testDisablesOutput()
-    {
-        ob_start();
-
-        $dump        = Debug::dump('foo', 2, true, false);
-        $outputValue = ob_get_contents();
-
-        ob_end_clean();
-
-        $this->assertEmpty($outputValue);
-        $this->assertNotSame($outputValue, $dump);
-    }
 }
diff --git a/core/vendor/doctrine/common/tests/NativePhpunitTask.php b/core/vendor/doctrine/common/tests/NativePhpunitTask.php
deleted file mode 100644
index 7033283..0000000
--- a/core/vendor/doctrine/common/tests/NativePhpunitTask.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php
-/**
- * Native PHPUnit Task
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to kontakt@beberlei.de so I can send you a copy immediately.
- */
-
-require_once 'PHPUnit/Autoload.php';
-
-/**
- * A more flexible and powerful PHPUnit Task than the native Phing one.
- *
- * Plus forward compatibility for PHPUnit 3.5 and later is ensured by using the PHPUnit Test Runner instead of implementing one.
- *
- * @author Benjamin Eberlei <kontakt@beberlei.de>
- */
-class NativePhpunitTask extends Task
-{
-    private $test;
-    private $testfile;
-    private $testdirectory;
-    private $configuration = null;
-    private $coverageClover = null;
-    private $junitlogfile = null;
-    private $haltonfailure = true;
-    private $haltonerror = true;
-
-    public function setTestdirectory($directory) {
-        $this->testdirectory = $directory;
-    }
-
-    public function setTest($test) {
-        $this->test = $test;
-    }
-
-    public function setTestfile($testfile) {
-        $this->testfile = $testfile;
-    }
-
-    public function setJunitlogfile($junitlogfile) {
-        if (strlen($junitlogfile) == 0) {
-            $junitlogfile = NULL;
-        }
-
-        $this->junitlogfile = $junitlogfile;
-    }
-
-    public function setConfiguration($configuration) {
-        if (strlen($configuration) == 0) {
-            $configuration = NULL;
-        }
-
-        $this->configuration = $configuration;
-    }
-
-    public function setCoverageClover($coverageClover) {
-        if (strlen($coverageClover) == 0) {
-            $coverageClover = NULL;
-        }
-
-        $this->coverageClover = $coverageClover;
-    }
-
-    public function setHaltonfailure($haltonfailures) {
-        $this->haltonfailure = $haltonfailures;
-    }
-
-    public function setHaltonerror($haltonerrors) {
-        $this->haltonerror = $haltonerrors;
-    }
-
-    public function init()
-    {
-        require_once "PHPUnit/Runner/Version.php";
-        $version = PHPUnit_Runner_Version::id();
-
-        if (version_compare($version, '3.4.0') < 0) {
-            throw new BuildException("NativePHPUnitTask requires PHPUnit version >= 3.2.0", $this->getLocation());
-        }
-
-        require_once 'PHPUnit/Util/Filter.php';
-
-        // point PHPUnit_MAIN_METHOD define to non-existing method
-        if (!defined('PHPUnit_MAIN_METHOD')) {
-            define('PHPUnit_MAIN_METHOD', 'PHPUnitTask::undefined');
-        }
-    }
-
-    public function main()
-    {
-        if (!is_dir(realpath($this->testdirectory))) {
-            throw new BuildException("NativePHPUnitTask requires a Test Directory path given, '".$this->testdirectory."' given.");
-        }
-        set_include_path(realpath($this->testdirectory) . PATH_SEPARATOR . get_include_path());
-
-        $printer = new NativePhpunitPrinter();
-
-        $arguments = array(
-            'configuration' => $this->configuration,
-            'coverageClover' => $this->coverageClover,
-            'junitLogfile' => $this->junitlogfile,
-            'printer' => $printer,
-        );
-
-        $runner = new PHPUnit_TextUI_TestRunner();
-        $suite = $runner->getTest($this->test, $this->testfile, true);
-
-        try {
-            $result = $runner->doRun($suite, $arguments);
-            /* @var $result PHPUnit_Framework_TestResult */
-
-            if ( ($this->haltonfailure && $result->failureCount() > 0) || ($this->haltonerror && $result->errorCount() > 0) ) {
-                throw new BuildException("PHPUnit: ".$result->failureCount()." Failures and ".$result->errorCount()." Errors, ".
-                    "last failure message: ".$printer->getMessages());
-            }
-
-            $this->log("PHPUnit Success: ".count($result->passed())." tests passed, no ".
-                "failures (".$result->skippedCount()." skipped, ".$result->notImplementedCount()." not implemented)");
-
-            // Hudson for example doesn't like the backslash in class names
-            if (is_file($this->coverageClover)) {
-                $this->log("Generated Clover Coverage XML to: ".$this->coverageClover);
-                $content = file_get_contents($this->coverageClover);
-                $content = str_replace("\\", ".", $content);
-                file_put_contents($this->coverageClover, $content);
-                unset($content);
-            }
-
-        } catch(\Exception $e) {
-            throw new BuildException("NativePhpunitTask failed: ".$e->getMessage());
-        }
-    }
-}
-
-class NativePhpunitPrinter extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    private $_messages = array();
-
-    public function write($buffer)
-    {
-        // do nothing
-    }
-
-    public function getMessages()
-    {
-        return $this->_messages;
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param  PHPUnit_Framework_Test $test
-     * @param  Exception              $e
-     * @param  float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->_messages[] = "Test ERROR: ".$test->getName().": ".$e->getMessage();
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param  PHPUnit_Framework_Test                 $test
-     * @param  PHPUnit_Framework_AssertionFailedError $e
-     * @param  float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->_messages[] = "Test FAILED: ".$test->getName().": ".$e->getMessage();
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param  PHPUnit_Framework_Test $test
-     * @param  Exception              $e
-     * @param  float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param  PHPUnit_Framework_Test $test
-     * @param  Exception              $e
-     * @param  float                  $time
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-
-    }
-
-    /**
-     * A test suite started.
-     *
-     * @param  PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-
-    }
-
-    /**
-     * A test suite ended.
-     *
-     * @param  PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-
-    }
-
-    /**
-     * A test started.
-     *
-     * @param  PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param  PHPUnit_Framework_Test $test
-     * @param  float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/.travis.yml b/core/vendor/phpunit/phpunit-mock-objects/.travis.yml
index b6a76ec..e536e65 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/.travis.yml
+++ b/core/vendor/phpunit/phpunit-mock-objects/.travis.yml
@@ -14,10 +14,6 @@ php:
   - 5.6
   - hhvm
 
-matrix:
-  allow_failures:
-    - php: hhvm
-
 notifications:
   email: false
   webhooks:
diff --git a/core/vendor/phpunit/phpunit-mock-objects/README.md b/core/vendor/phpunit/phpunit-mock-objects/README.md
index 60dd0f7..cb855a8 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/README.md
+++ b/core/vendor/phpunit/phpunit-mock-objects/README.md
@@ -1,5 +1,5 @@
 [![Latest Stable Version](https://poser.pugx.org/phpunit/phpunit-mock-objects/v/stable.png)](https://packagist.org/packages/phpunit/phpunit-mock-objects)
-[![Build Status](https://travis-ci.org/sebastianbergmann/phpunit-mock-objects.png?branch=2.0)](https://travis-ci.org/sebastianbergmann/phpunit-mock-objects)
+[![Build Status](https://travis-ci.org/sebastianbergmann/phpunit-mock-objects.png?branch=master)](https://travis-ci.org/sebastianbergmann/phpunit-mock-objects)
 
 # PHPUnit_MockObject
 
@@ -15,7 +15,7 @@ To add PHPUnit_MockObject as a local, per-project dependency to your project, si
 
     {
         "require": {
-            "phpunit/phpunit-mock-objects": "2.0.*"
+            "phpunit/phpunit-mock-objects": "2.1.*"
         }
     }
 
diff --git a/core/vendor/phpunit/phpunit-mock-objects/build.xml b/core/vendor/phpunit/phpunit-mock-objects/build.xml
index aa44cbe..c93503e 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/build.xml
+++ b/core/vendor/phpunit/phpunit-mock-objects/build.xml
@@ -30,14 +30,6 @@
   </exec>
  </target>
 
- <target name="phpab" description="Generate autoloader script">
-  <exec executable="phpab">
-   <arg value="--output" />
-   <arg path="tests/autoload.php" />
-   <arg path="tests" />
-  </exec>
- </target>
-
  <target name="phpcs" description="Find coding standard violations using PHP_CodeSniffer">
   <exec executable="phpcs">
    <arg value="--standard=PSR2" />
diff --git a/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml b/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
index 92b0c16..b8498fb 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
+++ b/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.0/phpunit.xsd"
+         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
          bootstrap="../tests/bootstrap.php"
          backupGlobals="false"
          verbose="true">
diff --git a/core/vendor/phpunit/phpunit-mock-objects/composer.json b/core/vendor/phpunit/phpunit-mock-objects/composer.json
index 2dd28d6..87f270e 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/composer.json
+++ b/core/vendor/phpunit/phpunit-mock-objects/composer.json
@@ -21,10 +21,11 @@
     },
     "require": {
         "php": ">=5.3.3",
-        "phpunit/php-text-template": "~1.2"
+        "phpunit/php-text-template": "~1.2",
+        "doctrine/instantiator": "~1.0,>=1.0.1"
     },
     "require-dev": {
-        "phpunit/phpunit": ">=4.0.0,<4.1.0"
+        "phpunit/phpunit": "~4.3"
     },
     "suggest": {
         "ext-soap": "*"
@@ -34,13 +35,15 @@
             "src/"
         ]
     },
+    "autoload-dev": {
+        "classmap": [
+            "tests/_fixture/"
+        ]
+    },
     "extra": {
         "branch-alias": {
-            "dev-master": "2.0.x-dev"
+            "dev-master": "2.3.x-dev"
         }
-    },
-    "include-path": [
-        ""
-    ]
+    }
 }
 
diff --git a/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist b/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
index 170ba32..e2186ea 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
+++ b/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.0/phpunit.xsd"
+         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
          bootstrap="tests/bootstrap.php"
          backupGlobals="false"
          verbose="true">
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
index 3bab645..9b83c17 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
@@ -212,13 +212,12 @@ public function after($id)
     }
 
     /**
-     * @param  mixed                                                 $argument, ...
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
+     * Validate that a parameters matcher can be defined, throw exceptions otherwise.
+     *
+     * @throws PHPUnit_Framework_Exception
      */
-    public function with()
+    private function canDefineParameters()
     {
-        $args = func_get_args();
-
         if ($this->matcher->methodNameMatcher === NULL) {
             throw new PHPUnit_Framework_Exception(
               'Method name matcher is not defined, cannot define parameter ' .
@@ -231,6 +230,17 @@ public function with()
               'Parameter matcher is already defined, cannot redefine'
             );
         }
+    }
+
+    /**
+     * @param  mixed                                                 $argument, ...
+     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
+     */
+    public function with()
+    {
+        $args = func_get_args();
+
+        $this->canDefineParameters();
 
         $this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_Parameters($args);
 
@@ -238,22 +248,27 @@ public function with()
     }
 
     /**
+     * @param  mixed ...$argument
+     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
+     */
+    public function withConsecutive() {
+
+        $args = func_get_args();
+
+        $this->canDefineParameters();
+
+        $this->matcher->parametersMatcher =
+          new PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters($args);
+
+        return $this;
+    }
+
+    /**
      * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
      */
     public function withAnyParameters()
     {
-        if ($this->matcher->methodNameMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'Method name matcher is not defined, cannot define parameter ' .
-              'matcher without one'
-            );
-        }
-
-        if ($this->matcher->parametersMatcher !== NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'Parameter matcher is already defined, cannot redefine'
-            );
-        }
+        $this->canDefineParameters();
 
         $this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
 
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
index 7e2983c..8d9151c 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
@@ -42,6 +42,10 @@
  * @since      File available since Release 1.0.0
  */
 
+use Doctrine\Instantiator\Instantiator;
+use Doctrine\Instantiator\Exception\InvalidArgumentException as InstantiatorInvalidArgumentException;
+use Doctrine\Instantiator\Exception\UnexpectedValueException as InstantiatorUnexpectedValueException;
+
 if (!function_exists('trait_exists')) {
     function trait_exists($traitname, $autoload = true)
     {
@@ -186,6 +190,25 @@ public function getMock($type, $methods = array(), array $arguments = array(), $
             throw new InvalidArgumentException;
         }
 
+        if ($type === 'Traversable' || $type === '\\Traversable') {
+            $type = 'Iterator';
+        }
+
+        if (is_array($type)) {
+            $type = array_unique(array_map(
+              function ($type) {
+                  if ($type === 'Traversable' ||
+                      $type === '\\Traversable' ||
+                      $type === '\\Iterator') {
+                      return 'Iterator';
+                  }
+
+                  return $type;
+              },
+              $type
+            ));
+        }
+
         if (NULL !== $methods) {
             foreach ($methods as $method) {
                 if (!preg_match('~[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*~', $method)) {
@@ -268,22 +291,21 @@ protected function getObject($code, $className, $type = '', $callOriginalConstru
                 $object = $class->newInstanceArgs($arguments);
             }
         } else {
-            $class = new ReflectionClass('ReflectionClass');
-            $hasNewInstanceWithoutConstructor = $class->hasMethod('newInstanceWithoutConstructor');;
-
-            $class      = new ReflectionClass($className);
-            $isInternal = $this->isInternalClass($class);
-
-            if ($isInternal || !$hasNewInstanceWithoutConstructor) {
-                $object = unserialize(
-                    sprintf('%s:%d:"%s":0:{}',
-                        (version_compare(PHP_VERSION, '5.4', '>') && $class->implementsInterface("Serializable") ? "C" : "O"),
-                        strlen($className),
-                        $className
-                    )
+            try {
+                $instantiator = new Instantiator;
+                $object       = $instantiator->instantiate($className);
+            } catch (InstantiatorUnexpectedValueException $exception) {
+                if($exception->getPrevious()) {
+                    $exception = $exception->getPrevious();
+                }
+
+                throw new PHPUnit_Framework_MockObject_RuntimeException(
+                  $exception->getMessage()
+                );
+            } catch (InstantiatorInvalidArgumentException $exception) {
+                throw new PHPUnit_Framework_MockObject_RuntimeException(
+                  $exception->getMessage()
                 );
-            } else {
-                $object = $class->newInstanceWithoutConstructor();
             }
         }
 
@@ -889,12 +911,20 @@ protected function generateMockClassDeclaration(array $mockClassName, $isInterfa
 
         if ($isInterface) {
             $buffer .= sprintf(
-              "%s implements %s, %s%s",
+              "%s implements %s",
               $mockClassName['className'],
-              $interfaces,
-              !empty($mockClassName['namespaceName']) ? $mockClassName['namespaceName'] . '\\' : '',
-              $mockClassName['originalClassName']
+              $interfaces
             );
+
+            if (!in_array($mockClassName['originalClassName'], $additionalInterfaces)) {
+                $buffer .= ', ';
+
+                if (!empty($mockClassName['namespaceName'])) {
+                    $buffer .= $mockClassName['namespaceName'] . '\\';
+                }
+
+                $buffer .= $mockClassName['originalClassName'];
+            }
         } else {
             $buffer .= sprintf(
               "%s extends %s%s implements %s",
@@ -1029,6 +1059,14 @@ protected function getMethodParameters(ReflectionMethod $method, $forCall = FALS
                 $name = '$arg' . $i;
             }
 
+            if ($this->isVariadic($parameter)) {
+                if ($forCall) {
+                    continue;
+                } else {
+                    $name = '...' . $name;
+                }
+            }
+
             $default   = '';
             $reference = '';
             $typeHint  = '';
@@ -1060,11 +1098,13 @@ protected function getMethodParameters(ReflectionMethod $method, $forCall = FALS
                     }
                 }
 
-                if ($parameter->isDefaultValueAvailable()) {
-                    $value   = $parameter->getDefaultValue();
-                    $default = ' = ' . var_export($value, TRUE);
-                } elseif ($parameter->isOptional()) {
-                    $default = ' = null';
+                if (!$this->isVariadic($parameter)) {
+                    if ($parameter->isDefaultValueAvailable()) {
+                        $value = $parameter->getDefaultValue();
+                        $default = ' = ' . var_export($value, TRUE);
+                    } elseif ($parameter->isOptional()) {
+                        $default = ' = null';
+                    }
                 }
             }
 
@@ -1079,20 +1119,12 @@ protected function getMethodParameters(ReflectionMethod $method, $forCall = FALS
     }
 
     /**
-     * @param  ReflectionClass $class
+     * @param  ReflectionParameter $parameter
      * @return boolean
-     * @since  Method available since Release 2.0.8
+     * @since  Method available since Release 2.2.1
      */
-    private function isInternalClass(ReflectionClass $class)
+    private function isVariadic(ReflectionParameter $parameter)
     {
-        while ($class) {
-            if ($class->isInternal()) {
-                return true;
-            }
-
-            $class = $class->getParentClass();
-        }
-
-        return false;
+        return method_exists('ReflectionParameter', 'isVariadic') && $parameter->isVariadic();
     }
 }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
index 5a0e11b..e69b65c 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
@@ -43,7 +43,7 @@
  */
 
 /**
- * Invocation matcher which allos any parameters to a method.
+ * Invocation matcher which allows any parameters to a method.
  *
  * @package    PHPUnit_MockObject
  * @author     Sebastian Bergmann <sebastian@phpunit.de>
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php
new file mode 100644
index 0000000..5c9368b
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php
@@ -0,0 +1,165 @@
+<?php
+/**
+ * PHPUnit
+ *
+ * Copyright (c) 2010-2014, Sebastian Bergmann <sebastian@phpunit.de>.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in
+ *     the documentation and/or other materials provided with the
+ *     distribution.
+ *
+ *   * Neither the name of Sebastian Bergmann nor the names of his
+ *     contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package    PHPUnit_MockObject
+ * @author     Sebastian Bergmann <sebastian@phpunit.de>
+ * @copyright  2010-2014 Sebastian Bergmann <sebastian@phpunit.de>
+ * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
+ */
+
+/**
+ * Invocation matcher which looks for sets of specific parameters in the invocations.
+ *
+ * Checks the parameters of the incoming invocations, the parameter list is
+ * checked against the defined constraints in $parameters. If the constraint
+ * is met it will return true in matches().
+ *
+ * It takes a list of match groups and and increases a call index after each invocation.
+ * So the first invocation uses the first group of constraints, the second the next and so on.
+ *
+ * @package    PHPUnit_MockObject
+ * @author     Sebastian Bergmann <sebastian@phpunit.de>
+ * @copyright  2010-2014 Sebastian Bergmann <sebastian@phpunit.de>
+ * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @version    Release: @package_version@
+ * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
+ */
+class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters
+  extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
+{
+
+  /**
+   * @var array
+   */
+  private $_parameterGroups = array();
+
+  /**
+   * @var array
+   */
+  private $_invocations = array();
+
+  /**
+   * @param array $parameterGroups
+   */
+  public function __construct(array $parameterGroups)
+  {
+      foreach ($parameterGroups as $index => $parameters) {
+          foreach ($parameters as $parameter) {
+              if (!($parameter instanceof \PHPUnit_Framework_Constraint))
+              {
+                  $parameter = new \PHPUnit_Framework_Constraint_IsEqual($parameter);
+              }
+              $this->_parameterGroups[$index][] = $parameter;
+          }
+      }
+  }
+
+    /**
+     * @return string
+     */
+    public function toString()
+    {
+        $text = 'with consecutive parameters';
+
+        return $text;
+    }
+
+  /**
+   * @param PHPUnit_Framework_MockObject_Invocation $invocation
+   * @return bool
+   */
+  public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
+  {
+      $this->_invocations[] = $invocation;
+      $callIndex = count($this->_invocations) - 1;
+      $this->verifyInvocation($invocation, $callIndex);
+      return FALSE;
+  }
+
+  public function verify()
+  {
+      foreach ($this->_invocations as $callIndex => $invocation) {
+        $this->verifyInvocation($invocation, $callIndex);
+      }
+  }
+
+  /**
+   * Verify a single invocation
+   *
+   * @param PHPUnit_Framework_MockObject_Invocation $invocation
+   * @param int $callIndex
+   * @throws PHPUnit_Framework_ExpectationFailedException
+   */
+  private function verifyInvocation(PHPUnit_Framework_MockObject_Invocation $invocation, $callIndex)
+  {
+
+      if (isset($this->_parameterGroups[$callIndex])) {
+          $parameters = $this->_parameterGroups[$callIndex];
+      } else {
+        // no parameter assertion for this call index
+        return;
+      }
+
+      if ($invocation === NULL) {
+          throw new PHPUnit_Framework_ExpectationFailedException(
+            'Mocked method does not exist.'
+          );
+      }
+
+      if (count($invocation->parameters) < count($parameters)) {
+          throw new PHPUnit_Framework_ExpectationFailedException(
+              sprintf(
+                'Parameter count for invocation %s is too low.',
+                $invocation->toString()
+              )
+          );
+      }
+
+      foreach ($parameters as $i => $parameter) {
+          $parameter->evaluate(
+              $invocation->parameters[$i],
+              sprintf(
+                'Parameter %s for invocation #%d %s does not match expected ' .
+                'value.',
+                $i,
+                $callIndex,
+                $invocation->toString()
+              )
+          );
+      }
+  }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php
new file mode 100644
index 0000000..7723be6
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * PHPUnit
+ *
+ * Copyright (c) 2010-2014, Sebastian Bergmann <sebastian@phpunit.de>.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in
+ *     the documentation and/or other materials provided with the
+ *     distribution.
+ *
+ *   * Neither the name of Sebastian Bergmann nor the names of his
+ *     contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package    PHPUnit_MockObject
+ * @author     Sebastian Bergmann <sebastian@phpunit.de>
+ * @copyright  2010-2014 Sebastian Bergmann <sebastian@phpunit.de>
+ * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
+ * @since      File available since Release 2.2.0
+ */
+
+/**
+ * Invocation matcher which checks if a method has been invoked at least
+ * N times.
+ *
+ * @package    PHPUnit_MockObject
+ * @author     Sebastian Bergmann <sebastian@phpunit.de>
+ * @copyright  2010-2014 Sebastian Bergmann <sebastian@phpunit.de>
+ * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @version    Release: @package_version@
+ * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
+ * @since      Class available since Release 2.2.0
+ */
+class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
+{
+    /**
+     * @var integer
+     */
+    private $requiredInvocations;
+
+    /**
+     * @param integer $requiredInvocations
+     */
+    public function __construct($requiredInvocations)
+    {
+        $this->requiredInvocations = $requiredInvocations;
+    }
+
+    /**
+     * @return string
+     */
+    public function toString()
+    {
+        return 'invoked at least ' . $this->requiredInvocations . ' times';
+    }
+
+    /**
+     * Verifies that the current expectation is valid. If everything is OK the
+     * code should just return, if not it must throw an exception.
+     *
+     * @throws PHPUnit_Framework_ExpectationFailedException
+     */
+    public function verify()
+    {
+        $count = $this->getInvocationCount();
+
+        if ($count < $this->requiredInvocations) {
+            throw new PHPUnit_Framework_ExpectationFailedException(
+                'Expected invocation at least ' . $this->requiredInvocations .
+                ' times but it occured ' . $count . ' time(s).'
+            );
+        }
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php
new file mode 100644
index 0000000..b6fee24
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * PHPUnit
+ *
+ * Copyright (c) 2010-2014, Sebastian Bergmann <sebastian@phpunit.de>.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *   * Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *
+ *   * Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in
+ *     the documentation and/or other materials provided with the
+ *     distribution.
+ *
+ *   * Neither the name of Sebastian Bergmann nor the names of his
+ *     contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package    PHPUnit_MockObject
+ * @author     Sebastian Bergmann <sebastian@phpunit.de>
+ * @copyright  2010-2014 Sebastian Bergmann <sebastian@phpunit.de>
+ * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
+ * @since      File available since Release 2.2.0
+ */
+
+/**
+ * Invocation matcher which checks if a method has been invoked at least
+ * N times.
+ *
+ * @package    PHPUnit_MockObject
+ * @author     Sebastian Bergmann <sebastian@phpunit.de>
+ * @copyright  2010-2014 Sebastian Bergmann <sebastian@phpunit.de>
+ * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @version    Release: @package_version@
+ * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
+ * @since      Class available since Release 2.2.0
+ */
+class PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
+{
+    /**
+     * @var integer
+     */
+    private $allowedInvocations;
+
+    /**
+     * @param integer $allowedInvocations
+     */
+    public function __construct($allowedInvocations)
+    {
+        $this->allowedInvocations = $allowedInvocations;
+    }
+
+    /**
+     * @return string
+     */
+    public function toString()
+    {
+        return 'invoked at most ' . $this->allowedInvocations . ' times';
+    }
+
+    /**
+     * Verifies that the current expectation is valid. If everything is OK the
+     * code should just return, if not it must throw an exception.
+     *
+     * @throws PHPUnit_Framework_ExpectationFailedException
+     */
+    public function verify()
+    {
+        $count = $this->getInvocationCount();
+
+        if ($count > $this->allowedInvocations) {
+            throw new PHPUnit_Framework_ExpectationFailedException(
+                'Expected invocation at most ' . $this->allowedInvocations .
+                ' times but it occured ' . $count . ' time(s).'
+            );
+        }
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
index 1bb79f2..ebd5c69 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
@@ -110,9 +110,7 @@ public function toString()
     public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
     {
         $this->invocation = $invocation;
-        $this->verify();
-
-        return count($invocation->parameters) < count($this->parameters);
+        return $this->verify();
     }
 
     /**
@@ -135,12 +133,19 @@ public function verify()
         }
 
         if (count($this->invocation->parameters) < count($this->parameters)) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf(
-                'Parameter count for invocation %s is too low.',
+            $message = 'Parameter count for invocation %s is too low.';
 
-                $this->invocation->toString()
-              )
+            // The user called `->with($this->anything())`, but may have meant
+            // `->withAnyParameters()`.
+            //
+            // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/199
+            if (count($this->parameters) === 1 &&
+                get_class($this->parameters[0]) === 'PHPUnit_Framework_Constraint_IsAnything') {
+                $message .= "\nTo allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.";
+            }
+
+            throw new PHPUnit_Framework_ExpectationFailedException(
+              sprintf($message, $this->invocation->toString())
             );
         }
 
@@ -156,5 +161,7 @@ public function verify()
               )
             );
         }
+
+        return true;
     }
 }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
index f7534b3..1fbfeb4 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
@@ -44,7 +44,7 @@
 
 /**
  * Interface for all mock objects which are generated by
- * PHPUnit_Framework_MockObject_Mock.
+ * PHPUnit_Framework_MockObject_MockBuilder.
  *
  * @package    PHPUnit_MockObject
  * @author     Sebastian Bergmann <sebastian@phpunit.de>
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
index 6663ab4..045b851 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
@@ -1,6 +1,9 @@
 <?php
 class Framework_MockObject_GeneratorTest extends PHPUnit_Framework_TestCase
 {
+    /**
+     * @var PHPUnit_Framework_MockObject_Generator
+     */
     protected $generator;
 
     protected function setUp()
@@ -139,4 +142,35 @@ public function testGetMockForTraitStubbingAbstractMethod()
         $mock = $this->generator->getMockForTrait('AbstractTrait');
         $this->assertTrue(method_exists($mock, 'doSomething'));
     }
+
+    /**
+     * @requires PHP 5.4.0
+     */
+    public function testGetMockForSingletonWithReflectionSuccess()
+    {
+        // Probably, this should be moved to tests/autoload.php
+        require_once __DIR__ . '/_fixture/SingletonClass.php';
+
+        $mock = $this->generator->getMock('SingletonClass', array('doSomething'), array(), '', false);
+        $this->assertInstanceOf('SingletonClass', $mock);
+    }
+
+    /**
+     * Same as "testGetMockForSingletonWithReflectionSuccess", but we expect
+     * warning for PHP < 5.4.0 since PHPUnit will try to execute private __wakeup
+     * on unserialize
+     */
+    public function testGetMockForSingletonWithUnserializeFail()
+    {
+        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
+            $this->markTestSkipped('Only for PHP < 5.4.0');
+        }
+
+        $this->setExpectedException('PHPUnit_Framework_MockObject_RuntimeException');
+
+        // Probably, this should be moved to tests/autoload.php
+        require_once __DIR__ . '/_fixture/SingletonClass.php';
+
+        $mock = $this->generator->getMock('SingletonClass', array('doSomething'), array(), '', false);
+    }
 }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php
new file mode 100644
index 0000000..e7d02e7
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php
@@ -0,0 +1,45 @@
+<?php
+class Framework_MockObject_Matcher_ConsecutiveParametersTest extends PHPUnit_Framework_TestCase
+{
+    public function testIntegration()
+    {
+        $mock = $this->getMock('stdClass', array('foo'));
+        $mock
+            ->expects($this->any())
+            ->method('foo')
+            ->withConsecutive(
+                array('bar'),
+                array(21, 42)
+            );
+        $mock->foo('bar');
+        $mock->foo(21, 42);
+    }
+
+    public function testIntegrationWithLessAssertionsThenMethodCalls()
+    {
+        $mock = $this->getMock('stdClass', array('foo'));
+        $mock
+            ->expects($this->any())
+            ->method('foo')
+            ->withConsecutive(
+              array('bar')
+            );
+        $mock->foo('bar');
+        $mock->foo(21, 42);
+    }
+
+    public function testIntegrationExpectingException()
+    {
+        $mock = $this->getMock('stdClass', array('foo'));
+        $mock
+            ->expects($this->any())
+            ->method('foo')
+            ->withConsecutive(
+                array('bar'),
+                array(21, 42)
+            );
+        $mock->foo('bar');
+        $this->setExpectedException('PHPUnit_Framework_ExpectationFailedException');
+        $mock->foo('invalid');
+    }
+}
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt
new file mode 100644
index 0000000..8fb9a3c
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt
@@ -0,0 +1,99 @@
+--TEST--
+PHPUnit_Framework_MockObject_Generator::generate('ClassWithMethodWithVariadicArguments', array(), 'MockFoo', TRUE, TRUE)
+--SKIPIF--
+<?php
+if (version_compare(PHP_VERSION, '5.6.0', '<')) print 'skip: PHP >= 5.6.0 required';
+?>
+--FILE--
+<?php
+class ClassWithMethodWithVariadicArguments
+{
+    public function methodWithVariadicArguments($a, ...$parameters)
+    {
+    }
+}
+
+require __DIR__ . '/../../vendor/autoload.php';
+
+$generator = new PHPUnit_Framework_MockObject_Generator;
+
+$mock = $generator->generate(
+  'ClassWithMethodWithVariadicArguments',
+  array(),
+  'MockFoo',
+  TRUE,
+  TRUE
+);
+
+print $mock['code'];
+?>
+--EXPECTF--
+class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit_Framework_MockObject_MockObject
+{
+    private $__phpunit_invocationMocker;
+    private $__phpunit_originalObject;
+
+    public function __clone()
+    {
+        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
+    }
+
+    public function methodWithVariadicArguments($a, ...$parameters)
+    {
+        $arguments = array($a);
+        $count     = func_num_args();
+
+        if ($count > 1) {
+            $_arguments = func_get_args();
+
+            for ($i = 1; $i < $count; $i++) {
+                $arguments[] = $_arguments[$i];
+            }
+        }
+
+        $result = $this->__phpunit_getInvocationMocker()->invoke(
+          new PHPUnit_Framework_MockObject_Invocation_Object(
+            'ClassWithMethodWithVariadicArguments', 'methodWithVariadicArguments', $arguments, $this, TRUE
+          )
+        );
+
+        return $result;
+    }
+
+    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
+    {
+        return $this->__phpunit_getInvocationMocker()->expects($matcher);
+    }
+
+    public function method()
+    {
+        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
+        $expects = $this->expects($any);
+        return call_user_func_array(array($expects, 'method'), func_get_args());
+    }
+
+    public function __phpunit_setOriginalObject($originalObject)
+    {
+        $this->__phpunit_originalObject = $originalObject;
+    }
+
+    public function __phpunit_getInvocationMocker()
+    {
+        if ($this->__phpunit_invocationMocker === NULL) {
+            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
+        }
+
+        return $this->__phpunit_invocationMocker;
+    }
+
+    public function __phpunit_hasMatchers()
+    {
+        return $this->__phpunit_getInvocationMocker()->hasMatchers();
+    }
+
+    public function __phpunit_verify()
+    {
+        $this->__phpunit_getInvocationMocker()->verify();
+        $this->__phpunit_invocationMocker = NULL;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
index 5dbb385..8c01de0 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
@@ -1,5 +1,5 @@
 --TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE)
+PHPUnit_Framework_MockObject_Generator::generate('NonExistentClass', array(), 'MockFoo', TRUE, TRUE)
 --FILE--
 <?php
 require __DIR__ . '/../../vendor/autoload.php';
@@ -7,7 +7,7 @@ require __DIR__ . '/../../vendor/autoload.php';
 $generator = new PHPUnit_Framework_MockObject_Generator;
 
 $mock = $generator->generate(
-  'Foo',
+  'NonExistentClass',
   array(),
   'MockFoo',
   TRUE,
@@ -17,11 +17,11 @@ $mock = $generator->generate(
 print $mock['code'];
 ?>
 --EXPECTF--
-class Foo
+class NonExistentClass
 {
 }
 
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
+class MockFoo extends NonExistentClass implements PHPUnit_Framework_MockObject_MockObject
 {
     private $__phpunit_invocationMocker;
     private $__phpunit_originalObject;
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
index 6b2d0a3..06b255f 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
@@ -11,7 +11,7 @@ require __DIR__ . '/../../vendor/autoload.php';
 $generator = new PHPUnit_Framework_MockObject_Generator;
 
 print $generator->generateClassFromWsdl(
-  dirname(dirname(__FILE__)) . '/_files/GoogleSearch.wsdl',
+  dirname(dirname(__FILE__)) . '/_fixture/GoogleSearch.wsdl',
   'GoogleSearch'
 );
 ?>
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
index dc819cf..9460e6b 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
@@ -11,7 +11,7 @@ require __DIR__ . '/../../vendor/autoload.php';
 $generator = new PHPUnit_Framework_MockObject_Generator;
 
 print $generator->generateClassFromWsdl(
-  dirname(dirname(__FILE__)) . '/_files/GoogleSearch.wsdl',
+  dirname(dirname(__FILE__)) . '/_fixture/GoogleSearch.wsdl',
   'My\\Space\\GoogleSearch'
 );
 ?>
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
index 879fbd3..fc814bd 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
@@ -11,7 +11,7 @@ require __DIR__ . '/../../vendor/autoload.php';
 $generator = new PHPUnit_Framework_MockObject_Generator;
 
 print $generator->generateClassFromWsdl(
-  dirname(dirname(__FILE__)) . '/_files/GoogleSearch.wsdl',
+  dirname(dirname(__FILE__)) . '/_fixture/GoogleSearch.wsdl',
   'GoogleSearch',
   array('doGoogleSearch')
 );
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
index 2b37338..f3d8a73 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
@@ -106,6 +106,46 @@ public function testMockedMethodIsCalledAtLeastOnce2()
         $mock->doSomething();
     }
 
+    public function testMockedMethodIsCalledAtLeastTwice()
+    {
+        $mock = $this->getMock('AnInterface');
+        $mock->expects($this->atLeast(2))
+             ->method('doSomething');
+
+        $mock->doSomething();
+        $mock->doSomething();
+    }
+
+    public function testMockedMethodIsCalledAtLeastTwice2()
+    {
+        $mock = $this->getMock('AnInterface');
+        $mock->expects($this->atLeast(2))
+             ->method('doSomething');
+
+        $mock->doSomething();
+        $mock->doSomething();
+        $mock->doSomething();
+    }
+
+    public function testMockedMethodIsCalledAtMostTwice()
+    {
+        $mock = $this->getMock('AnInterface');
+        $mock->expects($this->atMost(2))
+             ->method('doSomething');
+
+        $mock->doSomething();
+        $mock->doSomething();
+    }
+
+    public function testMockedMethodIsCalledAtMosttTwice2()
+    {
+        $mock = $this->getMock('AnInterface');
+        $mock->expects($this->atMost(2))
+             ->method('doSomething');
+
+        $mock->doSomething();
+    }
+
     public function testMockedMethodIsCalledOnce()
     {
         $mock = $this->getMock('AnInterface');
@@ -381,9 +421,24 @@ public function testGetMockForAbstractClass()
              ->method('doSomething');
     }
 
-    public function testGetMockForTraversableInterface()
+    public function traversableProvider()
+    {
+        return array(
+          array('Traversable'),
+          array('\Traversable'),
+          array('TraversableMockTestInterface'),
+          array(array('Traversable')),
+          array(array('Iterator','Traversable')),
+          array(array('\Iterator','\Traversable'))
+        );
+    }
+
+    /**
+     * @dataProvider traversableProvider
+     */
+    public function testGetMockForTraversable($type)
     {
-        $mock = $this->getMock('TraversableMockTestInterface');
+        $mock = $this->getMock($type);
         $this->assertInstanceOf('Traversable', $mock);
     }
 
@@ -635,6 +690,31 @@ public function testVerificationOfNeverFailsWithAnyParameters()
     }
 
     /**
+     * @ticket 199
+     */
+    public function testWithAnythingInsteadOfWithAnyParameters()
+    {
+        $mock = $this->getMock('SomeClass', array('right'), array(), '', TRUE, TRUE, TRUE);
+        $mock->expects($this->once())
+             ->method('right')
+             ->with($this->anything());
+
+        try {
+            $mock->right();
+            $this->fail('Expected exception');
+        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
+            $this->assertSame(
+                "Expectation failed for method name is equal to <string:right> when invoked 1 time(s)\n" .
+                "Parameter count for invocation SomeClass::right() is too low.\n" .
+                "To allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.",
+                $e->getMessage()
+            );
+        }
+
+        $this->resetMockObjects();
+    }
+
+    /**
      * See https://github.com/sebastianbergmann/phpunit-mock-objects/issues/81
      */
     public function testMockArgumentsPassedByReference()
@@ -730,7 +810,7 @@ public function testMockArgumentsPassedByReference4()
      */
     public function testCreateMockFromWsdl()
     {
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_files/GoogleSearch.wsdl', 'WsdlMock');
+        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl', 'WsdlMock');
         $this->assertStringStartsWith(
             'Mock_WsdlMock_',
             get_class($mock)
@@ -742,7 +822,7 @@ public function testCreateMockFromWsdl()
      */
     public function testCreateNamespacedMockFromWsdl()
     {
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_files/GoogleSearch.wsdl', 'My\\Space\\WsdlMock');
+        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl', 'My\\Space\\WsdlMock');
         $this->assertStringStartsWith(
             'Mock_WsdlMock_',
             get_class($mock)
@@ -754,8 +834,8 @@ public function testCreateNamespacedMockFromWsdl()
      */
     public function testCreateTwoMocksOfOneWsdlFile()
     {
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_files/GoogleSearch.wsdl');
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_files/GoogleSearch.wsdl');
+        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl');
+        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl');
     }
 
     /**
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AbstractMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AbstractMockTestClass.php
deleted file mode 100644
index b006e2d..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AbstractMockTestClass.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-abstract class AbstractMockTestClass
-{
-    abstract public function doSomething();
-
-    public function returnAnything()
-    {
-        return 1;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AbstractTrait.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AbstractTrait.php
deleted file mode 100644
index 071535c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AbstractTrait.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-trait AbstractTrait
-{
-    abstract public function doSomething();
-
-    public function mockableMethod()
-    {
-        return TRUE;
-    }
-
-    public function anotherMockableMethod()
-    {
-        return TRUE;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AnInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AnInterface.php
deleted file mode 100644
index 5b7d4cc..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AnInterface.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-interface AnInterface
-{
-    public function doSomething();
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AnotherInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AnotherInterface.php
deleted file mode 100644
index 62bff0a..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/AnotherInterface.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-interface AnotherInterface
-{
-    public function doSomethingElse();
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Bar.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Bar.php
deleted file mode 100644
index 4a4d165..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Bar
-{
-    public function doSomethingElse()
-    {
-        return 'result';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/ClassThatImplementsSerializable.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/ClassThatImplementsSerializable.php
deleted file mode 100644
index 87576ca..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/ClassThatImplementsSerializable.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-class ClassThatImplementsSerializable implements Serializable
-{
-    public function serialize()
-    {
-        return get_object_vars($this);
-    }
-
-    public function unserialize($serialized)
-    {
-        foreach (unserialize($serialized) as $key => $value) {
-            $this->{$key} = $value;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/ClassWithStaticMethod.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/ClassWithStaticMethod.php
deleted file mode 100644
index 0c13c12..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/ClassWithStaticMethod.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class ClassWithStaticMethod
-{
-    public static function staticMethod()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Foo.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Foo.php
deleted file mode 100644
index 16a9ed7..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Foo
-{
-    public function doSomething(Bar $bar)
-    {
-        return $bar->doSomethingElse();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/FunctionCallback.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/FunctionCallback.php
deleted file mode 100644
index c12ac6c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/FunctionCallback.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-function functionCallback()
-{
-    $args = func_get_args();
-
-    if ($args == array('foo', 'bar')) {
-        return 'pass';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/GoogleSearch.wsdl b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/GoogleSearch.wsdl
deleted file mode 100644
index e448501..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/GoogleSearch.wsdl
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- WSDL description of the Google Web APIs.
-     The Google Web APIs are in beta release. All interfaces are subject to
-     change as we refine and extend our APIs. Please see the terms of use
-     for more information. -->
-
-<!-- Revision 2002-08-16 -->
-
-<definitions name="GoogleSearch"
-             targetNamespace="urn:GoogleSearch"
-             xmlns:typens="urn:GoogleSearch"
-             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
-             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-             xmlns="http://schemas.xmlsoap.org/wsdl/">
-
-  <!-- Types for search - result elements, directory categories -->
-
-  <types>
-    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-                targetNamespace="urn:GoogleSearch">
-
-      <xsd:complexType name="GoogleSearchResult">
-        <xsd:all>
-          <xsd:element name="documentFiltering"           type="xsd:boolean"/>
-          <xsd:element name="searchComments"              type="xsd:string"/>
-          <xsd:element name="estimatedTotalResultsCount"  type="xsd:int"/>
-          <xsd:element name="estimateIsExact"             type="xsd:boolean"/>
-          <xsd:element name="resultElements"              type="typens:ResultElementArray"/>
-          <xsd:element name="searchQuery"                 type="xsd:string"/>
-          <xsd:element name="startIndex"                  type="xsd:int"/>
-          <xsd:element name="endIndex"                    type="xsd:int"/>
-          <xsd:element name="searchTips"                  type="xsd:string"/>
-          <xsd:element name="directoryCategories"         type="typens:DirectoryCategoryArray"/>
-          <xsd:element name="searchTime"                  type="xsd:double"/>
-        </xsd:all>
-      </xsd:complexType>
-
-      <xsd:complexType name="ResultElement">
-        <xsd:all>
-          <xsd:element name="summary" type="xsd:string"/>
-          <xsd:element name="URL" type="xsd:string"/>
-          <xsd:element name="snippet" type="xsd:string"/>
-          <xsd:element name="title" type="xsd:string"/>
-          <xsd:element name="cachedSize" type="xsd:string"/>
-          <xsd:element name="relatedInformationPresent" type="xsd:boolean"/>
-          <xsd:element name="hostName" type="xsd:string"/>
-          <xsd:element name="directoryCategory" type="typens:DirectoryCategory"/>
-          <xsd:element name="directoryTitle" type="xsd:string"/>
-        </xsd:all>
-      </xsd:complexType>
-
-      <xsd:complexType name="ResultElementArray">
-        <xsd:complexContent>
-          <xsd:restriction base="soapenc:Array">
-             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
-          </xsd:restriction>
-        </xsd:complexContent>
-      </xsd:complexType>
-
-      <xsd:complexType name="DirectoryCategoryArray">
-        <xsd:complexContent>
-          <xsd:restriction base="soapenc:Array">
-             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:DirectoryCategory[]"/>
-          </xsd:restriction>
-        </xsd:complexContent>
-      </xsd:complexType>
-
-      <xsd:complexType name="DirectoryCategory">
-        <xsd:all>
-          <xsd:element name="fullViewableName" type="xsd:string"/>
-          <xsd:element name="specialEncoding" type="xsd:string"/>
-        </xsd:all>
-      </xsd:complexType>
-
-    </xsd:schema>
-  </types>
-
-  <!-- Messages for Google Web APIs - cached page, search, spelling. -->
-
-  <message name="doGetCachedPage">
-    <part name="key"            type="xsd:string"/>
-    <part name="url"            type="xsd:string"/>
-  </message>
-
-  <message name="doGetCachedPageResponse">
-    <part name="return"         type="xsd:base64Binary"/>
-  </message>
-
-  <message name="doSpellingSuggestion">
-    <part name="key"            type="xsd:string"/>
-    <part name="phrase"         type="xsd:string"/>
-  </message>
-
-  <message name="doSpellingSuggestionResponse">
-    <part name="return"         type="xsd:string"/>
-  </message>
-
-  <!-- note, ie and oe are ignored by server; all traffic is UTF-8. -->
-
-  <message name="doGoogleSearch">
-    <part name="key"            type="xsd:string"/>
-    <part name="q"              type="xsd:string"/>
-    <part name="start"          type="xsd:int"/>
-    <part name="maxResults"     type="xsd:int"/>
-    <part name="filter"         type="xsd:boolean"/>
-    <part name="restrict"       type="xsd:string"/>
-    <part name="safeSearch"     type="xsd:boolean"/>
-    <part name="lr"             type="xsd:string"/>
-    <part name="ie"             type="xsd:string"/>
-    <part name="oe"             type="xsd:string"/>
-  </message>
-
-  <message name="doGoogleSearchResponse">
-    <part name="return"         type="typens:GoogleSearchResult"/>
-  </message>
-
-  <!-- Port for Google Web APIs, "GoogleSearch" -->
-
-  <portType name="GoogleSearchPort">
-
-    <operation name="doGetCachedPage">
-      <input message="typens:doGetCachedPage"/>
-      <output message="typens:doGetCachedPageResponse"/>
-    </operation>
-
-    <operation name="doSpellingSuggestion">
-      <input message="typens:doSpellingSuggestion"/>
-      <output message="typens:doSpellingSuggestionResponse"/>
-    </operation>
-
-    <operation name="doGoogleSearch">
-      <input message="typens:doGoogleSearch"/>
-      <output message="typens:doGoogleSearchResponse"/>
-    </operation>
-
-  </portType>
-
-
-  <!-- Binding for Google Web APIs - RPC, SOAP over HTTP -->
-
-  <binding name="GoogleSearchBinding" type="typens:GoogleSearchPort">
-    <soap:binding style="rpc"
-                  transport="http://schemas.xmlsoap.org/soap/http"/>
-
-    <operation name="doGetCachedPage">
-      <soap:operation soapAction="urn:GoogleSearchAction"/>
-      <input>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </input>
-      <output>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </output>
-    </operation>
-
-    <operation name="doSpellingSuggestion">
-      <soap:operation soapAction="urn:GoogleSearchAction"/>
-      <input>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </input>
-      <output>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </output>
-    </operation>
-
-    <operation name="doGoogleSearch">
-      <soap:operation soapAction="urn:GoogleSearchAction"/>
-      <input>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </input>
-      <output>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </output>
-    </operation>
-  </binding>
-
-  <!-- Endpoint for Google Web APIs -->
-  <service name="GoogleSearchService">
-    <port name="GoogleSearchPort" binding="typens:GoogleSearchBinding">
-      <soap:address location="http://api.google.com/search/beta2"/>
-    </port>
-  </service>
-
-</definitions>
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/InterfaceWithStaticMethod.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/InterfaceWithStaticMethod.php
deleted file mode 100644
index 9e38d1e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/InterfaceWithStaticMethod.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-interface InterfaceWithStaticMethod
-{
-    public static function staticMethod();
-}
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/MethodCallback.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/MethodCallback.php
deleted file mode 100644
index f8db62e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/MethodCallback.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class MethodCallback
-{
-    public static function staticCallback()
-    {
-        $args = func_get_args();
-
-        if ($args == array('foo', 'bar')) {
-            return 'pass';
-        }
-    }
-
-    public function nonStaticCallback()
-    {
-        $args = func_get_args();
-
-        if ($args == array('foo', 'bar')) {
-            return 'pass';
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/MethodCallbackByReference.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/MethodCallbackByReference.php
deleted file mode 100644
index ef26f3e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/MethodCallbackByReference.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class MethodCallbackByReference
-{
-    public function bar(&$a, &$b, $c)
-    {
-        Legacy::bar($a, $b, $c);
-    }
-
-    public function callback(&$a, &$b, $c)
-    {
-        $b = 1;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Mockable.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Mockable.php
deleted file mode 100644
index a4ccb24..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/Mockable.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-class Mockable
-{
-    public $constructorArgs;
-    public $cloned;
-
-    public function __construct($arg1 = NULL, $arg2 = NULL)
-    {
-        $this->constructorArgs = array($arg1, $arg2);
-    }
-
-    public function mockableMethod()
-    {
-        // something different from NULL
-        return TRUE;
-    }
-
-    public function anotherMockableMethod()
-    {
-        // something different from NULL
-        return TRUE;
-    }
-
-    public function __clone()
-    {
-        $this->cloned = TRUE;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/PartialMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/PartialMockTestClass.php
deleted file mode 100644
index 1b119f1..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/PartialMockTestClass.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-class PartialMockTestClass
-{
-    public $constructorCalled = FALSE;
-
-    public function __construct()
-    {
-        $this->constructorCalled = TRUE;
-    }
-
-    public function doSomething()
-    {
-    }
-
-    public function doAnotherThing()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/SomeClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/SomeClass.php
deleted file mode 100644
index 2cd53b2..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/SomeClass.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class SomeClass
-{
-    public function doSomething($a, $b)
-    {
-        return NULL;
-    }
-
-    public function doSomethingElse($c)
-    {
-        return NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/StaticMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/StaticMockTestClass.php
deleted file mode 100644
index ac467c9..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/StaticMockTestClass.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class StaticMockTestClass
-{
-    public static function doSomething()
-    {
-    }
-
-    public static function doSomethingElse()
-    {
-        return static::doSomething();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/TraversableMockTestInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_files/TraversableMockTestInterface.php
deleted file mode 100644
index 3467cce..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_files/TraversableMockTestInterface.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-interface TraversableMockTestInterface extends Traversable
-{
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php
new file mode 100644
index 0000000..b006e2d
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php
@@ -0,0 +1,10 @@
+<?php
+abstract class AbstractMockTestClass
+{
+    abstract public function doSomething();
+
+    public function returnAnything()
+    {
+        return 1;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php
new file mode 100644
index 0000000..071535c
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php
@@ -0,0 +1,15 @@
+<?php
+trait AbstractTrait
+{
+    abstract public function doSomething();
+
+    public function mockableMethod()
+    {
+        return TRUE;
+    }
+
+    public function anotherMockableMethod()
+    {
+        return TRUE;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php
new file mode 100644
index 0000000..5b7d4cc
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php
@@ -0,0 +1,5 @@
+<?php
+interface AnInterface
+{
+    public function doSomething();
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php
new file mode 100644
index 0000000..62bff0a
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php
@@ -0,0 +1,5 @@
+<?php
+interface AnotherInterface
+{
+    public function doSomethingElse();
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php
new file mode 100644
index 0000000..4a4d165
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php
@@ -0,0 +1,8 @@
+<?php
+class Bar
+{
+    public function doSomethingElse()
+    {
+        return 'result';
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php
new file mode 100644
index 0000000..87576ca
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php
@@ -0,0 +1,15 @@
+<?php
+class ClassThatImplementsSerializable implements Serializable
+{
+    public function serialize()
+    {
+        return get_object_vars($this);
+    }
+
+    public function unserialize($serialized)
+    {
+        foreach (unserialize($serialized) as $key => $value) {
+            $this->{$key} = $value;
+        }
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php
new file mode 100644
index 0000000..0c13c12
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php
@@ -0,0 +1,7 @@
+<?php
+class ClassWithStaticMethod
+{
+    public static function staticMethod()
+    {
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php
new file mode 100644
index 0000000..16a9ed7
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php
@@ -0,0 +1,8 @@
+<?php
+class Foo
+{
+    public function doSomething(Bar $bar)
+    {
+        return $bar->doSomethingElse();
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php
new file mode 100644
index 0000000..c12ac6c
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php
@@ -0,0 +1,9 @@
+<?php
+function functionCallback()
+{
+    $args = func_get_args();
+
+    if ($args == array('foo', 'bar')) {
+        return 'pass';
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl
new file mode 100644
index 0000000..e448501
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl
@@ -0,0 +1,198 @@
+<?xml version="1.0"?>
+
+<!-- WSDL description of the Google Web APIs.
+     The Google Web APIs are in beta release. All interfaces are subject to
+     change as we refine and extend our APIs. Please see the terms of use
+     for more information. -->
+
+<!-- Revision 2002-08-16 -->
+
+<definitions name="GoogleSearch"
+             targetNamespace="urn:GoogleSearch"
+             xmlns:typens="urn:GoogleSearch"
+             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+             xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+  <!-- Types for search - result elements, directory categories -->
+
+  <types>
+    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+                targetNamespace="urn:GoogleSearch">
+
+      <xsd:complexType name="GoogleSearchResult">
+        <xsd:all>
+          <xsd:element name="documentFiltering"           type="xsd:boolean"/>
+          <xsd:element name="searchComments"              type="xsd:string"/>
+          <xsd:element name="estimatedTotalResultsCount"  type="xsd:int"/>
+          <xsd:element name="estimateIsExact"             type="xsd:boolean"/>
+          <xsd:element name="resultElements"              type="typens:ResultElementArray"/>
+          <xsd:element name="searchQuery"                 type="xsd:string"/>
+          <xsd:element name="startIndex"                  type="xsd:int"/>
+          <xsd:element name="endIndex"                    type="xsd:int"/>
+          <xsd:element name="searchTips"                  type="xsd:string"/>
+          <xsd:element name="directoryCategories"         type="typens:DirectoryCategoryArray"/>
+          <xsd:element name="searchTime"                  type="xsd:double"/>
+        </xsd:all>
+      </xsd:complexType>
+
+      <xsd:complexType name="ResultElement">
+        <xsd:all>
+          <xsd:element name="summary" type="xsd:string"/>
+          <xsd:element name="URL" type="xsd:string"/>
+          <xsd:element name="snippet" type="xsd:string"/>
+          <xsd:element name="title" type="xsd:string"/>
+          <xsd:element name="cachedSize" type="xsd:string"/>
+          <xsd:element name="relatedInformationPresent" type="xsd:boolean"/>
+          <xsd:element name="hostName" type="xsd:string"/>
+          <xsd:element name="directoryCategory" type="typens:DirectoryCategory"/>
+          <xsd:element name="directoryTitle" type="xsd:string"/>
+        </xsd:all>
+      </xsd:complexType>
+
+      <xsd:complexType name="ResultElementArray">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+      <xsd:complexType name="DirectoryCategoryArray">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:DirectoryCategory[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+      <xsd:complexType name="DirectoryCategory">
+        <xsd:all>
+          <xsd:element name="fullViewableName" type="xsd:string"/>
+          <xsd:element name="specialEncoding" type="xsd:string"/>
+        </xsd:all>
+      </xsd:complexType>
+
+    </xsd:schema>
+  </types>
+
+  <!-- Messages for Google Web APIs - cached page, search, spelling. -->
+
+  <message name="doGetCachedPage">
+    <part name="key"            type="xsd:string"/>
+    <part name="url"            type="xsd:string"/>
+  </message>
+
+  <message name="doGetCachedPageResponse">
+    <part name="return"         type="xsd:base64Binary"/>
+  </message>
+
+  <message name="doSpellingSuggestion">
+    <part name="key"            type="xsd:string"/>
+    <part name="phrase"         type="xsd:string"/>
+  </message>
+
+  <message name="doSpellingSuggestionResponse">
+    <part name="return"         type="xsd:string"/>
+  </message>
+
+  <!-- note, ie and oe are ignored by server; all traffic is UTF-8. -->
+
+  <message name="doGoogleSearch">
+    <part name="key"            type="xsd:string"/>
+    <part name="q"              type="xsd:string"/>
+    <part name="start"          type="xsd:int"/>
+    <part name="maxResults"     type="xsd:int"/>
+    <part name="filter"         type="xsd:boolean"/>
+    <part name="restrict"       type="xsd:string"/>
+    <part name="safeSearch"     type="xsd:boolean"/>
+    <part name="lr"             type="xsd:string"/>
+    <part name="ie"             type="xsd:string"/>
+    <part name="oe"             type="xsd:string"/>
+  </message>
+
+  <message name="doGoogleSearchResponse">
+    <part name="return"         type="typens:GoogleSearchResult"/>
+  </message>
+
+  <!-- Port for Google Web APIs, "GoogleSearch" -->
+
+  <portType name="GoogleSearchPort">
+
+    <operation name="doGetCachedPage">
+      <input message="typens:doGetCachedPage"/>
+      <output message="typens:doGetCachedPageResponse"/>
+    </operation>
+
+    <operation name="doSpellingSuggestion">
+      <input message="typens:doSpellingSuggestion"/>
+      <output message="typens:doSpellingSuggestionResponse"/>
+    </operation>
+
+    <operation name="doGoogleSearch">
+      <input message="typens:doGoogleSearch"/>
+      <output message="typens:doGoogleSearchResponse"/>
+    </operation>
+
+  </portType>
+
+
+  <!-- Binding for Google Web APIs - RPC, SOAP over HTTP -->
+
+  <binding name="GoogleSearchBinding" type="typens:GoogleSearchPort">
+    <soap:binding style="rpc"
+                  transport="http://schemas.xmlsoap.org/soap/http"/>
+
+    <operation name="doGetCachedPage">
+      <soap:operation soapAction="urn:GoogleSearchAction"/>
+      <input>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+
+    <operation name="doSpellingSuggestion">
+      <soap:operation soapAction="urn:GoogleSearchAction"/>
+      <input>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+
+    <operation name="doGoogleSearch">
+      <soap:operation soapAction="urn:GoogleSearchAction"/>
+      <input>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+  </binding>
+
+  <!-- Endpoint for Google Web APIs -->
+  <service name="GoogleSearchService">
+    <port name="GoogleSearchPort" binding="typens:GoogleSearchBinding">
+      <soap:address location="http://api.google.com/search/beta2"/>
+    </port>
+  </service>
+
+</definitions>
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php
new file mode 100644
index 0000000..9e38d1e
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php
@@ -0,0 +1,6 @@
+<?php
+interface InterfaceWithStaticMethod
+{
+    public static function staticMethod();
+}
+
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php
new file mode 100644
index 0000000..f8db62e
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php
@@ -0,0 +1,21 @@
+<?php
+class MethodCallback
+{
+    public static function staticCallback()
+    {
+        $args = func_get_args();
+
+        if ($args == array('foo', 'bar')) {
+            return 'pass';
+        }
+    }
+
+    public function nonStaticCallback()
+    {
+        $args = func_get_args();
+
+        if ($args == array('foo', 'bar')) {
+            return 'pass';
+        }
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php
new file mode 100644
index 0000000..ef26f3e
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php
@@ -0,0 +1,13 @@
+<?php
+class MethodCallbackByReference
+{
+    public function bar(&$a, &$b, $c)
+    {
+        Legacy::bar($a, $b, $c);
+    }
+
+    public function callback(&$a, &$b, $c)
+    {
+        $b = 1;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php
new file mode 100644
index 0000000..a4ccb24
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php
@@ -0,0 +1,28 @@
+<?php
+class Mockable
+{
+    public $constructorArgs;
+    public $cloned;
+
+    public function __construct($arg1 = NULL, $arg2 = NULL)
+    {
+        $this->constructorArgs = array($arg1, $arg2);
+    }
+
+    public function mockableMethod()
+    {
+        // something different from NULL
+        return TRUE;
+    }
+
+    public function anotherMockableMethod()
+    {
+        // something different from NULL
+        return TRUE;
+    }
+
+    public function __clone()
+    {
+        $this->cloned = TRUE;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php
new file mode 100644
index 0000000..1b119f1
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php
@@ -0,0 +1,18 @@
+<?php
+class PartialMockTestClass
+{
+    public $constructorCalled = FALSE;
+
+    public function __construct()
+    {
+        $this->constructorCalled = TRUE;
+    }
+
+    public function doSomething()
+    {
+    }
+
+    public function doAnotherThing()
+    {
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php
new file mode 100644
index 0000000..e000266
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php
@@ -0,0 +1,28 @@
+<?php
+
+class SingletonClass
+{
+    public static function getInstance()
+    {
+    }
+
+    public function doSomething()
+    {
+    }
+
+    protected function __construct()
+    {
+    }
+
+    final private function __sleep()
+    {
+    }
+
+    final private function __wakeup()
+    {
+    }
+
+    final private function __clone()
+    {
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php
new file mode 100644
index 0000000..2cd53b2
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php
@@ -0,0 +1,13 @@
+<?php
+class SomeClass
+{
+    public function doSomething($a, $b)
+    {
+        return NULL;
+    }
+
+    public function doSomethingElse($c)
+    {
+        return NULL;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php
new file mode 100644
index 0000000..ac467c9
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php
@@ -0,0 +1,12 @@
+<?php
+class StaticMockTestClass
+{
+    public static function doSomething()
+    {
+    }
+
+    public static function doSomethingElse()
+    {
+        return static::doSomething();
+    }
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php
new file mode 100644
index 0000000..3467cce
--- /dev/null
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php
@@ -0,0 +1,4 @@
+<?php
+interface TraversableMockTestInterface extends Traversable
+{
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/autoload.php b/core/vendor/phpunit/phpunit-mock-objects/tests/autoload.php
deleted file mode 100644
index 7d4f0b6..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/autoload.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-// @codingStandardsIgnoreFile
-// @codeCoverageIgnoreStart
-// this is an autogenerated file - do not edit
-spl_autoload_register(
-    function($class) {
-        static $classes = null;
-        if ($classes === null) {
-            $classes = array(
-                'abstractmocktestclass' => '/_files/AbstractMockTestClass.php',
-                'abstracttrait' => '/_files/AbstractTrait.php',
-                'aninterface' => '/_files/AnInterface.php',
-                'anotherinterface' => '/_files/AnotherInterface.php',
-                'bar' => '/_files/Bar.php',
-                'classthatimplementsserializable' => '/_files/ClassThatImplementsSerializable.php',
-                'classwithstaticmethod' => '/_files/ClassWithStaticMethod.php',
-                'foo' => '/_files/Foo.php',
-                'framework_mockbuildertest' => '/MockBuilderTest.php',
-                'framework_mockobject_generatortest' => '/GeneratorTest.php',
-                'framework_mockobject_invocation_objecttest' => '/MockObject/Invocation/ObjectTest.php',
-                'framework_mockobject_invocation_statictest' => '/MockObject/Invocation/StaticTest.php',
-                'framework_mockobjecttest' => '/MockObjectTest.php',
-                'framework_proxyobjecttest' => '/ProxyObjectTest.php',
-                'interfacewithstaticmethod' => '/_files/InterfaceWithStaticMethod.php',
-                'methodcallback' => '/_files/MethodCallback.php',
-                'methodcallbackbyreference' => '/_files/MethodCallbackByReference.php',
-                'mockable' => '/_files/Mockable.php',
-                'partialmocktestclass' => '/_files/PartialMockTestClass.php',
-                'someclass' => '/_files/SomeClass.php',
-                'staticmocktestclass' => '/_files/StaticMockTestClass.php',
-                'traversablemocktestinterface' => '/_files/TraversableMockTestInterface.php'
-            );
-        }
-        $cn = strtolower($class);
-        if (isset($classes[$cn])) {
-            require __DIR__ . $classes[$cn];
-        }
-    }
-);
-// @codeCoverageIgnoreEnd
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php b/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
index 72b0a5a..67d3a77 100644
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
+++ b/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
@@ -1,5 +1,4 @@
 <?php
-require __DIR__ . '/autoload.php';
-require __DIR__ . '/_files/FunctionCallback.php';
+require __DIR__ . '/_fixture/FunctionCallback.php';
 require __DIR__ . '/../vendor/autoload.php';
 
