From ca850b84e23a00970d38ecdb0e91da00cc04c105 Mon Sep 17 00:00:00 2001 From: webchick <drupal@webchick.net> Date: Fri, 4 Sep 2015 07:56:50 -0700 Subject: [PATCH] Issue #2105825 by cosmicdreams, larowlan, hussainweb, Nitesh Sethia, dawehner, naveenvalecha, iMiksu: Update Doctrine/common Component to 2.5.1 (security) (includes cache/annotations too) --- core/composer.json | 2 +- core/composer.lock | 162 +- core/vendor/composer/autoload_namespaces.php | 1 - core/vendor/composer/autoload_psr4.php | 1 + core/vendor/composer/installed.json | 3248 ++++++++--------- .../Common/Annotations/AnnotationReader.php | 13 +- .../Doctrine/Common/Annotations/DocLexer.php | 2 +- .../Common/Annotations/FileCacheReader.php | 42 +- .../doctrine/annotations/phpunit.xml.dist | 31 - .../Common/Annotations/AbstractReaderTest.php | 645 ---- .../Annotations/AnnotationReaderTest.php | 59 - .../Common/Annotations/CachedReaderTest.php | 56 - .../Tests/Common/Annotations/DocLexerTest.php | 157 - .../Common/Annotations/DocParserTest.php | 1359 ------- .../Tests/Common/Annotations/DummyClass.php | 48 - .../Annotations/FileCacheReaderTest.php | 40 - .../Annotation/AnnotWithDefaultValue.php | 10 - .../Fixtures/Annotation/Autoload.php | 10 - .../Annotations/Fixtures/Annotation/Route.php | 11 - .../Fixtures/Annotation/Secure.php | 18 - .../Fixtures/Annotation/Template.php | 14 - .../Fixtures/Annotation/Version.php | 11 - .../Annotations/Fixtures/AnnotationEnum.php | 21 - .../Fixtures/AnnotationEnumInvalid.php | 17 - .../Fixtures/AnnotationEnumLiteral.php | 34 - .../Fixtures/AnnotationEnumLiteralInvalid.php | 31 - .../Fixtures/AnnotationTargetAll.php | 14 - .../Fixtures/AnnotationTargetAnnotation.php | 14 - .../Fixtures/AnnotationTargetClass.php | 15 - .../Fixtures/AnnotationTargetMethod.php | 15 - .../AnnotationTargetPropertyMethod.php | 14 - .../Fixtures/AnnotationWithAttributes.php | 129 - .../Fixtures/AnnotationWithConstants.php | 20 - .../AnnotationWithRequiredAttributes.php | 50 - ...ithRequiredAttributesWithoutContructor.php | 24 - .../AnnotationWithTargetSyntaxError.php | 11 - .../Fixtures/AnnotationWithVarType.php | 67 - .../Tests/Common/Annotations/Fixtures/Api.php | 10 - .../Annotations/Fixtures/ClassDDC1660.php | 30 - .../Fixtures/ClassNoNamespaceNoComment.php | 7 - .../Fixtures/ClassOverwritesTrait.php | 25 - .../Annotations/Fixtures/ClassUsesTrait.php | 30 - .../Fixtures/ClassWithAnnotationEnum.php | 29 - ...assWithAnnotationWithTargetSyntaxError.php | 21 - .../ClassWithAnnotationWithVarType.php | 31 - .../ClassWithAtInDescriptionAndAnnotation.php | 34 - .../Fixtures/ClassWithClassAnnotationOnly.php | 13 - .../Annotations/Fixtures/ClassWithClosure.php | 52 - .../Fixtures/ClassWithConstants.php | 11 - .../ClassWithFullyQualifiedUseStatements.php | 11 - .../Fixtures/ClassWithIgnoreAnnotation.php | 14 - ...lassWithInvalidAnnotationTargetAtClass.php | 17 - ...assWithInvalidAnnotationTargetAtMethod.php | 20 - ...sWithInvalidAnnotationTargetAtProperty.php | 24 - .../Annotations/Fixtures/ClassWithRequire.php | 15 - .../ClassWithValidAnnotationTarget.php | 40 - .../Annotations/Fixtures/Controller.php | 300 -- ...erentNamespacesPerFileWithClassAsFirst.php | 15 - ...ferentNamespacesPerFileWithClassAsLast.php | 15 - ...EqualNamespacesPerFileWithClassAsFirst.php | 13 - .../EqualNamespacesPerFileWithClassAsLast.php | 12 - ...lobalNamespacesPerFileWithClassAsFirst.php | 12 - ...GlobalNamespacesPerFileWithClassAsLast.php | 12 - .../Fixtures/IgnoreAnnotationClass.php | 7 - .../Fixtures/IntefaceWithConstants.php | 10 - .../InvalidAnnotationUsageButIgnoredClass.php | 14 - .../Fixtures/InvalidAnnotationUsageClass.php | 10 - .../Fixtures/MultipleClassesInFile.php | 9 - .../MultipleImportsInUseStatement.php | 10 - .../NamespaceAndClassCommentedOut.php | 20 - .../NamespaceWithClosureDeclaration.php | 12 - .../Fixtures/NamespacedSingleClassLOC1000.php | 1005 ----- .../Annotations/Fixtures/NoAnnotation.php | 5 - .../Fixtures/NonNamespacedClass.php | 10 - .../Fixtures/SingleClassLOC1000.php | 1003 ----- .../Annotations/Fixtures/TestInterface.php | 13 - .../Fixtures/TraitWithAnnotatedMethod.php | 19 - .../Common/Annotations/PerformanceTest.php | 194 - .../Common/Annotations/PhpParserTest.php | 207 -- .../SimpleAnnotationReaderTest.php | 102 - .../Common/Annotations/Ticket/DCOM55Test.php | 66 - .../Annotations/Ticket/DCOM58Entity.php | 8 - .../Common/Annotations/Ticket/DCOM58Test.php | 116 - .../Common/Annotations/TopLevelAnnotation.php | 8 - .../tests/Doctrine/Tests/DoctrineTestCase.php | 10 - .../tests/Doctrine/Tests/TestInit.php | 24 - core/vendor/doctrine/cache/.travis.yml | 6 +- core/vendor/doctrine/cache/UPGRADE.md | 16 + core/vendor/doctrine/cache/composer.json | 5 +- .../lib/Doctrine/Common/Cache/ApcCache.php | 10 +- .../lib/Doctrine/Common/Cache/ArrayCache.php | 1 + .../cache/lib/Doctrine/Common/Cache/Cache.php | 11 +- .../Doctrine/Common/Cache/CacheProvider.php | 54 +- .../lib/Doctrine/Common/Cache/ChainCache.php | 147 + .../Doctrine/Common/Cache/ClearableCache.php | 40 + .../lib/Doctrine/Common/Cache/FileCache.php | 113 +- .../Doctrine/Common/Cache/FilesystemCache.php | 28 +- .../Doctrine/Common/Cache/FlushableCache.php | 37 + .../Doctrine/Common/Cache/MemcacheCache.php | 6 +- .../Doctrine/Common/Cache/MemcachedCache.php | 8 + .../Doctrine/Common/Cache/MultiGetCache.php | 39 + .../Doctrine/Common/Cache/PhpFileCache.php | 47 +- .../lib/Doctrine/Common/Cache/PredisCache.php | 107 + .../lib/Doctrine/Common/Cache/RedisCache.php | 15 +- .../Doctrine/Common/Cache/SQLite3Cache.php | 219 ++ .../lib/Doctrine/Common/Cache/VoidCache.php | 78 + .../lib/Doctrine/Common/Cache/XcacheCache.php | 7 +- .../Doctrine/Tests/Common/Cache/CacheTest.php | 131 + .../Tests/Common/Cache/ChainCacheTest.php | 94 + .../Tests/Common/Cache/FileCacheTest.php | 106 +- .../Tests/Common/Cache/MemcachedCacheTest.php | 14 + .../Tests/Common/Cache/PhpFileCacheTest.php | 10 + .../Tests/Common/Cache/PredisCacheTest.php | 62 + .../Tests/Common/Cache/RedisCacheTest.php | 10 + .../Tests/Common/Cache/SQLite3CacheTest.php | 48 + .../Tests/Common/Cache/VoidCacheTest.php | 51 + .../doctrine/cache/tests/travis/php.ini | 1 + core/vendor/doctrine/collections/.travis.yml | 13 +- core/vendor/doctrine/collections/README.md | 12 +- .../vendor/doctrine/collections/composer.json | 3 + .../Collections/AbstractLazyCollection.php | 6 +- .../Common/Collections/ArrayCollection.php | 104 +- .../Common/Collections/Collection.php | 57 +- .../Doctrine/Common/Collections/Criteria.php | 44 +- .../Expr/ClosureExpressionVisitor.php | 2 +- .../Common/Collections/Selectable.php | 2 +- .../Collections/ArrayCollectionTest.php | 296 ++ .../ClosureExpressionVisitorTest.php | 9 +- .../Common/Collections/CollectionTest.php | 189 +- .../Tests/Common/Collections/CriteriaTest.php | 3 +- .../Collections/ExpressionBuilderTest.php | 31 +- .../tests/Doctrine/Tests/DoctrineTestCase.php | 10 - core/vendor/doctrine/common/.travis.yml | 10 +- core/vendor/doctrine/common/composer.json | 2 +- .../lib/Doctrine/Common/ClassLoader.php | 64 +- .../Persistence/AbstractManagerRegistry.php | 4 +- .../Event/LoadClassMetadataEventArgs.php | 2 +- .../Persistence/Event/PreUpdateEventArgs.php | 1 - .../Mapping/AbstractClassMetadataFactory.php | 74 +- .../Mapping/Driver/AnnotationDriver.php | 1 - .../Mapping/Driver/DefaultFileLocator.php | 2 +- .../Mapping/Driver/MappingDriverChain.php | 1 - .../Persistence/Mapping/Driver/PHPDriver.php | 2 +- .../Mapping/Driver/SymfonyFileLocator.php | 36 +- .../Persistence/Mapping/MappingException.php | 12 +- .../Mapping/RuntimeReflectionService.php | 8 +- .../Common/Persistence/PersistentObject.php | 2 +- .../Common/Proxy/AbstractProxyFactory.php | 8 +- .../Exception/InvalidArgumentException.php | 2 + .../Proxy/Exception/OutOfBoundsException.php | 1 - .../Exception/UnexpectedValueException.php | 2 + .../lib/Doctrine/Common/Proxy/Proxy.php | 2 +- .../Doctrine/Common/Proxy/ProxyGenerator.php | 182 +- .../RuntimePublicReflectionProperty.php | 2 +- .../Reflection/StaticReflectionMethod.php | 2 +- .../Reflection/StaticReflectionParser.php | 2 +- .../Reflection/StaticReflectionProperty.php | 2 +- .../common/lib/Doctrine/Common/Util/Debug.php | 23 +- .../common/lib/Doctrine/Common/Version.php | 2 +- core/vendor/doctrine/common/phpunit.xml.dist | 6 - .../Doctrine/Tests/Common/ClassLoaderTest.php | 69 + .../ClassLoaderTest/EmptyFile.class.php | 0 .../Common/ClassLoaderTest/ExternalLoader.php | 38 + .../ClassLoaderTest/InterfaceA.class.php | 5 + .../Common/ClassLoaderTest/TraitA.class.php | 5 + .../Persistence/ManagerRegistryTest.php | 97 + .../Mapping/ClassMetadataFactoryTest.php | 66 +- .../Mapping/SymfonyFileLocatorTest.php | 85 + .../Mapping/_custom_ns/dir/stdClass.yml | 1 + .../Mapping/_custom_ns/dir/sub/subClass.yml | 1 + .../_custom_ns/dir/sub/subsub/subSubClass.yml | 1 + .../Mapping/_custom_ns/dot/stdClass.yml | 1 + .../Mapping/_custom_ns/dot/sub.subClass.yml | 1 + .../_custom_ns/dot/sub.subsub.subSubClass.yml | 1 + .../Common/Proxy/ProxyClassGeneratorTest.php | 21 + .../Tests/Common/Proxy/ProxyLogicTest.php | 56 + .../Common/Proxy/VariadicTypeHintClass.php | 29 + .../Doctrine/Tests/Common/Util/DebugTest.php | 25 + .../{annotations => inflector}/.gitignore | 1 + .../{annotations => inflector}/.travis.yml | 4 +- core/vendor/doctrine/inflector/LICENSE | 19 + core/vendor/doctrine/inflector/README.md | 2 + core/vendor/doctrine/inflector/composer.json | 10 +- .../Doctrine/Common/Inflector/Inflector.php | 140 +- .../Tests/Common/Inflector/InflectorTest.php | 45 +- core/vendor/doctrine/instantiator/.gitignore | 2 +- .../doctrine/instantiator/.travis.install.sh | 1 + core/vendor/doctrine/instantiator/.travis.yml | 16 +- .../doctrine/instantiator/composer.json | 6 +- .../doctrine/instantiator/phpunit.xml.dist | 3 - .../Doctrine/Instantiator/Instantiator.php | 57 +- .../InstantiatorTest/InstantiatorTest.php | 3 + .../InstantiatorTestAsset/ExceptionAsset.php} | 28 +- .../FinalExceptionAsset.php | 41 + 194 files changed, 4781 insertions(+), 8969 deletions(-) delete mode 100644 core/vendor/doctrine/annotations/phpunit.xml.dist delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AbstractReaderTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AnnotationReaderTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/CachedReaderTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocLexerTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocParserTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DummyClass.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/FileCacheReaderTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/AnnotWithDefaultValue.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Autoload.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Route.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Secure.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Template.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Version.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnum.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumInvalid.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteral.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteralInvalid.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAll.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAnnotation.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetClass.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetMethod.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetPropertyMethod.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithAttributes.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithConstants.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributes.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributesWithoutContructor.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithTargetSyntaxError.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithVarType.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Api.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassDDC1660.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassNoNamespaceNoComment.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassOverwritesTrait.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassUsesTrait.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationEnum.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithTargetSyntaxError.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithVarType.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAtInDescriptionAndAnnotation.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClassAnnotationOnly.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClosure.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithConstants.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithFullyQualifiedUseStatements.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithIgnoreAnnotation.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtClass.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtMethod.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtProperty.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithRequire.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithValidAnnotationTarget.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Controller.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsFirst.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsLast.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsFirst.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsLast.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsFirst.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsLast.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IgnoreAnnotationClass.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IntefaceWithConstants.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageButIgnoredClass.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageClass.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleClassesInFile.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleImportsInUseStatement.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceAndClassCommentedOut.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceWithClosureDeclaration.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespacedSingleClassLOC1000.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NoAnnotation.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NonNamespacedClass.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/SingleClassLOC1000.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TestInterface.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TraitWithAnnotatedMethod.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PerformanceTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PhpParserTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/SimpleAnnotationReaderTest.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM55Test.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Entity.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Test.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/TopLevelAnnotation.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/DoctrineTestCase.php delete mode 100644 core/vendor/doctrine/annotations/tests/Doctrine/Tests/TestInit.php create mode 100644 core/vendor/doctrine/cache/UPGRADE.md create mode 100644 core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php create mode 100644 core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php create mode 100644 core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php create mode 100644 core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php create mode 100644 core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php create mode 100644 core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php create mode 100644 core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php create mode 100644 core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php create mode 100644 core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php create mode 100644 core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php create mode 100644 core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php create mode 100644 core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php delete mode 100644 core/vendor/doctrine/collections/tests/Doctrine/Tests/DoctrineTestCase.php create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/EmptyFile.class.php create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml create mode 100644 core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php rename core/vendor/doctrine/{annotations => inflector}/.gitignore (75%) rename core/vendor/doctrine/{annotations => inflector}/.travis.yml (50%) create mode 100644 core/vendor/doctrine/inflector/LICENSE rename core/vendor/doctrine/{annotations/tests/Doctrine/Tests/Common/Annotations/Annotation/TargetTest.php => instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php} (54%) create mode 100644 core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php diff --git a/core/composer.json b/core/composer.json index b1547dfed462..74fe45b0d2b6 100644 --- a/core/composer.json +++ b/core/composer.json @@ -19,7 +19,7 @@ "symfony/process": "2.7.*", "symfony/yaml": "2.7.*", "twig/twig": "1.20.*", - "doctrine/common": "~2.4.2", + "doctrine/common": "2.5.*", "doctrine/annotations": "1.2.*", "guzzlehttp/guzzle": "dev-master#1879fbe853b0c64d109e369c7aeff09849e62d1e", "symfony-cmf/routing": "1.3.*", diff --git a/core/composer.lock b/core/composer.lock index 2ce605c5e7e9..766c508e86df 100644 --- a/core/composer.lock +++ b/core/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "6d065bd806544df5f446905bc3d6379f", + "hash": "775f6be68f3d5efa8872e99cdf0e2f83", "packages": [ { "name": "behat/mink", @@ -126,7 +126,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/cc5ce119b5a8e06662f634b35967aff0b0c7dfdd", + "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/7e9a7319cc0e8cf9d4d4c9e06e2020d3a31bd792", "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd", "shasum": "" }, @@ -170,16 +170,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.2.1", + "version": "v1.2.7", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633" + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/6a6bec0670bb6e71a263b08bc1b98ea242928633", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", "shasum": "" }, "require": { @@ -234,20 +234,20 @@ "docblock", "parser" ], - "time": "2014-09-25 16:45:30" + "time": "2015-08-31 12:32:49" }, { "name": "doctrine/cache", - "version": "v1.3.1", + "version": "v1.4.2", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7" + "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/cf483685798a72c93bf4206e3dd6358ea07d64e7", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7", + "url": "https://api.github.com/repos/doctrine/cache/zipball/8c434000f420ade76a07c64cbe08ca47e5c101ca", + "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca", "shasum": "" }, "require": { @@ -258,12 +258,13 @@ }, "require-dev": { "phpunit/phpunit": ">=3.7", + "predis/predis": "~1.0", "satooshi/php-coveralls": "~0.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.5.x-dev" } }, "autoload": { @@ -303,25 +304,28 @@ "cache", "caching" ], - "time": "2014-09-17 14:24:04" + "time": "2015-08-31 12:36:41" }, { "name": "doctrine/collections", - "version": "v1.2", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2" + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2", + "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", "shasum": "" }, "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, "type": "library", "extra": { "branch-alias": { @@ -338,17 +342,6 @@ "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" @@ -357,11 +350,17 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Collections Abstraction library", @@ -371,20 +370,20 @@ "collections", "iterator" ], - "time": "2014-02-03 23:07:43" + "time": "2015-04-14 22:21:58" }, { "name": "doctrine/common", - "version": "v2.4.2", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b" + "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b", + "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9", + "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9", "shasum": "" }, "require": { @@ -401,7 +400,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "2.6.x-dev" } }, "autoload": { @@ -414,17 +413,6 @@ "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" @@ -433,11 +421,17 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Common Library for Doctrine projects", @@ -449,26 +443,34 @@ "persistence", "spl" ], - "time": "2014-05-21 19:28:51" + "time": "2015-08-31 13:00:22" }, { "name": "doctrine/inflector", - "version": "v1.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "v1.0" + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/54b8333d2a5682afdc690060c1cf384ba9f47f08", - "reference": "v1.0", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", "shasum": "" }, "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\Common\\Inflector\\": "lib/" @@ -479,16 +481,6 @@ "MIT" ], "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -498,34 +490,40 @@ "email": "kontakt@beberlei.de" }, { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], "description": "Common String Manipulations with regard to casing and singular/plural rules.", "homepage": "http://www.doctrine-project.org", "keywords": [ "inflection", - "pluarlize", - "singuarlize", + "pluralize", + "singularize", "string" ], - "time": "2013-01-10 21:49:15" + "time": "2014-12-20 21:24:13" }, { "name": "doctrine/instantiator", - "version": "1.0.4", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", "shasum": "" }, "require": { @@ -536,7 +534,7 @@ "ext-pdo": "*", "ext-phar": "*", "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" + "squizlabs/php_codesniffer": "~2.0" }, "type": "library", "extra": { @@ -545,8 +543,8 @@ } }, "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", @@ -566,7 +564,7 @@ "constructor", "instantiate" ], - "time": "2014-10-13 12:58:55" + "time": "2015-06-14 21:17:01" }, { "name": "doctrine/lexer", @@ -796,7 +794,7 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d687700d601f8b5f19b99ffc1c0f6af835a3c7b7", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/33af93ab4b5e76df7a4c774910590f814a3e576c", "reference": "1879fbe853b0c64d109e369c7aeff09849e62d1e", "shasum": "" }, diff --git a/core/vendor/composer/autoload_namespaces.php b/core/vendor/composer/autoload_namespaces.php index 63f4b704af3e..4ab08c810db2 100644 --- a/core/vendor/composer/autoload_namespaces.php +++ b/core/vendor/composer/autoload_namespaces.php @@ -14,7 +14,6 @@ 'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'), 'Egulias\\' => array($vendorDir . '/egulias/email-validator/src'), 'EasyRdf_' => array($vendorDir . '/easyrdf/easyrdf/lib'), - 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src'), 'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'), 'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib'), 'Doctrine\\Common\\Collections\\' => array($vendorDir . '/doctrine/collections/lib'), diff --git a/core/vendor/composer/autoload_psr4.php b/core/vendor/composer/autoload_psr4.php index aeaabc1b58a9..1d8824afd4f3 100644 --- a/core/vendor/composer/autoload_psr4.php +++ b/core/vendor/composer/autoload_psr4.php @@ -37,6 +37,7 @@ 'Drupal\\Driver\\' => array($baseDir . '/../drivers/lib/Drupal/Driver'), 'Drupal\\Core\\' => array($baseDir . '/lib/Drupal/Core'), 'Drupal\\Component\\' => array($baseDir . '/lib/Drupal/Component'), + 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'), 'Behat\\Mink\\Driver\\' => array($vendorDir . '/behat/mink-goutte-driver/src'), 'Behat\\Mink\\' => array($vendorDir . '/behat/mink/src'), ); diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index e406431a18d7..9d0305393ff1 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -1,175 +1,117 @@ [ { - "name": "doctrine/inflector", - "version": "v1.0", - "version_normalized": "1.0.0.0", + "name": "phpunit/php-text-template", + "version": "1.2.0", + "version_normalized": "1.2.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "v1.0" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/54b8333d2a5682afdc690060c1cf384ba9f47f08", - "reference": "v1.0", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", + "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": ">=5.3.3" }, - "time": "2013-01-10 21:49:15", + "time": "2014-01-30 17:20:04", "type": "library", "installation-source": "dist", "autoload": { - "psr-0": { - "Doctrine\\Common\\Inflector\\": "lib/" - } + "classmap": [ + "Text/" + ] }, "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "" + ], "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "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 M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "inflection", - "pluarlize", - "singuarlize", - "string" + "template" ] }, { - "name": "doctrine/collections", - "version": "v1.2", - "version_normalized": "1.2.0.0", + "name": "phpunit/php-timer", + "version": "1.0.5", + "version_normalized": "1.0.5.0", "source": { "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", + "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": ">=5.3.3" }, - "time": "2014-02-03 23:07:43", + "time": "2013-08-02 07:42:54", "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "installation-source": "dist", "autoload": { - "psr-0": { - "Doctrine\\Common\\Collections\\": "lib/" - } + "classmap": [ + "PHP/" + ] }, "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "" + ], "license": [ - "MIT" + "BSD-3-Clause" ], "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" + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "Collections Abstraction library", - "homepage": "http://www.doctrine-project.org", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "array", - "collections", - "iterator" + "timer" ] }, { - "name": "doctrine/cache", - "version": "v1.3.1", - "version_normalized": "1.3.1.0", + "name": "psr/log", + "version": "1.0.0", + "version_normalized": "1.0.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7" + "url": "https://github.com/php-fig/log.git", + "reference": "1.0.0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/cf483685798a72c93bf4206e3dd6358ea07d64e7", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", + "reference": "1.0.0", "shasum": "" }, - "require": { - "php": ">=5.3.2" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "phpunit/phpunit": ">=3.7", - "satooshi/php-coveralls": "~0.6" - }, - "time": "2014-09-17 14:24:04", + "time": "2012-12-21 11:40:51", "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, "installation-source": "dist", "autoload": { "psr-0": { - "Doctrine\\Common\\Cache\\": "lib/" + "Psr\\Log\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -178,67 +120,51 @@ ], "authors": [ { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Caching library offering an object-oriented API for many cache backends", - "homepage": "http://www.doctrine-project.org", + "description": "Common interface for logging libraries", "keywords": [ - "cache", - "caching" + "log", + "psr", + "psr-3" ] }, { - "name": "doctrine/annotations", - "version": "v1.2.1", - "version_normalized": "1.2.1.0", + "name": "stack/builder", + "version": "v1.0.2", + "version_normalized": "1.0.2.0", "source": { "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633" + "url": "https://github.com/stackphp/builder.git", + "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/6a6bec0670bb6e71a263b08bc1b98ea242928633", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633", + "url": "https://api.github.com/repos/stackphp/builder/zipball/b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7", + "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7", "shasum": "" }, "require": { - "doctrine/lexer": "1.*", - "php": ">=5.3.2" + "php": ">=5.3.0", + "symfony/http-foundation": "~2.1", + "symfony/http-kernel": "~2.1" }, "require-dev": { - "doctrine/cache": "1.*", - "phpunit/phpunit": "4.*" + "silex/silex": "~1.0" }, - "time": "2014-09-25 16:45:30", + "time": "2014-01-28 19:42:24", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "1.0-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "Doctrine\\Common\\Annotations\\": "lib/" + "Stack": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -247,203 +173,228 @@ ], "authors": [ { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "name": "Igor Wiedler", + "email": "igor@wiedler.ch", + "homepage": "http://wiedler.ch/igor/" } ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", + "description": "Builder for stack middlewares based on HttpKernelInterface.", "keywords": [ - "annotations", - "docblock", - "parser" + "stack" ] }, { - "name": "phpunit/php-text-template", - "version": "1.2.0", - "version_normalized": "1.2.0.0", + "name": "symfony-cmf/routing", + "version": "1.3.0", + "version_normalized": "1.3.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" + "url": "https://github.com/symfony-cmf/Routing.git", + "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", + "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6", + "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "psr/log": "~1.0", + "symfony/http-kernel": "~2.2", + "symfony/routing": "~2.2" }, - "time": "2014-01-30 17:20:04", + "require-dev": { + "symfony/config": "~2.2", + "symfony/dependency-injection": "~2.0@stable", + "symfony/event-dispatcher": "~2.1" + }, + "suggest": { + "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1" + }, + "time": "2014-10-20 20:55:17", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, "installation-source": "dist", "autoload": { - "classmap": [ - "Text/" - ] + "psr-4": { + "Symfony\\Cmf\\Component\\Routing\\": "" + } }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "name": "Symfony CMF Community", + "homepage": "https://github.com/symfony-cmf/Routing/contributors" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers", + "homepage": "http://cmf.symfony.com", "keywords": [ - "template" + "database", + "routing" ] }, { - "name": "doctrine/instantiator", - "version": "1.0.4", - "version_normalized": "1.0.4.0", + "name": "easyrdf/easyrdf", + "version": "0.9.0", + "version_normalized": "0.9.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" + "url": "https://github.com/njh/easyrdf.git", + "reference": "bb9fd99768d23af0c5b7b55cec5baddc201272b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", + "url": "https://api.github.com/repos/njh/easyrdf/zipball/bb9fd99768d23af0c5b7b55cec5baddc201272b8", + "reference": "bb9fd99768d23af0c5b7b55cec5baddc201272b8", "shasum": "" }, "require": { - "php": ">=5.3,<8.0-DEV" + "ext-mbstring": "*", + "ext-pcre": "*", + "php": ">=5.2.8" }, "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" + "phpunit/phpunit": "~3.5", + "sami/sami": "~1.4", + "squizlabs/php_codesniffer": "~1.4.3" }, - "time": "2014-10-13 12:58:55", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } + "suggest": { + "ml/json-ld": "~1.0" }, + "time": "2014-11-07 18:02:16", + "type": "library", "installation-source": "dist", "autoload": { "psr-0": { - "Doctrine\\Instantiator\\": "src" + "EasyRdf_": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "name": "Nicholas Humfrey", + "email": "njh@aelius.com", + "homepage": "http://www.aelius.com/njh/", + "role": "Developer" + }, + { + "name": "Alexey Zakhlestin", + "email": "indeyets@gmail.com", + "role": "Developer" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", + "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.", + "homepage": "http://www.easyrdf.org/", "keywords": [ - "constructor", - "instantiate" + "Linked Data", + "RDF", + "Semantic Web", + "Turtle", + "rdfa", + "sparql" ] }, { - "name": "phpunit/php-timer", - "version": "1.0.5", - "version_normalized": "1.0.5.0", + "name": "sebastian/global-state", + "version": "1.0.0", + "version_normalized": "1.0.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", + "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "time": "2013-08-02 07:42:54", + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "time": "2014-10-06 09:23:50", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "installation-source": "dist", "autoload": { "classmap": [ - "PHP/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ - "timer" + "global state" ] }, { - "name": "psr/log", - "version": "1.0.0", - "version_normalized": "1.0.0.0", + "name": "behat/mink", + "version": "v1.6.1", + "version_normalized": "1.6.1.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "1.0.0" + "url": "https://github.com/minkphp/Mink.git", + "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "1.0.0", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a", + "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a", "shasum": "" }, - "time": "2012-12-21 11:40:51", + "require": { + "php": ">=5.3.1", + "symfony/css-selector": "~2.0" + }, + "suggest": { + "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", + "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", + "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", + "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" + }, + "time": "2015-02-04 17:02:06", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, "installation-source": "dist", "autoload": { - "psr-0": { - "Psr\\Log\\": "" + "psr-4": { + "Behat\\Mink\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -452,51 +403,54 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Common interface for logging libraries", + "description": "Browser controller/emulator abstraction for PHP", + "homepage": "http://mink.behat.org/", "keywords": [ - "log", - "psr", - "psr-3" + "browser", + "testing", + "web" ] }, { - "name": "stack/builder", - "version": "v1.0.2", - "version_normalized": "1.0.2.0", + "name": "behat/mink-browserkit-driver", + "version": "v1.2.0", + "version_normalized": "1.2.0.0", "source": { "type": "git", - "url": "https://github.com/stackphp/builder.git", - "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7" + "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", + "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stackphp/builder/zipball/b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7", - "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7", + "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd", + "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd", "shasum": "" }, "require": { - "php": ">=5.3.0", - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.1" + "behat/mink": "~1.6@dev", + "php": ">=5.3.1", + "symfony/browser-kit": "~2.0", + "symfony/dom-crawler": "~2.0" }, "require-dev": { - "silex/silex": "~1.0" + "silex/silex": "~1.2" }, - "time": "2014-01-28 19:42:24", - "type": "library", + "time": "2014-09-26 11:35:19", + "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.2.x-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "Stack": "src" + "Behat\\Mink\\Driver": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -505,56 +459,55 @@ ], "authors": [ { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch", - "homepage": "http://wiedler.ch/igor/" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Builder for stack middlewares based on HttpKernelInterface.", + "description": "Symfony2 BrowserKit driver for Mink framework", + "homepage": "http://mink.behat.org/", "keywords": [ - "stack" + "Mink", + "Symfony2", + "browser", + "testing" ] }, { - "name": "symfony-cmf/routing", - "version": "1.3.0", - "version_normalized": "1.3.0.0", + "name": "masterminds/html5", + "version": "2.1.0", + "version_normalized": "2.1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony-cmf/Routing.git", - "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6" + "url": "https://github.com/Masterminds/html5-php.git", + "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6", - "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/a10f8d392e1aad0b500f7b440c8f0d3bc9189704", + "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704", "shasum": "" }, "require": { - "php": ">=5.3.3", - "psr/log": "~1.0", - "symfony/http-kernel": "~2.2", - "symfony/routing": "~2.2" + "ext-libxml": "*", + "php": ">=5.3.0" }, "require-dev": { - "symfony/config": "~2.2", - "symfony/dependency-injection": "~2.0@stable", - "symfony/event-dispatcher": "~2.1" - }, - "suggest": { - "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1" + "phpunit/phpunit": "4.*", + "sami/sami": "~2.0", + "satooshi/php-coveralls": "0.6.*" }, - "time": "2014-10-20 20:55:17", + "time": "2015-02-09 16:26:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "2.1-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Cmf\\Component\\Routing\\": "" + "Masterminds\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -563,297 +516,301 @@ ], "authors": [ { - "name": "Symfony CMF Community", - "homepage": "https://github.com/symfony-cmf/Routing/contributors" + "name": "Matt Butcher", + "email": "technosophos@gmail.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + }, + { + "name": "Matt Farina", + "email": "matt@mattfarina.com" } ], - "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers", - "homepage": "http://cmf.symfony.com", + "description": "An HTML5 parser and serializer.", + "homepage": "http://masterminds.github.io/html5-php", "keywords": [ - "database", - "routing" - ] - }, - { - "name": "easyrdf/easyrdf", - "version": "0.9.0", - "version_normalized": "0.9.0.0", + "HTML5", + "dom", + "html", + "parser", + "querypath", + "serializer", + "xml" + ] + }, + { + "name": "zendframework/zend-stdlib", + "version": "2.4.0", + "version_normalized": "2.4.0.0", "source": { "type": "git", - "url": "https://github.com/njh/easyrdf.git", - "reference": "bb9fd99768d23af0c5b7b55cec5baddc201272b8" + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/njh/easyrdf/zipball/bb9fd99768d23af0c5b7b55cec5baddc201272b8", - "reference": "bb9fd99768d23af0c5b7b55cec5baddc201272b8", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3", + "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030", "shasum": "" }, "require": { - "ext-mbstring": "*", - "ext-pcre": "*", - "php": ">=5.2.8" + "php": ">=5.3.23" }, "require-dev": { - "phpunit/phpunit": "~3.5", - "sami/sami": "~1.4", - "squizlabs/php_codesniffer": "~1.4.3" + "zendframework/zend-eventmanager": "self.version", + "zendframework/zend-filter": "self.version", + "zendframework/zend-serializer": "self.version", + "zendframework/zend-servicemanager": "self.version" }, "suggest": { - "ml/json-ld": "~1.0" + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-filter": "To support naming strategy hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" }, - "time": "2014-11-07 18:02:16", + "time": "2015-04-01 18:09:29", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" + } + }, "installation-source": "dist", "autoload": { - "psr-0": { - "EasyRdf_": "lib/" + "psr-4": { + "Zend\\Stdlib\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "authors": [ - { - "name": "Nicholas Humfrey", - "email": "njh@aelius.com", - "homepage": "http://www.aelius.com/njh/", - "role": "Developer" - }, - { - "name": "Alexey Zakhlestin", - "email": "indeyets@gmail.com", - "role": "Developer" - } - ], - "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.", - "homepage": "http://www.easyrdf.org/", + "homepage": "https://github.com/zendframework/zf2", "keywords": [ - "Linked Data", - "RDF", - "Semantic Web", - "Turtle", - "rdfa", - "sparql" + "stdlib", + "zf2" ] }, { - "name": "sebastian/global-state", - "version": "1.0.0", - "version_normalized": "1.0.0.0", + "name": "zendframework/zend-escaper", + "version": "2.4.0", + "version_normalized": "2.4.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97", + "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" + "php": ">=5.3.23" }, - "time": "2014-10-06 09:23:50", + "time": "2015-04-01 18:02:07", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Zend\\Escaper\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://github.com/zendframework/zf2", "keywords": [ - "global state" + "escaper", + "zf2" ] }, { - "name": "doctrine/common", - "version": "v2.4.2", - "version_normalized": "2.4.2.0", + "name": "zendframework/zend-feed", + "version": "2.4.0", + "version_normalized": "2.4.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/common.git", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b" + "url": "https://github.com/zendframework/zend-feed.git", + "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b", + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2", + "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5", "shasum": "" }, "require": { - "doctrine/annotations": "1.*", - "doctrine/cache": "1.*", - "doctrine/collections": "1.*", - "doctrine/inflector": "1.*", - "doctrine/lexer": "1.*", - "php": ">=5.3.2" + "php": ">=5.3.23", + "zendframework/zend-escaper": "self.version", + "zendframework/zend-stdlib": "self.version" }, "require-dev": { - "phpunit/phpunit": "~3.7" + "zendframework/zend-cache": "self.version", + "zendframework/zend-db": "self.version", + "zendframework/zend-http": "self.version", + "zendframework/zend-servicemanager": "self.version", + "zendframework/zend-validator": "self.version" + }, + "suggest": { + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component" }, - "time": "2014-05-21 19:28:51", + "time": "2015-04-01 18:09:25", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Doctrine\\Common\\": "lib/" + "psr-4": { + "Zend\\Feed\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" + ], + "description": "provides functionality for consuming RSS and Atom feeds", + "homepage": "https://github.com/zendframework/zf2", + "keywords": [ + "feed", + "zf2" + ] + }, + { + "name": "sebastian/version", + "version": "1.0.5", + "version_normalized": "1.0.5.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "shasum": "" + }, + "time": "2015-02-24 06:35:25", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" ], "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" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common Library for Doctrine projects", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "collections", - "eventmanager", - "persistence", - "spl" - ] + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version" }, { - "name": "behat/mink", - "version": "v1.6.1", - "version_normalized": "1.6.1.0", + "name": "sebastian/recursion-context", + "version": "1.0.0", + "version_normalized": "1.0.0.0", "source": { "type": "git", - "url": "https://github.com/minkphp/Mink.git", - "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a", - "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252", "shasum": "" }, "require": { - "php": ">=5.3.1", - "symfony/css-selector": "~2.0" + "php": ">=5.3.3" }, - "suggest": { - "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", - "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", - "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", - "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" + "require-dev": { + "phpunit/phpunit": "~4.4" }, - "time": "2015-02-04 17:02:06", + "time": "2015-01-24 09:48:32", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.0.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Behat\\Mink\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Browser controller/emulator abstraction for PHP", - "homepage": "http://mink.behat.org/", - "keywords": [ - "browser", - "testing", - "web" - ] + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context" }, { - "name": "behat/mink-browserkit-driver", - "version": "v1.2.0", + "name": "sebastian/exporter", + "version": "1.2.0", "version_normalized": "1.2.0.0", "source": { "type": "git", - "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", - "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "84839970d05254c73cde183a721c7af13aede943" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd", - "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", + "reference": "84839970d05254c73cde183a721c7af13aede943", "shasum": "" }, "require": { - "behat/mink": "~1.6@dev", - "php": ">=5.3.1", - "symfony/browser-kit": "~2.0", - "symfony/dom-crawler": "~2.0" + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" }, "require-dev": { - "silex/silex": "~1.2" + "phpunit/phpunit": "~4.4" }, - "time": "2014-09-26 11:35:19", - "type": "mink-driver", + "time": "2015-01-27 07:23:06", + "type": "library", "extra": { "branch-alias": { "dev-master": "1.2.x-dev" @@ -861,315 +818,359 @@ }, "installation-source": "dist", "autoload": { - "psr-0": { - "Behat\\Mink\\Driver": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Symfony2 BrowserKit driver for Mink framework", - "homepage": "http://mink.behat.org/", + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", "keywords": [ - "Mink", - "Symfony2", - "browser", - "testing" + "export", + "exporter" ] }, { - "name": "masterminds/html5", - "version": "2.1.0", - "version_normalized": "2.1.0.0", + "name": "sebastian/environment", + "version": "1.2.2", + "version_normalized": "1.2.2.0", "source": { "type": "git", - "url": "https://github.com/Masterminds/html5-php.git", - "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/a10f8d392e1aad0b500f7b440c8f0d3bc9189704", - "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", "shasum": "" }, "require": { - "ext-libxml": "*", - "php": ">=5.3.0" + "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "4.*", - "sami/sami": "~2.0", - "satooshi/php-coveralls": "0.6.*" + "phpunit/phpunit": "~4.4" }, - "time": "2015-02-09 16:26:00", + "time": "2015-01-01 10:01:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "1.3.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Masterminds\\": "src" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Matt Butcher", - "email": "technosophos@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - }, - { - "name": "Matt Farina", - "email": "matt@mattfarina.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "An HTML5 parser and serializer.", - "homepage": "http://masterminds.github.io/html5-php", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "HTML5", - "dom", - "html", - "parser", - "querypath", - "serializer", - "xml" + "Xdebug", + "environment", + "hhvm" ] }, { - "name": "zendframework/zend-stdlib", - "version": "2.4.0", - "version_normalized": "2.4.0.0", + "name": "sebastian/diff", + "version": "1.3.0", + "version_normalized": "1.3.0.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3", - "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": ">=5.3.3" }, "require-dev": { - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + "phpunit/phpunit": "~4.2" }, - "time": "2015-04-01 18:09:29", + "time": "2015-02-22 15:13:53", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.3-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Zend\\Stdlib\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zf2", + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "http://www.github.com/sebastianbergmann/diff", "keywords": [ - "stdlib", - "zf2" + "diff" ] }, { - "name": "zendframework/zend-escaper", - "version": "2.4.0", - "version_normalized": "2.4.0.0", + "name": "sebastian/comparator", + "version": "1.1.1", + "version_normalized": "1.1.1.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97", - "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" }, - "time": "2015-04-01 18:02:07", + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "time": "2015-01-29 16:28:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.1.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Zend\\Escaper\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zf2", + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", "keywords": [ - "escaper", - "zf2" + "comparator", + "compare", + "equality" ] }, { - "name": "zendframework/zend-feed", - "version": "2.4.0", - "version_normalized": "2.4.0.0", + "name": "phpdocumentor/reflection-docblock", + "version": "2.0.4", + "version_normalized": "2.0.4.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-feed.git", - "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5" + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2", - "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-stdlib": "self.version" + "php": ">=5.3.3" }, "require-dev": { - "zendframework/zend-cache": "self.version", - "zendframework/zend-db": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-validator": "self.version" + "phpunit/phpunit": "~4.0" }, "suggest": { - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations", - "zendframework/zend-validator": "Zend\\Validator component" + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" }, - "time": "2015-04-01 18:09:25", + "time": "2015-02-03 12:10:50", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "2.0.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Zend\\Feed\\": "" + "psr-0": { + "phpDocumentor": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "provides functionality for consuming RSS and Atom feeds", - "homepage": "https://github.com/zendframework/zf2", - "keywords": [ - "feed", - "zf2" + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } ] }, { - "name": "sebastian/version", - "version": "1.0.5", - "version_normalized": "1.0.5.0", + "name": "phpspec/prophecy", + "version": "1.4.0", + "version_normalized": "1.4.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" + "url": "https://github.com/phpspec/prophecy.git", + "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", + "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", "shasum": "" }, - "time": "2015-02-24 06:35:25", + "require": { + "doctrine/instantiator": "^1.0.2", + "phpdocumentor/reflection-docblock": "~2.0", + "sebastian/comparator": "~1.1" + }, + "require-dev": { + "phpspec/phpspec": "~2.0" + }, + "time": "2015-03-27 19:31:25", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-0": { + "Prophecy\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version" + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ] }, { - "name": "sebastian/recursion-context", - "version": "1.0.0", - "version_normalized": "1.0.0.0", + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.1", + "version_normalized": "2.3.1.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", "shasum": "" }, "require": { - "php": ">=5.3.3" + "doctrine/instantiator": "~1.0,>=1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2" }, "require-dev": { "phpunit/phpunit": "~4.4" }, - "time": "2015-01-24 09:48:32", + "suggest": { + "ext-soap": "*" + }, + "time": "2015-04-02 05:36:41", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.3.x-dev" } }, "installation-source": "dist", @@ -1183,49 +1184,46 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context" + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ] }, { - "name": "sebastian/exporter", - "version": "1.2.0", - "version_normalized": "1.2.0.0", + "name": "phpunit/php-token-stream", + "version": "1.4.1", + "version_normalized": "1.4.1.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "eab81d02569310739373308137284e0158424330" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", + "reference": "eab81d02569310739373308137284e0158424330", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "ext-tokenizer": "*", + "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "~4.2" }, - "time": "2015-01-27 07:23:06", + "time": "2015-04-08 04:46:07", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.4-dev" } }, "installation-source": "dist", @@ -1239,60 +1237,40 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", "keywords": [ - "export", - "exporter" + "tokenizer" ] }, { - "name": "sebastian/environment", - "version": "1.2.2", - "version_normalized": "1.2.2.0", + "name": "phpunit/php-file-iterator", + "version": "1.4.0", + "version_normalized": "1.4.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", + "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "time": "2015-01-01 10:01:08", + "time": "2015-04-02 05:19:05", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "1.4.x-dev" } }, "installation-source": "dist", @@ -1308,43 +1286,54 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "Xdebug", - "environment", - "hhvm" + "filesystem", + "iterator" ] }, { - "name": "sebastian/diff", - "version": "1.3.0", - "version_normalized": "1.3.0.0", + "name": "phpunit/php-code-coverage", + "version": "2.0.16", + "version_normalized": "2.0.16.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c", + "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "~1.0", + "sebastian/version": "~1.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" }, - "time": "2015-02-22 15:13:53", + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "time": "2015-04-11 04:35:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "2.0.x-dev" } }, "installation-source": "dist", @@ -1358,49 +1347,67 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "diff" + "coverage", + "testing", + "xunit" ] }, { - "name": "sebastian/comparator", - "version": "1.1.1", - "version_normalized": "1.1.1.0", + "name": "phpunit/phpunit", + "version": "4.6.4", + "version_normalized": "4.6.4.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "163232991e652e6efed2f8470326fffa61e848e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2", + "reference": "163232991e652e6efed2f8470326fffa61e848e2", "shasum": "" }, "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", "php": ">=5.3.3", + "phpspec/prophecy": "~1.3,>=1.3.1", + "phpunit/php-code-coverage": "~2.0,>=2.0.11", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "~1.0", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.1", "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" + "sebastian/environment": "~1.2", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.1|~3.0" }, - "require-dev": { - "phpunit/phpunit": "~4.4" + "suggest": { + "phpunit/php-invoker": "~1.1" }, - "time": "2015-01-29 16:28:08", + "time": "2015-04-11 05:23:21", + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "4.6.x-dev" } }, "installation-source": "dist", @@ -1414,116 +1421,97 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "comparator", - "compare", - "equality" + "phpunit", + "testing", + "xunit" ] }, { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "version_normalized": "2.0.4.0", + "name": "mikey179/vfsStream", + "version": "v1.5.0", + "version_normalized": "1.5.0.0", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" + "url": "https://github.com/mikey179/vfsStream.git", + "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", + "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a", + "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "phpunit/phpunit": "~4.5" }, - "time": "2015-02-03 12:10:50", + "time": "2015-03-29 11:19:49", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.5.x-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "phpDocumentor": [ - "src/" - ] + "org\\bovigo\\vfs\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "name": "Frank Kleine", + "homepage": "http://frankkleine.de/", + "role": "Developer" } - ] + ], + "description": "Virtual file system to mock the real file system in unit tests.", + "homepage": "http://vfs.bovigo.org/" }, { - "name": "phpspec/prophecy", - "version": "1.4.0", - "version_normalized": "1.4.0.0", + "name": "doctrine/lexer", + "version": "v1.0.1", + "version_normalized": "1.0.1.0", "source": { "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1" - }, - "require-dev": { - "phpspec/phpspec": "~2.0" + "php": ">=5.3.2" }, - "time": "2015-03-27 19:31:25", + "time": "2014-09-09 13:34:57", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.0.x-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "Prophecy\\": "src/" + "Doctrine\\Common\\Lexer\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1532,398 +1520,331 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Roman Borschel", + "email": "roman@code-factory.org" }, { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" + "lexer", + "parser" ] }, { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.1", - "version_normalized": "2.3.1.0", + "name": "psr/http-message", + "version": "1.0", + "version_normalized": "1.0.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" + "url": "https://github.com/php-fig/http-message.git", + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", "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" - }, - "suggest": { - "ext-soap": "*" + "php": ">=5.3.0" }, - "time": "2015-04-02 05:36:41", + "time": "2015-05-04 20:22:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "1.0.x-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "description": "Common interface for HTTP messages", "keywords": [ - "mock", - "xunit" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ] }, { - "name": "phpunit/php-token-stream", - "version": "1.4.1", - "version_normalized": "1.4.1.0", + "name": "symfony/psr-http-message-bridge", + "version": "v0.2", + "version_normalized": "0.2.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "eab81d02569310739373308137284e0158424330" + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "dc7e308e1dc2898a46776e2221a643cb08315453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", - "reference": "eab81d02569310739373308137284e0158424330", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453", + "reference": "dc7e308e1dc2898a46776e2221a643cb08315453", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" + "php": ">=5.3.3", + "psr/http-message": "~1.0", + "symfony/http-foundation": "~2.3|~3.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "time": "2015-04-08 04:46:07", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ] - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.0", - "version_normalized": "1.4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" + "symfony/phpunit-bridge": "~2.7|~3.0" }, - "time": "2015-04-02 05:19:05", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } + "suggest": { + "zendframework/zend-diactoros": "To use the Zend Diactoros factory" }, + "time": "2015-05-29 17:57:12", + "type": "symfony-bridge", "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Bridge\\PsrHttpMessage\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "description": "PSR HTTP message bridge", + "homepage": "http://symfony.com", "keywords": [ - "filesystem", - "iterator" + "http", + "http-message", + "psr-7" ] }, { - "name": "phpunit/php-code-coverage", - "version": "2.0.16", - "version_normalized": "2.0.16.0", + "name": "zendframework/zend-diactoros", + "version": "1.1.0", + "version_normalized": "1.1.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c" + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c", - "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/df65f70fc36f24d51a90ad706a09cd9b74fc4dd8", + "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", - "sebastian/version": "~1.0" + "php": ">=5.4", + "psr/http-message": "~1.0" }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" + "provide": { + "psr/http-message-implementation": "~1.0.0" }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "require-dev": { + "phpunit/phpunit": "~4.6", + "squizlabs/php_codesniffer": "^2.3.1" }, - "time": "2015-04-11 04:35:00", + "time": "2015-06-24 20:42:54", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0-dev", + "dev-develop": "1.1-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Zend\\Diactoros\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } + "BSD-2-Clause" ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", "keywords": [ - "coverage", - "testing", - "xunit" + "http", + "psr", + "psr-7" ] }, { - "name": "phpunit/phpunit", - "version": "4.6.4", - "version_normalized": "4.6.4.0", + "name": "guzzlehttp/guzzle", + "version": "dev-master", + "version_normalized": "9999999-dev", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "163232991e652e6efed2f8470326fffa61e848e2" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "1879fbe853b0c64d109e369c7aeff09849e62d1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2", - "reference": "163232991e652e6efed2f8470326fffa61e848e2", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/33af93ab4b5e76df7a4c774910590f814a3e576c", + "reference": "1879fbe853b0c64d109e369c7aeff09849e62d1e", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "~1.3,>=1.3.1", - "phpunit/php-code-coverage": "~2.0,>=2.0.11", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.2", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" + "guzzlehttp/promises": "~1.0", + "guzzlehttp/psr7": "~1.1", + "php": ">=5.5.0" }, - "suggest": { - "phpunit/php-invoker": "~1.1" + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0" }, - "time": "2015-04-11 05:23:21", - "bin": [ - "phpunit" - ], + "time": "2015-07-10 20:04:21", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.6.x-dev" + "dev-master": "6.0-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", "keywords": [ - "phpunit", - "testing", - "xunit" + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" ] }, { - "name": "mikey179/vfsStream", - "version": "v1.5.0", - "version_normalized": "1.5.0.0", + "name": "fabpot/goutte", + "version": "v3.1.0", + "version_normalized": "3.1.0.0", "source": { "type": "git", - "url": "https://github.com/mikey179/vfsStream.git", - "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a" + "url": "https://github.com/FriendsOfPHP/Goutte.git", + "reference": "d9a5a28782d30e9f4e20176caea58a1d459f2c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a", - "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a", + "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/d9a5a28782d30e9f4e20176caea58a1d459f2c71", + "reference": "d9a5a28782d30e9f4e20176caea58a1d459f2c71", "shasum": "" }, "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.5" + "guzzlehttp/guzzle": "^6.0", + "php": ">=5.5.0", + "symfony/browser-kit": "~2.1", + "symfony/css-selector": "~2.1", + "symfony/dom-crawler": "~2.1" }, - "time": "2015-03-29 11:19:49", - "type": "library", + "time": "2015-06-24 16:11:31", + "type": "application", "extra": { "branch-alias": { - "dev-master": "1.5.x-dev" + "dev-master": "3.1-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "org\\bovigo\\vfs\\": "src/main/php" + "psr-4": { + "Goutte\\": "Goutte" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Frank Kleine", - "homepage": "http://frankkleine.de/", - "role": "Developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], - "description": "Virtual file system to mock the real file system in unit tests.", - "homepage": "http://vfs.bovigo.org/" + "description": "A simple PHP Web Scraper", + "homepage": "https://github.com/FriendsOfPHP/Goutte", + "keywords": [ + "scraper" + ] }, { - "name": "doctrine/lexer", - "version": "v1.0.1", - "version_normalized": "1.0.1.0", + "name": "behat/mink-goutte-driver", + "version": "dev-master", + "version_normalized": "9999999-dev", "source": { "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + "url": "https://github.com/minkphp/MinkGoutteDriver.git", + "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/7e9a7319cc0e8cf9d4d4c9e06e2020d3a31bd792", + "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd", "shasum": "" }, "require": { - "php": ">=5.3.2" + "behat/mink": "~1.6@dev", + "behat/mink-browserkit-driver": "~1.2@dev", + "fabpot/goutte": "~1.0.4|~2.0|~3.1", + "php": ">=5.3.1" }, - "time": "2014-09-09 13:34:57", - "type": "library", + "time": "2015-06-27 00:15:11", + "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1932,54 +1853,54 @@ ], "authors": [ { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", + "description": "Goutte driver for Mink framework", + "homepage": "http://mink.behat.org/", "keywords": [ - "lexer", - "parser" + "browser", + "goutte", + "headless", + "testing" ] }, { - "name": "psr/http-message", - "version": "1.0", - "version_normalized": "1.0.0.0", + "name": "egulias/email-validator", + "version": "1.2.9", + "version_normalized": "1.2.9.0", "source": { "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298" + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", - "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/af864423f50ea59f96c87bb1eae147a70bcf67a1", + "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1", "shasum": "" }, "require": { - "php": ">=5.3.0" + "doctrine/lexer": "~1.0,>=1.0.1", + "php": ">= 5.3.3" }, - "time": "2015-05-04 20:22:00", + "require-dev": { + "phpunit/phpunit": "~4.4", + "satooshi/php-coveralls": "dev-master" + }, + "time": "2015-06-22 21:07:51", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" + "psr-0": { + "Egulias\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1988,167 +1909,170 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Eduardo Gulias Davis" } ], - "description": "Common interface for HTTP messages", + "description": "A library for validating emails", + "homepage": "https://github.com/egulias/EmailValidator", "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" ] }, { - "name": "symfony/psr-http-message-bridge", - "version": "v0.2", - "version_normalized": "0.2.0.0", + "name": "twig/twig", + "version": "v1.20.0", + "version_normalized": "1.20.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "dc7e308e1dc2898a46776e2221a643cb08315453" + "url": "https://github.com/twigphp/Twig.git", + "reference": "1ea4e5f81c6d005fe84d0b38e1c4f1955eb86844" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453", - "reference": "dc7e308e1dc2898a46776e2221a643cb08315453", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/1ea4e5f81c6d005fe84d0b38e1c4f1955eb86844", + "reference": "1ea4e5f81c6d005fe84d0b38e1c4f1955eb86844", "shasum": "" }, "require": { - "php": ">=5.3.3", - "psr/http-message": "~1.0", - "symfony/http-foundation": "~2.3|~3.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7|~3.0" + "php": ">=5.2.7" }, - "suggest": { - "zendframework/zend-diactoros": "To use the Zend Diactoros factory" + "time": "2015-08-12 15:56:39", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.20-dev" + } }, - "time": "2015-05-29 17:57:12", - "type": "symfony-bridge", "installation-source": "dist", "autoload": { - "psr-4": { - "Symfony\\Bridge\\PsrHttpMessage\\": "" + "psr-0": { + "Twig_": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" } ], - "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", "keywords": [ - "http", - "http-message", - "psr-7" + "templating" ] }, { - "name": "zendframework/zend-diactoros", - "version": "1.1.0", - "version_normalized": "1.1.0.0", + "name": "symfony/class-loader", + "version": "v2.7.3", + "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-diactoros.git", - "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8" + "url": "https://github.com/symfony/ClassLoader.git", + "reference": "2fccbc544997340808801a7410cdcb96dd12edc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/df65f70fc36f24d51a90ad706a09cd9b74fc4dd8", - "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8", + "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/2fccbc544997340808801a7410cdcb96dd12edc4", + "reference": "2fccbc544997340808801a7410cdcb96dd12edc4", "shasum": "" }, "require": { - "php": ">=5.4", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "~1.0.0" + "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "~4.6", - "squizlabs/php_codesniffer": "^2.3.1" + "symfony/finder": "~2.0,>=2.0.5", + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-06-24 20:42:54", + "time": "2015-06-25 12:52:11", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "1.1-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Zend\\Diactoros\\": "src/" + "Symfony\\Component\\ClassLoader\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-2-Clause" + "MIT" ], - "description": "PSR HTTP Message implementations", - "homepage": "https://github.com/zendframework/zend-diactoros", - "keywords": [ - "http", - "psr", - "psr-7" - ] + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony ClassLoader Component", + "homepage": "https://symfony.com" }, { - "name": "guzzlehttp/guzzle", - "version": "dev-master", - "version_normalized": "9999999-dev", + "name": "symfony/console", + "version": "v2.7.3", + "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "1879fbe853b0c64d109e369c7aeff09849e62d1e" + "url": "https://github.com/symfony/Console.git", + "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d687700d601f8b5f19b99ffc1c0f6af835a3c7b7", - "reference": "1879fbe853b0c64d109e369c7aeff09849e62d1e", + "url": "https://api.github.com/repos/symfony/Console/zipball/d6cf02fe73634c96677e428f840704bfbcaec29e", + "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e", "shasum": "" }, "require": { - "guzzlehttp/promises": "~1.0", - "guzzlehttp/psr7": "~1.1", - "php": ">=5.5.0" + "php": ">=5.3.9" }, "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1", + "symfony/phpunit-bridge": "~2.7", + "symfony/process": "~2.1" }, - "time": "2015-07-10 20:04:21", + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "time": "2015-07-28 15:18:12", "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { - "GuzzleHttp\\": "src/" + "Symfony\\Component\\Console\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2157,56 +2081,49 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ] + "description": "Symfony Console Component", + "homepage": "https://symfony.com" }, { - "name": "fabpot/goutte", - "version": "v3.1.0", - "version_normalized": "3.1.0.0", + "name": "symfony/css-selector", + "version": "v2.7.3", + "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/FriendsOfPHP/Goutte.git", - "reference": "d9a5a28782d30e9f4e20176caea58a1d459f2c71" + "url": "https://github.com/symfony/CssSelector.git", + "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/d9a5a28782d30e9f4e20176caea58a1d459f2c71", - "reference": "d9a5a28782d30e9f4e20176caea58a1d459f2c71", + "url": "https://api.github.com/repos/symfony/CssSelector/zipball/0b5c07b516226b7dd32afbbc82fe547a469c5092", + "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092", "shasum": "" }, "require": { - "guzzlehttp/guzzle": "^6.0", - "php": ">=5.5.0", - "symfony/browser-kit": "~2.1", - "symfony/css-selector": "~2.1", - "symfony/dom-crawler": "~2.1" + "php": ">=5.3.9" }, - "time": "2015-06-24 16:11:31", - "type": "application", + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, + "time": "2015-05-15 13:33:16", + "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Goutte\\": "Goutte" + "Symfony\\Component\\CssSelector\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2214,49 +2131,65 @@ "MIT" ], "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A simple PHP Web Scraper", - "homepage": "https://github.com/FriendsOfPHP/Goutte", - "keywords": [ - "scraper" - ] + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com" }, { - "name": "behat/mink-goutte-driver", - "version": "dev-master", - "version_normalized": "9999999-dev", + "name": "symfony/dependency-injection", + "version": "v2.7.3", + "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/minkphp/MinkGoutteDriver.git", - "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd" + "url": "https://github.com/symfony/DependencyInjection.git", + "reference": "851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/cc5ce119b5a8e06662f634b35967aff0b0c7dfdd", - "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd", + "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6", + "reference": "851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6", "shasum": "" }, "require": { - "behat/mink": "~1.6@dev", - "behat/mink-browserkit-driver": "~1.2@dev", - "fabpot/goutte": "~1.0.4|~2.0|~3.1", - "php": ">=5.3.1" + "php": ">=5.3.9" }, - "time": "2015-06-27 00:15:11", - "type": "mink-driver", + "conflict": { + "symfony/expression-language": "<2.6" + }, + "require-dev": { + "symfony/config": "~2.2", + "symfony/expression-language": "~2.6", + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.1" + }, + "suggest": { + "symfony/config": "", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "time": "2015-07-28 14:07:07", + "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Behat\\Mink\\Driver\\": "src/" + "Symfony\\Component\\DependencyInjection\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2265,54 +2198,60 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Goutte driver for Mink framework", - "homepage": "http://mink.behat.org/", - "keywords": [ - "browser", - "goutte", - "headless", - "testing" - ] + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com" }, { - "name": "egulias/email-validator", - "version": "1.2.9", - "version_normalized": "1.2.9.0", + "name": "symfony/debug", + "version": "v2.7.3", + "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1" + "url": "https://github.com/symfony/Debug.git", + "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/af864423f50ea59f96c87bb1eae147a70bcf67a1", - "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1", + "url": "https://api.github.com/repos/symfony/Debug/zipball/9daa1bf9f7e615fa2fba30357e479a90141222e3", + "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3", "shasum": "" }, "require": { - "doctrine/lexer": "~1.0,>=1.0.1", - "php": ">= 5.3.3" + "php": ">=5.3.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { - "phpunit/phpunit": "~4.4", - "satooshi/php-coveralls": "dev-master" + "symfony/class-loader": "~2.2", + "symfony/http-foundation": "~2.1", + "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2", + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-06-22 21:07:51", + "suggest": { + "symfony/http-foundation": "", + "symfony/http-kernel": "" + }, + "time": "2015-07-09 16:07:40", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Egulias\\": "src/" + "psr-4": { + "Symfony\\Component\\Debug\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2321,101 +2260,103 @@ ], "authors": [ { - "name": "Eduardo Gulias Davis" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A library for validating emails", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ] + "description": "Symfony Debug Component", + "homepage": "https://symfony.com" }, { - "name": "twig/twig", - "version": "v1.20.0", - "version_normalized": "1.20.0.0", + "name": "symfony/http-foundation", + "version": "v2.7.3", + "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "1ea4e5f81c6d005fe84d0b38e1c4f1955eb86844" + "url": "https://github.com/symfony/HttpFoundation.git", + "reference": "863af6898081b34c65d42100c370b9f3c51b70ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/1ea4e5f81c6d005fe84d0b38e1c4f1955eb86844", - "reference": "1ea4e5f81c6d005fe84d0b38e1c4f1955eb86844", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/863af6898081b34c65d42100c370b9f3c51b70ca", + "reference": "863af6898081b34c65d42100c370b9f3c51b70ca", "shasum": "" }, "require": { - "php": ">=5.2.7" + "php": ">=5.3.9" }, - "time": "2015-08-12 15:56:39", + "require-dev": { + "symfony/expression-language": "~2.4", + "symfony/phpunit-bridge": "~2.7" + }, + "time": "2015-07-22 10:11:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.20-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Twig_": "lib/" - } + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" + "email": "fabien@symfony.com" }, { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org", - "keywords": [ - "templating" - ] + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com" }, { - "name": "symfony/class-loader", + "name": "symfony/event-dispatcher", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/ClassLoader.git", - "reference": "2fccbc544997340808801a7410cdcb96dd12edc4" + "url": "https://github.com/symfony/EventDispatcher.git", + "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/2fccbc544997340808801a7410cdcb96dd12edc4", - "reference": "2fccbc544997340808801a7410cdcb96dd12edc4", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", + "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", "shasum": "" }, "require": { "php": ">=5.3.9" }, "require-dev": { - "symfony/finder": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7" + "psr/log": "~1.0", + "symfony/config": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.6", + "symfony/expression-language": "~2.6", + "symfony/phpunit-bridge": "~2.7", + "symfony/stopwatch": "~2.3" }, - "time": "2015-06-25 12:52:11", + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "time": "2015-06-18 19:21:56", "type": "library", "extra": { "branch-alias": { @@ -2425,7 +2366,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\ClassLoader\\": "" + "Symfony\\Component\\EventDispatcher\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2442,39 +2383,62 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony ClassLoader Component", + "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com" }, { - "name": "symfony/console", + "name": "symfony/http-kernel", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e" + "url": "https://github.com/symfony/HttpKernel.git", + "reference": "405d3e7a59ff7a28ec469441326a0ac79065ea98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/d6cf02fe73634c96677e428f840704bfbcaec29e", - "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e", + "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/405d3e7a59ff7a28ec469441326a0ac79065ea98", + "reference": "405d3e7a59ff7a28ec469441326a0ac79065ea98", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "psr/log": "~1.0", + "symfony/debug": "~2.6,>=2.6.2", + "symfony/event-dispatcher": "~2.6,>=2.6.7", + "symfony/http-foundation": "~2.5,>=2.5.4" + }, + "conflict": { + "symfony/config": "<2.7" }, "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", + "symfony/browser-kit": "~2.3", + "symfony/class-loader": "~2.1", + "symfony/config": "~2.7", + "symfony/console": "~2.3", + "symfony/css-selector": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.2", + "symfony/dom-crawler": "~2.0,>=2.0.5", + "symfony/expression-language": "~2.4", + "symfony/finder": "~2.0,>=2.0.5", "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" + "symfony/process": "~2.0,>=2.0.5", + "symfony/routing": "~2.2", + "symfony/stopwatch": "~2.3", + "symfony/templating": "~2.2", + "symfony/translation": "~2.0,>=2.0.5", + "symfony/var-dumper": "~2.6" }, "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" }, - "time": "2015-07-28 15:18:12", + "time": "2015-07-31 13:24:45", "type": "library", "extra": { "branch-alias": { @@ -2484,7 +2448,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" + "Symfony\\Component\\HttpKernel\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2501,31 +2465,47 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com" }, { - "name": "symfony/css-selector", + "name": "symfony/routing", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092" + "url": "https://github.com/symfony/Routing.git", + "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/0b5c07b516226b7dd32afbbc82fe547a469c5092", - "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092", + "url": "https://api.github.com/repos/symfony/Routing/zipball/ea9134f277162b02e5f80ac058b75a77637b0d26", + "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26", "shasum": "" }, "require": { "php": ">=5.3.9" }, + "conflict": { + "symfony/config": "<2.7" + }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.7", + "symfony/expression-language": "~2.4", + "symfony/http-foundation": "~2.3", + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.0,>=2.0.5" }, - "time": "2015-05-15 13:33:16", + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/yaml": "For using the YAML loader" + }, + "time": "2015-07-09 16:07:40", "type": "library", "extra": { "branch-alias": { @@ -2535,7 +2515,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\CssSelector\\": "" + "Symfony\\Component\\Routing\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2543,10 +2523,6 @@ "MIT" ], "authors": [ - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" @@ -2556,42 +2532,49 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony CssSelector Component", - "homepage": "https://symfony.com" + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ] }, { - "name": "symfony/dependency-injection", + "name": "symfony/serializer", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/DependencyInjection.git", - "reference": "851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6" + "url": "https://github.com/symfony/Serializer.git", + "reference": "143d318457ecc298a846506acc8e80dea30d2548" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6", - "reference": "851e3ffe8a366b1590bdaf3df2c1395f2d27d8a6", + "url": "https://api.github.com/repos/symfony/Serializer/zipball/143d318457ecc298a846506acc8e80dea30d2548", + "reference": "143d318457ecc298a846506acc8e80dea30d2548", "shasum": "" }, "require": { "php": ">=5.3.9" }, - "conflict": { - "symfony/expression-language": "<2.6" - }, "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", "symfony/config": "~2.2", - "symfony/expression-language": "~2.6", "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.1" + "symfony/property-access": "~2.3", + "symfony/yaml": "~2.0" }, "suggest": { - "symfony/config": "", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/yaml": "For using the default YAML mapping loader." }, - "time": "2015-07-28 14:07:07", + "time": "2015-07-22 19:42:44", "type": "library", "extra": { "branch-alias": { @@ -2601,7 +2584,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" + "Symfony\\Component\\Serializer\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2618,40 +2601,41 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", + "description": "Symfony Serializer Component", "homepage": "https://symfony.com" }, { - "name": "symfony/debug", + "name": "symfony/translation", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/Debug.git", - "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3" + "url": "https://github.com/symfony/Translation.git", + "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/9daa1bf9f7e615fa2fba30357e479a90141222e3", - "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3", + "url": "https://api.github.com/repos/symfony/Translation/zipball/c8dc34cc936152c609cdd722af317e4239d10dd6", + "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6", "shasum": "" }, "require": { - "php": ">=5.3.9", - "psr/log": "~1.0" + "php": ">=5.3.9" }, "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "symfony/config": "<2.7" }, "require-dev": { - "symfony/class-loader": "~2.2", - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2", - "symfony/phpunit-bridge": "~2.7" + "psr/log": "~1.0", + "symfony/config": "~2.7", + "symfony/intl": "~2.3", + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.2" }, "suggest": { - "symfony/http-foundation": "", - "symfony/http-kernel": "" + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" }, "time": "2015-07-09 16:07:40", "type": "library", @@ -2663,7 +2647,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\Translation\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2680,32 +2664,52 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony Translation Component", "homepage": "https://symfony.com" }, { - "name": "symfony/http-foundation", + "name": "symfony/validator", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "863af6898081b34c65d42100c370b9f3c51b70ca" + "url": "https://github.com/symfony/Validator.git", + "reference": "646df03e635a8a232804274401449ccdf5f03cad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/863af6898081b34c65d42100c370b9f3c51b70ca", - "reference": "863af6898081b34c65d42100c370b9f3c51b70ca", + "url": "https://api.github.com/repos/symfony/Validator/zipball/646df03e635a8a232804274401449ccdf5f03cad", + "reference": "646df03e635a8a232804274401449ccdf5f03cad", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "symfony/translation": "~2.4" }, "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "egulias/email-validator": "~1.2,>=1.2.1", + "symfony/config": "~2.2", "symfony/expression-language": "~2.4", - "symfony/phpunit-bridge": "~2.7" + "symfony/http-foundation": "~2.1", + "symfony/intl": "~2.3", + "symfony/phpunit-bridge": "~2.7", + "symfony/property-access": "~2.3", + "symfony/yaml": "~2.0,>=2.0.5" }, - "time": "2015-07-22 10:11:00", + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "symfony/config": "", + "symfony/expression-language": "For using the 2.4 Expression validator", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For using the 2.4 Validator API", + "symfony/yaml": "" + }, + "time": "2015-07-31 06:49:15", "type": "library", "extra": { "branch-alias": { @@ -2715,11 +2719,8 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Component\\Validator\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2735,40 +2736,31 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpFoundation Component", + "description": "Symfony Validator Component", "homepage": "https://symfony.com" }, { - "name": "symfony/event-dispatcher", + "name": "symfony/process", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3" + "url": "https://github.com/symfony/Process.git", + "reference": "48aeb0e48600321c272955132d7606ab0a49adb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", - "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", + "url": "https://api.github.com/repos/symfony/Process/zipball/48aeb0e48600321c272955132d7606ab0a49adb3", + "reference": "48aeb0e48600321c272955132d7606ab0a49adb3", "shasum": "" }, "require": { "php": ">=5.3.9" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/stopwatch": "~2.3" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-06-18 19:21:56", + "time": "2015-07-01 11:25:50", "type": "library", "extra": { "branch-alias": { @@ -2778,7 +2770,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Component\\Process\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2795,62 +2787,31 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony Process Component", "homepage": "https://symfony.com" }, { - "name": "symfony/http-kernel", + "name": "symfony/yaml", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/HttpKernel.git", - "reference": "405d3e7a59ff7a28ec469441326a0ac79065ea98" + "url": "https://github.com/symfony/Yaml.git", + "reference": "71340e996171474a53f3d29111d046be4ad8a0ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/405d3e7a59ff7a28ec469441326a0ac79065ea98", - "reference": "405d3e7a59ff7a28ec469441326a0ac79065ea98", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/71340e996171474a53f3d29111d046be4ad8a0ff", + "reference": "71340e996171474a53f3d29111d046be4ad8a0ff", "shasum": "" }, "require": { - "php": ">=5.3.9", - "psr/log": "~1.0", - "symfony/debug": "~2.6,>=2.6.2", - "symfony/event-dispatcher": "~2.6,>=2.6.7", - "symfony/http-foundation": "~2.5,>=2.5.4" - }, - "conflict": { - "symfony/config": "<2.7" + "php": ">=5.3.9" }, "require-dev": { - "symfony/browser-kit": "~2.3", - "symfony/class-loader": "~2.1", - "symfony/config": "~2.7", - "symfony/console": "~2.3", - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.2", - "symfony/dom-crawler": "~2.0,>=2.0.5", - "symfony/expression-language": "~2.4", - "symfony/finder": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.0,>=2.0.5", - "symfony/routing": "~2.2", - "symfony/stopwatch": "~2.3", - "symfony/templating": "~2.2", - "symfony/translation": "~2.0,>=2.0.5", - "symfony/var-dumper": "~2.6" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-07-31 13:24:45", + "time": "2015-07-28 14:07:07", "type": "library", "extra": { "branch-alias": { @@ -2860,7 +2821,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" + "Symfony\\Component\\Yaml\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2877,45 +2838,33 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpKernel Component", + "description": "Symfony Yaml Component", "homepage": "https://symfony.com" }, { - "name": "symfony/routing", + "name": "symfony/dom-crawler", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/Routing.git", - "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26" + "url": "https://github.com/symfony/DomCrawler.git", + "reference": "9dabece63182e95c42b06967a0d929a5df78bc35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/ea9134f277162b02e5f80ac058b75a77637b0d26", - "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26", + "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/9dabece63182e95c42b06967a0d929a5df78bc35", + "reference": "9dabece63182e95c42b06967a0d929a5df78bc35", "shasum": "" }, "require": { "php": ">=5.3.9" }, - "conflict": { - "symfony/config": "<2.7" - }, "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.7", - "symfony/expression-language": "~2.4", - "symfony/http-foundation": "~2.3", - "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.0,>=2.0.5" + "symfony/css-selector": "~2.3", + "symfony/phpunit-bridge": "~2.7" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/yaml": "For using the YAML loader" + "symfony/css-selector": "" }, "time": "2015-07-09 16:07:40", "type": "library", @@ -2927,7 +2876,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Component\\DomCrawler\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2944,49 +2893,37 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Routing Component", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ] + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com" }, { - "name": "symfony/serializer", + "name": "symfony/browser-kit", "version": "v2.7.3", "version_normalized": "2.7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/Serializer.git", - "reference": "143d318457ecc298a846506acc8e80dea30d2548" + "url": "https://github.com/symfony/BrowserKit.git", + "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Serializer/zipball/143d318457ecc298a846506acc8e80dea30d2548", - "reference": "143d318457ecc298a846506acc8e80dea30d2548", + "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/176905d3d74c2f99e6ab70f4f5a89460532495ae", + "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "symfony/dom-crawler": "~2.0,>=2.0.5" }, "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "symfony/config": "~2.2", + "symfony/css-selector": "~2.0,>=2.0.5", "symfony/phpunit-bridge": "~2.7", - "symfony/property-access": "~2.3", - "symfony/yaml": "~2.0" + "symfony/process": "~2.0,>=2.0.5" }, "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "symfony/config": "For using the XML mapping loader.", - "symfony/property-access": "For using the ObjectNormalizer.", - "symfony/yaml": "For using the default YAML mapping loader." + "symfony/process": "" }, - "time": "2015-07-22 19:42:44", + "time": "2015-07-09 16:07:40", "type": "library", "extra": { "branch-alias": { @@ -2996,7 +2933,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Serializer\\": "" + "Symfony\\Component\\BrowserKit\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3013,54 +2950,45 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Serializer Component", + "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com" }, { - "name": "symfony/translation", - "version": "v2.7.3", - "version_normalized": "2.7.3.0", + "name": "guzzlehttp/promises", + "version": "1.0.2", + "version_normalized": "1.0.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/Translation.git", - "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6" + "url": "https://github.com/guzzle/promises.git", + "reference": "97fe7210def29451ec74923b27e552238defd75a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/c8dc34cc936152c609cdd722af317e4239d10dd6", - "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6", + "url": "https://api.github.com/repos/guzzle/promises/zipball/97fe7210def29451ec74923b27e552238defd75a", + "reference": "97fe7210def29451ec74923b27e552238defd75a", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "conflict": { - "symfony/config": "<2.7" + "php": ">=5.5.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.7", - "symfony/intl": "~2.3", - "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.2" - }, - "suggest": { - "psr/log": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "phpunit/phpunit": "~4.0" }, - "time": "2015-07-09 16:07:40", + "time": "2015-08-15 19:37:21", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Translation\\": "" - } + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3068,71 +2996,56 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "Symfony Translation Component", - "homepage": "https://symfony.com" + "description": "Guzzle promises library", + "keywords": [ + "promise" + ] }, { - "name": "symfony/validator", - "version": "v2.7.3", - "version_normalized": "2.7.3.0", + "name": "guzzlehttp/psr7", + "version": "1.2.0", + "version_normalized": "1.2.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/Validator.git", - "reference": "646df03e635a8a232804274401449ccdf5f03cad" + "url": "https://github.com/guzzle/psr7.git", + "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Validator/zipball/646df03e635a8a232804274401449ccdf5f03cad", - "reference": "646df03e635a8a232804274401449ccdf5f03cad", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/4ef919b0cf3b1989523138b60163bbcb7ba1ff7e", + "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/translation": "~2.4" + "php": ">=5.4.0", + "psr/http-message": "~1.0" }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "egulias/email-validator": "~1.2,>=1.2.1", - "symfony/config": "~2.2", - "symfony/expression-language": "~2.4", - "symfony/http-foundation": "~2.1", - "symfony/intl": "~2.3", - "symfony/phpunit-bridge": "~2.7", - "symfony/property-access": "~2.3", - "symfony/yaml": "~2.0,>=2.0.5" + "provide": { + "psr/http-message-implementation": "1.0" }, - "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "egulias/email-validator": "Strict (RFC compliant) email validation", - "symfony/config": "", - "symfony/expression-language": "For using the 2.4 Expression validator", - "symfony/http-foundation": "", - "symfony/intl": "", - "symfony/property-access": "For using the 2.4 Validator API", - "symfony/yaml": "" + "require-dev": { + "phpunit/phpunit": "~4.0" }, - "time": "2015-07-31 06:49:15", + "time": "2015-08-15 19:32:36", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Validator\\": "" - } + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3140,49 +3053,56 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "Symfony Validator Component", - "homepage": "https://symfony.com" + "description": "PSR-7 message implementation", + "keywords": [ + "http", + "message", + "stream", + "uri" + ] }, { - "name": "symfony/process", - "version": "v2.7.3", - "version_normalized": "2.7.3.0", + "name": "doctrine/common", + "version": "v2.5.1", + "version_normalized": "2.5.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/Process.git", - "reference": "48aeb0e48600321c272955132d7606ab0a49adb3" + "url": "https://github.com/doctrine/common.git", + "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/48aeb0e48600321c272955132d7606ab0a49adb3", - "reference": "48aeb0e48600321c272955132d7606ab0a49adb3", + "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9", + "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9", "shasum": "" }, "require": { - "php": ">=5.3.9" + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": ">=5.3.2" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "~3.7" }, - "time": "2015-07-01 11:25:50", + "time": "2015-08-31 13:00:22", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.6.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" + "psr-0": { + "Doctrine\\Common\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3191,49 +3111,70 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Roman Borschel", + "email": "roman@code-factory.org" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com" + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ] }, { - "name": "symfony/yaml", - "version": "v2.7.3", - "version_normalized": "2.7.3.0", + "name": "doctrine/annotations", + "version": "v1.2.7", + "version_normalized": "1.2.7.0", "source": { "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "71340e996171474a53f3d29111d046be4ad8a0ff" + "url": "https://github.com/doctrine/annotations.git", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/71340e996171474a53f3d29111d046be4ad8a0ff", - "reference": "71340e996171474a53f3d29111d046be4ad8a0ff", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", "shasum": "" }, "require": { - "php": ">=5.3.9" + "doctrine/lexer": "1.*", + "php": ">=5.3.2" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "doctrine/cache": "1.*", + "phpunit/phpunit": "4.*" }, - "time": "2015-07-28 14:07:07", + "time": "2015-08-31 12:32:49", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.3.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" + "psr-0": { + "Doctrine\\Common\\Annotations\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3242,53 +3183,70 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Roman Borschel", + "email": "roman@code-factory.org" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com" + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ] }, { - "name": "symfony/dom-crawler", - "version": "v2.7.3", - "version_normalized": "2.7.3.0", + "name": "doctrine/instantiator", + "version": "1.0.5", + "version_normalized": "1.0.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/DomCrawler.git", - "reference": "9dabece63182e95c42b06967a0d929a5df78bc35" + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/9dabece63182e95c42b06967a0d929a5df78bc35", - "reference": "9dabece63182e95c42b06967a0d929a5df78bc35", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3,<8.0-DEV" }, "require-dev": { - "symfony/css-selector": "~2.3", - "symfony/phpunit-bridge": "~2.7" - }, - "suggest": { - "symfony/css-selector": "" + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" }, - "time": "2015-07-09 16:07:40", + "time": "2015-06-14 21:17:01", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0.x-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3297,55 +3255,55 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" } ], - "description": "Symfony DomCrawler Component", - "homepage": "https://symfony.com" + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ] }, { - "name": "symfony/browser-kit", - "version": "v2.7.3", - "version_normalized": "2.7.3.0", + "name": "doctrine/cache", + "version": "v1.4.2", + "version_normalized": "1.4.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/BrowserKit.git", - "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae" + "url": "https://github.com/doctrine/cache.git", + "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/176905d3d74c2f99e6ab70f4f5a89460532495ae", - "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae", + "url": "https://api.github.com/repos/doctrine/cache/zipball/8c434000f420ade76a07c64cbe08ca47e5c101ca", + "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/dom-crawler": "~2.0,>=2.0.5" + "php": ">=5.3.2" }, - "require-dev": { - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.0,>=2.0.5" + "conflict": { + "doctrine/common": ">2.2,<2.4" }, - "suggest": { - "symfony/process": "" + "require-dev": { + "phpunit/phpunit": ">=3.7", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" }, - "time": "2015-07-09 16:07:40", + "time": "2015-08-31 12:36:41", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.5.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" + "psr-0": { + "Doctrine\\Common\\Cache\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3354,53 +3312,66 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Roman Borschel", + "email": "roman@code-factory.org" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Symfony BrowserKit Component", - "homepage": "https://symfony.com" + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ] }, { - "name": "guzzlehttp/promises", - "version": "1.0.2", - "version_normalized": "1.0.2.0", + "name": "doctrine/collections", + "version": "v1.3.0", + "version_normalized": "1.3.0.0", "source": { "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "97fe7210def29451ec74923b27e552238defd75a" + "url": "https://github.com/doctrine/collections.git", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/97fe7210def29451ec74923b27e552238defd75a", - "reference": "97fe7210def29451ec74923b27e552238defd75a", + "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", "shasum": "" }, "require": { - "php": ">=5.5.0" + "php": ">=5.3.2" }, "require-dev": { "phpunit/phpunit": "~4.0" }, - "time": "2015-08-15 19:37:21", + "time": "2015-04-14 22:21:58", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.2.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3408,56 +3379,67 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Guzzle promises library", + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "promise" + "array", + "collections", + "iterator" ] }, { - "name": "guzzlehttp/psr7", - "version": "1.2.0", - "version_normalized": "1.2.0.0", + "name": "doctrine/inflector", + "version": "v1.0.1", + "version_normalized": "1.0.1.0", "source": { "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e" + "url": "https://github.com/doctrine/inflector.git", + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/4ef919b0cf3b1989523138b60163bbcb7ba1ff7e", - "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" + "php": ">=5.3.2" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "4.*" }, - "time": "2015-08-15 19:32:36", + "time": "2014-12-20 21:24:13", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.0.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3465,17 +3447,33 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "PSR-7 message implementation", + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "http", - "message", - "stream", - "uri" + "inflection", + "pluralize", + "singularize", + "string" ] } ] diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php b/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php index d55996067b01..4ebd1fb4a00c 100644 --- a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php +++ b/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php @@ -162,13 +162,14 @@ public function __construct() throw AnnotationException::optimizerPlusSaveComments(); } + if (PHP_VERSION_ID < 70000) { + if (extension_loaded('Zend Optimizer+') && (ini_get('zend_optimizerplus.load_comments') === "0" || ini_get('opcache.load_comments') === "0")) { + throw AnnotationException::optimizerPlusLoadComments(); + } - if (extension_loaded('Zend Optimizer+') && (ini_get('zend_optimizerplus.load_comments') === "0" || ini_get('opcache.load_comments') === "0")) { - throw AnnotationException::optimizerPlusLoadComments(); - } - - if (extension_loaded('Zend OPcache') && ini_get('opcache.load_comments') == 0) { - throw AnnotationException::optimizerPlusLoadComments(); + if (extension_loaded('Zend OPcache') && ini_get('opcache.load_comments') == 0) { + throw AnnotationException::optimizerPlusLoadComments(); + } } AnnotationRegistry::registerFile(__DIR__ . '/Annotation/IgnoreAnnotation.php'); diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php b/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php index 330afd3657fd..d864540e002f 100644 --- a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php +++ b/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php @@ -84,7 +84,7 @@ protected function getCatchablePatterns() return array( '[a-z_\\\][a-z0-9_\:\\\]*[a-z_][a-z0-9_]*', '(?:[+-]?[0-9]+(?:[\.][0-9]+)*)(?:[eE][+-]?[0-9]+)?', - '"(?:[^"]|"")*"', + '"(?:""|[^"])*+"', ); } diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php b/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php index e9b29af18709..24add1b3ba83 100644 --- a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php +++ b/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php @@ -24,6 +24,10 @@ * * @author Johannes M. Schmitt <schmittjoh@gmail.com> * @author Benjamin Eberlei <kontakt@beberlei.de> + * + * @deprecated the FileCacheReader is deprecated and will be removed + * in version 2.0.0 of doctrine/annotations. Please use the + * {@see \Doctrine\Common\Annotations\CachedReader} instead. */ class FileCacheReader implements Reader { @@ -52,6 +56,11 @@ class FileCacheReader implements Reader */ private $classNameHashes = array(); + /** + * @var int + */ + private $umask; + /** * Constructor. * @@ -61,10 +70,19 @@ class FileCacheReader implements Reader * * @throws \InvalidArgumentException */ - public function __construct(Reader $reader, $cacheDir, $debug = false) + public function __construct(Reader $reader, $cacheDir, $debug = false, $umask = 0002) { + if ( ! is_int($umask)) { + throw new \InvalidArgumentException(sprintf( + 'The parameter umask must be an integer, was: %s', + gettype($umask) + )); + } + $this->reader = $reader; - if (!is_dir($cacheDir) && !@mkdir($cacheDir, 0777, true)) { + $this->umask = $umask; + + if (!is_dir($cacheDir) && !@mkdir($cacheDir, 0777 & (~$this->umask), true)) { throw new \InvalidArgumentException(sprintf('The directory "%s" does not exist and could not be created.', $cacheDir)); } @@ -189,7 +207,25 @@ private function saveCacheFile($path, $data) if (!is_writable($this->dir)) { throw new \InvalidArgumentException(sprintf('The directory "%s" is not writable. Both, the webserver and the console user need access. You can manage access rights for multiple users with "chmod +a". If your system does not support this, check out the acl package.', $this->dir)); } - file_put_contents($path, '<?php return unserialize('.var_export(serialize($data), true).');'); + + $tempfile = tempnam($this->dir, uniqid('', true)); + + if (false === $tempfile) { + throw new \RuntimeException(sprintf('Unable to create tempfile in directory: %s', $this->dir)); + } + + $written = file_put_contents($tempfile, '<?php return unserialize('.var_export(serialize($data), true).');'); + + if (false === $written) { + throw new \RuntimeException(sprintf('Unable to write cached file to: %s', $tempfile)); + } + + @chmod($tempfile, 0666 & (~$this->umask)); + + if (false === rename($tempfile, $path)) { + @unlink($tempfile); + throw new \RuntimeException(sprintf('Unable to rename %s to %s', $tempfile, $path)); + } } /** diff --git a/core/vendor/doctrine/annotations/phpunit.xml.dist b/core/vendor/doctrine/annotations/phpunit.xml.dist deleted file mode 100644 index 6ab0c8c8895a..000000000000 --- a/core/vendor/doctrine/annotations/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<phpunit backupGlobals="false" - backupStaticAttributes="false" - colors="true" - convertErrorsToExceptions="true" - convertNoticesToExceptions="true" - convertWarningsToExceptions="true" - processIsolation="false" - stopOnFailure="false" - syntaxCheck="false" - bootstrap="./tests/Doctrine/Tests/TestInit.php" -> - <testsuites> - <testsuite name="Doctrine Annotations Test Suite"> - <directory>./tests/Doctrine/</directory> - </testsuite> - </testsuites> - - <filter> - <whitelist> - <directory>./lib/Doctrine/</directory> - </whitelist> - </filter> - - <groups> - <exclude> - <group>performance</group> - </exclude> - </groups> -</phpunit> diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AbstractReaderTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AbstractReaderTest.php deleted file mode 100644 index dd324bdf124c..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AbstractReaderTest.php +++ /dev/null @@ -1,645 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Common\Annotations\Annotation\IgnoreAnnotation; -use Doctrine\Common\Annotations\Annotation; -use Doctrine\Common\Annotations\Reader; -use ReflectionClass, Doctrine\Common\Annotations\AnnotationReader; - -require_once __DIR__ . '/TopLevelAnnotation.php'; - -abstract class AbstractReaderTest extends \PHPUnit_Framework_TestCase -{ - public function getReflectionClass() - { - $className = 'Doctrine\Tests\Common\Annotations\DummyClass'; - return new ReflectionClass($className); - } - - public function testAnnotations() - { - $class = $this->getReflectionClass(); - $reader = $this->getReader(); - - $this->assertEquals(1, count($reader->getClassAnnotations($class))); - $this->assertInstanceOf($annotName = 'Doctrine\Tests\Common\Annotations\DummyAnnotation', $annot = $reader->getClassAnnotation($class, $annotName)); - $this->assertEquals("hello", $annot->dummyValue); - - $field1Prop = $class->getProperty('field1'); - $propAnnots = $reader->getPropertyAnnotations($field1Prop); - $this->assertEquals(1, count($propAnnots)); - $this->assertInstanceOf($annotName, $annot = $reader->getPropertyAnnotation($field1Prop, $annotName)); - $this->assertEquals("fieldHello", $annot->dummyValue); - - $getField1Method = $class->getMethod('getField1'); - $methodAnnots = $reader->getMethodAnnotations($getField1Method); - $this->assertEquals(1, count($methodAnnots)); - $this->assertInstanceOf($annotName, $annot = $reader->getMethodAnnotation($getField1Method, $annotName)); - $this->assertEquals(array(1, 2, "three"), $annot->value); - - $field2Prop = $class->getProperty('field2'); - $propAnnots = $reader->getPropertyAnnotations($field2Prop); - $this->assertEquals(1, count($propAnnots)); - $this->assertInstanceOf($annotName = 'Doctrine\Tests\Common\Annotations\DummyJoinTable', $joinTableAnnot = $reader->getPropertyAnnotation($field2Prop, $annotName)); - $this->assertEquals(1, count($joinTableAnnot->joinColumns)); - $this->assertEquals(1, count($joinTableAnnot->inverseJoinColumns)); - $this->assertTrue($joinTableAnnot->joinColumns[0] instanceof DummyJoinColumn); - $this->assertTrue($joinTableAnnot->inverseJoinColumns[0] instanceof DummyJoinColumn); - $this->assertEquals('col1', $joinTableAnnot->joinColumns[0]->name); - $this->assertEquals('col2', $joinTableAnnot->joinColumns[0]->referencedColumnName); - $this->assertEquals('col3', $joinTableAnnot->inverseJoinColumns[0]->name); - $this->assertEquals('col4', $joinTableAnnot->inverseJoinColumns[0]->referencedColumnName); - - $dummyAnnot = $reader->getMethodAnnotation($class->getMethod('getField1'), 'Doctrine\Tests\Common\Annotations\DummyAnnotation'); - $this->assertEquals('', $dummyAnnot->dummyValue); - $this->assertEquals(array(1, 2, 'three'), $dummyAnnot->value); - - $dummyAnnot = $reader->getPropertyAnnotation($class->getProperty('field1'), 'Doctrine\Tests\Common\Annotations\DummyAnnotation'); - $this->assertEquals('fieldHello', $dummyAnnot->dummyValue); - - $classAnnot = $reader->getClassAnnotation($class, 'Doctrine\Tests\Common\Annotations\DummyAnnotation'); - $this->assertEquals('hello', $classAnnot->dummyValue); - } - - public function testAnnotationsWithValidTargets() - { - $reader = $this->getReader(); - $class = new ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithValidAnnotationTarget'); - - $this->assertEquals(1,count($reader->getClassAnnotations($class))); - $this->assertEquals(1,count($reader->getPropertyAnnotations($class->getProperty('foo')))); - $this->assertEquals(1,count($reader->getMethodAnnotations($class->getMethod('someFunction')))); - $this->assertEquals(1,count($reader->getPropertyAnnotations($class->getProperty('nested')))); - } - - public function testAnnotationsWithVarType() - { - $reader = $this->getReader(); - $class = new ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithVarType'); - - $this->assertEquals(1,count($fooAnnot = $reader->getPropertyAnnotations($class->getProperty('foo')))); - $this->assertEquals(1,count($barAnnot = $reader->getMethodAnnotations($class->getMethod('bar')))); - - $this->assertInternalType('string', $fooAnnot[0]->string); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', $barAnnot[0]->annotation); - } - - public function testAtInDescription() - { - $reader = $this->getReader(); - $class = new ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAtInDescriptionAndAnnotation'); - - $this->assertEquals(1, count($fooAnnot = $reader->getPropertyAnnotations($class->getProperty('foo')))); - $this->assertEquals(1, count($barAnnot = $reader->getPropertyAnnotations($class->getProperty('bar')))); - - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetPropertyMethod', $fooAnnot[0]); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetPropertyMethod', $barAnnot[0]); - } - - public function testClassWithWithDanglingComma() - { - $reader = $this->getReader(); - $annots = $reader->getClassAnnotations(new \ReflectionClass('Doctrine\Tests\Common\Annotations\DummyClassWithDanglingComma')); - - $this->assertCount(1, $annots); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Semantical Error] Annotation @AnnotationTargetPropertyMethod is not allowed to be declared on class Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtClass. You may only use this annotation on these code elements: METHOD, PROPERTY - */ - public function testClassWithInvalidAnnotationTargetAtClassDocBlock() - { - $reader = $this->getReader(); - $reader->getClassAnnotations(new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtClass')); - } - - public function testClassWithWithInclude() - { - $reader = $this->getReader(); - $annots = $reader->getClassAnnotations(new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithRequire')); - $this->assertCount(1, $annots); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Semantical Error] Annotation @AnnotationTargetClass is not allowed to be declared on property Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtProperty::$foo. You may only use this annotation on these code elements: CLASS - */ - public function testClassWithInvalidAnnotationTargetAtPropertyDocBlock() - { - $reader = $this->getReader(); - $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtProperty', 'foo')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Semantical Error] Annotation @AnnotationTargetAnnotation is not allowed to be declared on property Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtProperty::$bar. You may only use this annotation on these code elements: ANNOTATION - */ - public function testClassWithInvalidNestedAnnotationTargetAtPropertyDocBlock() - { - $reader = $this->getReader(); - $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtProperty', 'bar')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Semantical Error] Annotation @AnnotationTargetClass is not allowed to be declared on method Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtMethod::functionName(). You may only use this annotation on these code elements: CLASS - */ - public function testClassWithInvalidAnnotationTargetAtMethodDocBlock() - { - $reader = $this->getReader(); - $reader->getMethodAnnotations(new \ReflectionMethod('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtMethod', 'functionName')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected namespace separator or identifier, got ')' at position 24 in class @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithTargetSyntaxError. - */ - public function testClassWithAnnotationWithTargetSyntaxErrorAtClassDocBlock() - { - $reader = $this->getReader(); - $reader->getClassAnnotations(new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithTargetSyntaxError')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected namespace separator or identifier, got ')' at position 24 in class @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithTargetSyntaxError. - */ - public function testClassWithAnnotationWithTargetSyntaxErrorAtPropertyDocBlock() - { - $reader = $this->getReader(); - $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithTargetSyntaxError','foo')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected namespace separator or identifier, got ')' at position 24 in class @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithTargetSyntaxError. - */ - public function testClassWithAnnotationWithTargetSyntaxErrorAtMethodDocBlock() - { - $reader = $this->getReader(); - $reader->getMethodAnnotations(new \ReflectionMethod('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithTargetSyntaxError','bar')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Type Error] Attribute "string" of @AnnotationWithVarType declared on property Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithVarType::$invalidProperty expects a(n) string, but got integer. - */ - public function testClassWithPropertyInvalidVarTypeError() - { - $reader = $this->getReader(); - $class = new ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithVarType'); - - $reader->getPropertyAnnotations($class->getProperty('invalidProperty')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Type Error] Attribute "annotation" of @AnnotationWithVarType declared on method Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithVarType::invalidMethod() expects a(n) Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll, but got an instance of Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation. - */ - public function testClassWithMethodInvalidVarTypeError() - { - $reader = $this->getReader(); - $class = new ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationWithVarType'); - - $reader->getMethodAnnotations($class->getMethod('invalidMethod')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected namespace separator or identifier, got ')' at position 18 in class Doctrine\Tests\Common\Annotations\DummyClassSyntaxError. - */ - public function testClassSyntaxErrorContext() - { - $reader = $this->getReader(); - $reader->getClassAnnotations(new \ReflectionClass('Doctrine\Tests\Common\Annotations\DummyClassSyntaxError')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected namespace separator or identifier, got ')' at position 18 in method Doctrine\Tests\Common\Annotations\DummyClassMethodSyntaxError::foo(). - */ - public function testMethodSyntaxErrorContext() - { - $reader = $this->getReader(); - $reader->getMethodAnnotations(new \ReflectionMethod('Doctrine\Tests\Common\Annotations\DummyClassMethodSyntaxError', 'foo')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected namespace separator or identifier, got ')' at position 18 in property Doctrine\Tests\Common\Annotations\DummyClassPropertySyntaxError::$foo. - */ - public function testPropertySyntaxErrorContext() - { - $reader = $this->getReader(); - $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\DummyClassPropertySyntaxError', 'foo')); - } - - /** - * @group regression - */ - public function testMultipleAnnotationsOnSameLine() - { - $reader = $this->getReader(); - $annots = $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\DummyClass2', 'id')); - $this->assertEquals(3, count($annots)); - } - - public function testNonAnnotationProblem() - { - $reader = $this->getReader(); - - $this->assertNotNull($annot = $reader->getPropertyAnnotation(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\DummyClassNonAnnotationProblem', 'foo'), $name = 'Doctrine\Tests\Common\Annotations\DummyAnnotation')); - $this->assertInstanceOf($name, $annot); - } - - public function testIncludeIgnoreAnnotation() - { - $reader = $this->getReader(); - - $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithIgnoreAnnotation', 'foo')); - $this->assertFalse(class_exists('Doctrine\Tests\Common\Annotations\Fixtures\IgnoreAnnotationClass', false)); - } - - public function testImportWithConcreteAnnotation() - { - $reader = $this->getReader(); - $property = new \ReflectionProperty('Doctrine\Tests\Common\Annotations\TestImportWithConcreteAnnotation', 'field'); - $annotations = $reader->getPropertyAnnotations($property); - $this->assertEquals(1, count($annotations)); - $this->assertNotNull($reader->getPropertyAnnotation($property, 'Doctrine\Tests\Common\Annotations\DummyAnnotation')); - } - - public function testImportWithInheritance() - { - $reader = $this->getReader(); - - $class = new TestParentClass(); - $ref = new \ReflectionClass($class); - - $childAnnotations = $reader->getPropertyAnnotations($ref->getProperty('child')); - $this->assertEquals(1, count($childAnnotations)); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Foo\Name', reset($childAnnotations)); - - $parentAnnotations = $reader->getPropertyAnnotations($ref->getProperty('parent')); - $this->assertEquals(1, count($parentAnnotations)); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Bar\Name', reset($parentAnnotations)); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage The annotation "@NameFoo" in property Doctrine\Tests\Common\Annotations\TestAnnotationNotImportedClass::$field was never imported. - */ - public function testImportDetectsNotImportedAnnotation() - { - $reader = $this->getReader(); - $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\TestAnnotationNotImportedClass', 'field')); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage The annotation "@Foo\Bar\Name" in property Doctrine\Tests\Common\Annotations\TestNonExistentAnnotationClass::$field was never imported. - */ - public function testImportDetectsNonExistentAnnotation() - { - $reader = $this->getReader(); - $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\TestNonExistentAnnotationClass', 'field')); - } - - public function testTopLevelAnnotation() - { - $reader = $this->getReader(); - $annotations = $reader->getPropertyAnnotations(new \ReflectionProperty('Doctrine\Tests\Common\Annotations\TestTopLevelAnnotationClass', 'field')); - - $this->assertEquals(1, count($annotations)); - $this->assertInstanceOf('\TopLevelAnnotation', reset($annotations)); - } - - public function testIgnoresAnnotationsNotPrefixedWithWhitespace() - { - $reader = $this->getReader(); - - $annotation = $reader->getClassAnnotation(new \ReflectionClass(new TestIgnoresNonAnnotationsClass()), 'Doctrine\Tests\Common\Annotations\Name'); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Name', $annotation); - } - - private static $testResetsPhpParserAfterUseRun = false; - - /** - * When getUseStatements isn't available on ReflectionClass the PhpParser has to use token_get_all(). If that - * happens various PHP compiler globals get set, and these can have seriously bad effects on the next file to be - * parsed. - * Notably the doc_comment compiler global can end up containing a docblock comment. The next file to be parsed - * on an include() will have this docblock comment attached to the first thing in the file that the compiler - * considers to own comments. If this is a class then any later calls to getDocComment() for that class will have - * undesirable effects. *sigh* - */ - public function testResetsPhpParserAfterUse() - { - // If someone has already included our main test fixture this test is invalid. It's important that our require - // causes this file to be parsed and compiled at a certain point. - $this->assertFalse(!self::$testResetsPhpParserAfterUseRun && class_exists('Doctrine_Tests_Common_Annotations_Fixtures_ClassNoNamespaceNoComment'), 'Test invalid if class has already been compiled'); - self::$testResetsPhpParserAfterUseRun = true; - - $reader = $this->getReader(); - - // First make sure the annotation cache knows about the annotations we want to use. - // If we don't do this then loading of annotations into the cache will cause the parser to get out of the bad - // state we want to test. - $class = new ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithValidAnnotationTarget'); - $reader->getClassAnnotations($class); - - // Now import an incredibly dull class which makes use of the same class level annotation that the previous class does. - $class = new ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithClassAnnotationOnly'); - $annotations = $reader->getClassAnnotations($class); - - // This include needs to be here since we need the PHP compiler to run over it as the next thing the PHP - // parser sees since PhpParser called token_get_all() on the intro to ClassWithClassAnnotationOnly. - // Our test class cannot be in a namespace (some versions of PHP reset the doc_comment compiler global when - // you hit a namespace declaration), so cannot be autoloaded. - require_once __DIR__ . '/Fixtures/ClassNoNamespaceNoComment.php'; - - // So, hopefully, if all has gone OK, our class with class annotations should actually have them. - // If this fails then something is quite badly wrong elsewhere. - // Note that if this happens before the require it can cause other PHP files to be included, resetting the - // compiler global state, and invalidating this test case. - $this->assertNotEmpty($annotations); - - $annotations = $reader->getClassAnnotations(new \ReflectionClass(new \Doctrine_Tests_Common_Annotations_Fixtures_ClassNoNamespaceNoComment())); - // And if our workaround for this bug is OK, our class with no doc comment should not have any class annotations. - $this->assertEmpty($annotations); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage The class "Doctrine\Tests\Common\Annotations\Fixtures\NoAnnotation" is not annotated with @Annotation. Are you sure this class can be used as annotation? If so, then you need to add @Annotation to the _class_ doc comment of "Doctrine\Tests\Common\Annotations\Fixtures\NoAnnotation". If it is indeed no annotation, then you need to add @IgnoreAnnotation("NoAnnotation") to the _class_ doc comment of class Doctrine\Tests\Common\Annotations\Fixtures\InvalidAnnotationUsageClass. - */ - public function testErrorWhenInvalidAnnotationIsUsed() - { - $reader = $this->getReader(); - $ref = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\InvalidAnnotationUsageClass'); - $reader->getClassAnnotations($ref); - } - - public function testInvalidAnnotationUsageButIgnoredClass() - { - $reader = $this->getReader(); - $ref = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\InvalidAnnotationUsageButIgnoredClass'); - $annots = $reader->getClassAnnotations($ref); - - $this->assertEquals(2, count($annots)); - } - - /** - * @group DDC-1660 - * @group regression - */ - public function testInvalidAnnotationButIgnored() - { - $reader = $this->getReader(); - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassDDC1660'); - - $this->assertTrue(class_exists('Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Version')); - $this->assertCount(0, $reader->getClassAnnotations($class)); - $this->assertCount(0, $reader->getMethodAnnotations($class->getMethod('bar'))); - $this->assertCount(0, $reader->getPropertyAnnotations($class->getProperty('foo'))); - } - - public function testAnnotationEnumeratorException() - { - $reader = $this->getReader(); - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationEnum'); - - $this->assertCount(1, $bar = $reader->getMethodAnnotations($class->getMethod('bar'))); - $this->assertCount(1, $foo = $reader->getPropertyAnnotations($class->getProperty('foo'))); - - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnum', $bar[0]); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnum', $foo[0]); - - try { - $reader->getPropertyAnnotations($class->getProperty('invalidProperty')); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertEquals('[Enum Error] Attribute "value" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnum declared on property Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationEnum::$invalidProperty accept only [ONE, TWO, THREE], but got FOUR.', $exc->getMessage()); - } - - try { - $reader->getMethodAnnotations($class->getMethod('invalidMethod')); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertEquals('[Enum Error] Attribute "value" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnum declared on method Doctrine\Tests\Common\Annotations\Fixtures\ClassWithAnnotationEnum::invalidMethod() accept only [ONE, TWO, THREE], but got 5.', $exc->getMessage()); - } - } - - /** - * @group DCOM-106 - */ - public function testIgnoreFixMeAndUpperCaseToDo() - { - $reader = $this->getReader(); - $ref = new \ReflectionClass('Doctrine\Tests\Common\Annotations\DCOM106'); - $reader->getClassAnnotations($ref); - } - - /** - * @return AnnotationReader - */ - abstract protected function getReader(); -} - -/** - * @parseAnnotation("var") - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - * - */ -class TestParseAnnotationClass -{ - /** - * @var - */ - private $field; -} - -/** - * @Name - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class TestIgnoresNonAnnotationsClass -{ -} - -class TestTopLevelAnnotationClass -{ - /** - * @\TopLevelAnnotation - */ - private $field; -} - -class TestNonExistentAnnotationClass -{ - /** - * @Foo\Bar\Name - */ - private $field; -} - -class TestAnnotationNotImportedClass -{ - /** - * @NameFoo - */ - private $field; -} - -class TestChildClass -{ - /** - * @\Doctrine\Tests\Common\Annotations\Foo\Name(name = "foo") - */ - protected $child; -} - -class TestParentClass extends TestChildClass -{ - /** - * @\Doctrine\Tests\Common\Annotations\Bar\Name(name = "bar") - */ - private $parent; -} - -class TestImportWithConcreteAnnotation -{ - /** - * @DummyAnnotation(dummyValue = "bar") - */ - private $field; -} - -/** - * @ignoreAnnotation("var") - */ -class DummyClass2 { - /** - * @DummyId @DummyColumn(type="integer") @DummyGeneratedValue - * @var integer - */ - private $id; -} - -/** @Annotation */ -class DummyId extends Annotation {} -/** @Annotation */ -class DummyColumn extends Annotation { - public $type; -} -/** @Annotation */ -class DummyGeneratedValue extends Annotation {} -/** @Annotation */ -class DummyAnnotation extends Annotation { - public $dummyValue; -} - -/** - * @api - * @Annotation - */ -class DummyAnnotationWithIgnoredAnnotation extends Annotation { - public $dummyValue; -} - -/** @Annotation */ -class DummyJoinColumn extends Annotation { - public $name; - public $referencedColumnName; -} -/** @Annotation */ -class DummyJoinTable extends Annotation { - public $name; - public $joinColumns; - public $inverseJoinColumns; -} - -/** - * @DummyAnnotation(dummyValue = "bar",) - */ -class DummyClassWithDanglingComma -{ -} - -/** - * @DummyAnnotation(@) - */ -class DummyClassSyntaxError -{ - -} - -class DummyClassMethodSyntaxError -{ - /** - * @DummyAnnotation(@) - */ - public function foo() - { - - } -} - -class DummyClassPropertySyntaxError -{ - /** - * @DummyAnnotation(@) - */ - public $foo; -} - -/** - * @ignoreAnnotation({"since", "var"}) - */ -class DummyClassNonAnnotationProblem -{ - /** - * @DummyAnnotation - * - * @var \Test - * @since 0.1 - */ - public $foo; -} - - -/** -* @DummyAnnotation Foo bar <foobar@1domain.com> -*/ -class DummyClassWithEmail -{ - -} - - -/** - * @fixme public - * @TODO - */ -class DCOM106 -{ - -} - -namespace Doctrine\Tests\Common\Annotations\Foo; - -/** @Annotation */ -class Name extends \Doctrine\Common\Annotations\Annotation -{ - public $name; -} - -namespace Doctrine\Tests\Common\Annotations\Bar; - -/** @Annotation */ -class Name extends \Doctrine\Common\Annotations\Annotation -{ - public $name; -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AnnotationReaderTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AnnotationReaderTest.php deleted file mode 100644 index d6dd05638906..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/AnnotationReaderTest.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Common\Annotations\AnnotationReader; - -class AnnotationReaderTest extends AbstractReaderTest -{ - protected function getReader() - { - return new AnnotationReader(); - } - - public function testMethodAnnotationFromTrait() - { - if (PHP_VERSION_ID < 50400) { - $this->markTestSkipped('This test requires PHP 5.4 or later.'); - } - - $reader = $this->getReader(); - $ref = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassUsesTrait'); - - $annotations = $reader->getMethodAnnotations($ref->getMethod('someMethod')); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Bar\Autoload', $annotations[0]); - - $annotations = $reader->getMethodAnnotations($ref->getMethod('traitMethod')); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Autoload', $annotations[0]); - } - - public function testMethodAnnotationFromOverwrittenTrait() - { - if (PHP_VERSION_ID < 50400) { - $this->markTestSkipped('This test requires PHP 5.4 or later.'); - } - - $reader = $this->getReader(); - $ref = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassOverwritesTrait'); - - $annotations = $reader->getMethodAnnotations($ref->getMethod('traitMethod')); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Bar2\Autoload', $annotations[0]); - } - - public function testPropertyAnnotationFromTrait() - { - if (PHP_VERSION_ID < 50400) { - $this->markTestSkipped('This test requires PHP 5.4 or later.'); - } - - $reader = $this->getReader(); - $ref = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassUsesTrait'); - - $annotations = $reader->getPropertyAnnotations($ref->getProperty('aProperty')); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Bar\Autoload', $annotations[0]); - - $annotations = $reader->getPropertyAnnotations($ref->getProperty('traitProperty')); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Autoload', $annotations[0]); - } - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/CachedReaderTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/CachedReaderTest.php deleted file mode 100644 index 5dd89f75d1a8..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/CachedReaderTest.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; -use Doctrine\Common\Annotations\AnnotationReader; -use Doctrine\Common\Annotations\CachedReader; -use Doctrine\Common\Cache\ArrayCache; - -class CachedReaderTest extends AbstractReaderTest -{ - private $cache; - - public function testIgnoresStaleCache() - { - $file = __DIR__.'/Fixtures/Controller.php'; - touch($file); - $name = 'Doctrine\Tests\Common\Annotations\Fixtures\Controller'; - $cacheKey = $name.'@[Annot]'; - - $cache = $this->getMock('Doctrine\Common\Cache\Cache'); - $cache - ->expects($this->at(0)) - ->method('fetch') - ->with($this->equalTo($cacheKey)) - ->will($this->returnValue(array())) - ; - $cache - ->expects($this->at(1)) - ->method('fetch') - ->with($this->equalTo('[C]'.$cacheKey)) - ->will($this->returnValue(time() - 10)) - ; - $cache - ->expects($this->at(2)) - ->method('save') - ->with($this->equalTo($cacheKey)) - ; - $cache - ->expects($this->at(3)) - ->method('save') - ->with($this->equalTo('[C]'.$cacheKey)) - ; - - $reader = new CachedReader(new AnnotationReader(), $cache, true); - $route = new Route(); - $route->pattern = '/someprefix'; - $this->assertEquals(array($route), $reader->getClassAnnotations(new \ReflectionClass($name))); - } - - protected function getReader() - { - $this->cache = new ArrayCache(); - return new CachedReader(new AnnotationReader(), $this->cache); - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocLexerTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocLexerTest.php deleted file mode 100644 index 844619d0d1f9..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocLexerTest.php +++ /dev/null @@ -1,157 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Common\Annotations\DocLexer; - -class DocLexerTest extends \PHPUnit_Framework_TestCase -{ - public function testMarkerAnnotation() - { - $lexer = new DocLexer; - - $lexer->setInput("@Name"); - $this->assertNull($lexer->token); - $this->assertNull($lexer->lookahead); - - $this->assertTrue($lexer->moveNext()); - $this->assertNull($lexer->token); - $this->assertEquals('@', $lexer->lookahead['value']); - - $this->assertTrue($lexer->moveNext()); - $this->assertEquals('@', $lexer->token['value']); - $this->assertEquals('Name', $lexer->lookahead['value']); - - $this->assertFalse($lexer->moveNext()); - } - - public function testScannerTokenizesDocBlockWhitConstants() - { - $lexer = new DocLexer(); - $docblock = '@AnnotationWithConstants(PHP_EOL, ClassWithConstants::SOME_VALUE, ClassWithConstants::CONSTANT_, ClassWithConstants::CONST_ANT3, \Doctrine\Tests\Common\Annotations\Fixtures\IntefaceWithConstants::SOME_VALUE)'; - - $tokens = array ( - array( - 'value' => '@', - 'position' => 0, - 'type' => DocLexer::T_AT, - ), - array( - 'value' => 'AnnotationWithConstants', - 'position' => 1, - 'type' => DocLexer::T_IDENTIFIER, - ), - array( - 'value' => '(', - 'position' => 24, - 'type' => DocLexer::T_OPEN_PARENTHESIS, - ), - array( - 'value' => 'PHP_EOL', - 'position' => 25, - 'type' => DocLexer::T_IDENTIFIER, - ), - array( - 'value' => ',', - 'position' => 32, - 'type' => DocLexer::T_COMMA, - ), - array( - 'value' => 'ClassWithConstants::SOME_VALUE', - 'position' => 34, - 'type' => DocLexer::T_IDENTIFIER, - ), - array( - 'value' => ',', - 'position' => 64, - 'type' => DocLexer::T_COMMA, - ), - array( - 'value' => 'ClassWithConstants::CONSTANT_', - 'position' => 66, - 'type' => DocLexer::T_IDENTIFIER, - ), - array( - 'value' => ',', - 'position' => 95, - 'type' => DocLexer::T_COMMA, - ), - array( - 'value' => 'ClassWithConstants::CONST_ANT3', - 'position' => 97, - 'type' => DocLexer::T_IDENTIFIER, - ), - array( - 'value' => ',', - 'position' => 127, - 'type' => DocLexer::T_COMMA, - ), - array( - 'value' => '\\Doctrine\\Tests\\Common\\Annotations\\Fixtures\\IntefaceWithConstants::SOME_VALUE', - 'position' => 129, - 'type' => DocLexer::T_IDENTIFIER, - ), - array( - 'value' => ')', - 'position' => 206, - 'type' => DocLexer::T_CLOSE_PARENTHESIS, - ) - - ); - - $lexer->setInput($docblock); - - foreach ($tokens as $expected) { - $lexer->moveNext(); - $lookahead = $lexer->lookahead; - $this->assertEquals($expected['value'], $lookahead['value']); - $this->assertEquals($expected['type'], $lookahead['type']); - $this->assertEquals($expected['position'], $lookahead['position']); - } - - $this->assertFalse($lexer->moveNext()); - } - - - public function testScannerTokenizesDocBlockWhitInvalidIdentifier() - { - $lexer = new DocLexer(); - $docblock = '@Foo\3.42'; - - $tokens = array ( - array( - 'value' => '@', - 'position' => 0, - 'type' => DocLexer::T_AT, - ), - array( - 'value' => 'Foo', - 'position' => 1, - 'type' => DocLexer::T_IDENTIFIER, - ), - array( - 'value' => '\\', - 'position' => 4, - 'type' => DocLexer::T_NAMESPACE_SEPARATOR, - ), - array( - 'value' => 3.42, - 'position' => 5, - 'type' => DocLexer::T_FLOAT, - ) - ); - - $lexer->setInput($docblock); - - foreach ($tokens as $expected) { - $lexer->moveNext(); - $lookahead = $lexer->lookahead; - $this->assertEquals($expected['value'], $lookahead['value']); - $this->assertEquals($expected['type'], $lookahead['type']); - $this->assertEquals($expected['position'], $lookahead['position']); - } - - $this->assertFalse($lexer->moveNext()); - } - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocParserTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocParserTest.php deleted file mode 100644 index 7d670a99e250..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DocParserTest.php +++ /dev/null @@ -1,1359 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Common\Annotations\DocParser; -use Doctrine\Common\Annotations\AnnotationRegistry; -use Doctrine\Common\Annotations\Annotation\Target; -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants; -use Doctrine\Tests\Common\Annotations\Fixtures\ClassWithConstants; -use Doctrine\Tests\Common\Annotations\Fixtures\IntefaceWithConstants; - -class DocParserTest extends \PHPUnit_Framework_TestCase -{ - public function testNestedArraysWithNestedAnnotation() - { - $parser = $this->createTestParser(); - - // Nested arrays with nested annotations - $result = $parser->parse('@Name(foo={1,2, {"key"=@Name}})'); - $annot = $result[0]; - - $this->assertTrue($annot instanceof Name); - $this->assertNull($annot->value); - $this->assertEquals(3, count($annot->foo)); - $this->assertEquals(1, $annot->foo[0]); - $this->assertEquals(2, $annot->foo[1]); - $this->assertTrue(is_array($annot->foo[2])); - - $nestedArray = $annot->foo[2]; - $this->assertTrue(isset($nestedArray['key'])); - $this->assertTrue($nestedArray['key'] instanceof Name); - } - - public function testBasicAnnotations() - { - $parser = $this->createTestParser(); - - // Marker annotation - $result = $parser->parse("@Name"); - $annot = $result[0]; - $this->assertTrue($annot instanceof Name); - $this->assertNull($annot->value); - $this->assertNull($annot->foo); - - // Associative arrays - $result = $parser->parse('@Name(foo={"key1" = "value1"})'); - $annot = $result[0]; - $this->assertNull($annot->value); - $this->assertTrue(is_array($annot->foo)); - $this->assertTrue(isset($annot->foo['key1'])); - - // Numerical arrays - $result = $parser->parse('@Name({2="foo", 4="bar"})'); - $annot = $result[0]; - $this->assertTrue(is_array($annot->value)); - $this->assertEquals('foo', $annot->value[2]); - $this->assertEquals('bar', $annot->value[4]); - $this->assertFalse(isset($annot->value[0])); - $this->assertFalse(isset($annot->value[1])); - $this->assertFalse(isset($annot->value[3])); - - // Multiple values - $result = $parser->parse('@Name(@Name, @Name)'); - $annot = $result[0]; - - $this->assertTrue($annot instanceof Name); - $this->assertTrue(is_array($annot->value)); - $this->assertTrue($annot->value[0] instanceof Name); - $this->assertTrue($annot->value[1] instanceof Name); - - // Multiple types as values - $result = $parser->parse('@Name(foo="Bar", @Name, {"key1"="value1", "key2"="value2"})'); - $annot = $result[0]; - - $this->assertTrue($annot instanceof Name); - $this->assertTrue(is_array($annot->value)); - $this->assertTrue($annot->value[0] instanceof Name); - $this->assertTrue(is_array($annot->value[1])); - $this->assertEquals('value1', $annot->value[1]['key1']); - $this->assertEquals('value2', $annot->value[1]['key2']); - - // Complete docblock - $docblock = <<<DOCBLOCK -/** - * Some nifty class. - * - * @author Mr.X - * @Name(foo="bar") - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(1, count($result)); - $annot = $result[0]; - $this->assertTrue($annot instanceof Name); - $this->assertEquals("bar", $annot->foo); - $this->assertNull($annot->value); - } - - public function testDefaultValueAnnotations() - { - $parser = $this->createTestParser(); - - // Array as first value - $result = $parser->parse('@Name({"key1"="value1"})'); - $annot = $result[0]; - - $this->assertTrue($annot instanceof Name); - $this->assertTrue(is_array($annot->value)); - $this->assertEquals('value1', $annot->value['key1']); - - // Array as first value and additional values - $result = $parser->parse('@Name({"key1"="value1"}, foo="bar")'); - $annot = $result[0]; - - $this->assertTrue($annot instanceof Name); - $this->assertTrue(is_array($annot->value)); - $this->assertEquals('value1', $annot->value['key1']); - $this->assertEquals('bar', $annot->foo); - } - - public function testNamespacedAnnotations() - { - $parser = new DocParser; - $parser->setIgnoreNotImportedAnnotations(true); - - $docblock = <<<DOCBLOCK -/** - * Some nifty class. - * - * @package foo - * @subpackage bar - * @author Mr.X <mr@x.com> - * @Doctrine\Tests\Common\Annotations\Name(foo="bar") - * @ignore - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(1, count($result)); - $annot = $result[0]; - $this->assertTrue($annot instanceof Name); - $this->assertEquals("bar", $annot->foo); - } - - /** - * @group debug - */ - public function testTypicalMethodDocBlock() - { - $parser = $this->createTestParser(); - - $docblock = <<<DOCBLOCK -/** - * Some nifty method. - * - * @since 2.0 - * @Doctrine\Tests\Common\Annotations\Name(foo="bar") - * @param string \$foo This is foo. - * @param mixed \$bar This is bar. - * @return string Foo and bar. - * @This is irrelevant - * @Marker - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(2, count($result)); - $this->assertTrue(isset($result[0])); - $this->assertTrue(isset($result[1])); - $annot = $result[0]; - $this->assertTrue($annot instanceof Name); - $this->assertEquals("bar", $annot->foo); - $marker = $result[1]; - $this->assertTrue($marker instanceof Marker); - } - - - public function testAnnotationWithoutConstructor() - { - $parser = $this->createTestParser(); - - - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructor("Some data") - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $annot = $result[0]; - - $this->assertNotNull($annot); - $this->assertTrue($annot instanceof SomeAnnotationClassNameWithoutConstructor); - - $this->assertNull($annot->name); - $this->assertNotNull($annot->data); - $this->assertEquals($annot->data, "Some data"); - - - - -$docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructor(name="Some Name", data = "Some data") - */ -DOCBLOCK; - - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $annot = $result[0]; - - $this->assertNotNull($annot); - $this->assertTrue($annot instanceof SomeAnnotationClassNameWithoutConstructor); - - $this->assertEquals($annot->name, "Some Name"); - $this->assertEquals($annot->data, "Some data"); - - - - -$docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructor(data = "Some data") - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $annot = $result[0]; - - $this->assertEquals($annot->data, "Some data"); - $this->assertNull($annot->name); - - - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructor(name = "Some name") - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $annot = $result[0]; - - $this->assertEquals($annot->name, "Some name"); - $this->assertNull($annot->data); - - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructor("Some data") - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $annot = $result[0]; - - $this->assertEquals($annot->data, "Some data"); - $this->assertNull($annot->name); - - - - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructor("Some data",name = "Some name") - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $annot = $result[0]; - - $this->assertEquals($annot->name, "Some name"); - $this->assertEquals($annot->data, "Some data"); - - - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationWithConstructorWithoutParams(name = "Some name") - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $annot = $result[0]; - - $this->assertEquals($annot->name, "Some name"); - $this->assertEquals($annot->data, "Some data"); - - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructorAndProperties() - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - $this->assertEquals(count($result), 1); - $this->assertTrue($result[0] instanceof SomeAnnotationClassNameWithoutConstructorAndProperties); - } - - public function testAnnotationTarget() - { - - $parser = new DocParser; - $parser->setImports(array( - '__NAMESPACE__' => 'Doctrine\Tests\Common\Annotations\Fixtures', - )); - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithValidAnnotationTarget'); - - - $context = 'class ' . $class->getName(); - $docComment = $class->getDocComment(); - - $parser->setTarget(Target::TARGET_CLASS); - $this->assertNotNull($parser->parse($docComment,$context)); - - - $property = $class->getProperty('foo'); - $docComment = $property->getDocComment(); - $context = 'property ' . $class->getName() . "::\$" . $property->getName(); - - $parser->setTarget(Target::TARGET_PROPERTY); - $this->assertNotNull($parser->parse($docComment,$context)); - - - - $method = $class->getMethod('someFunction'); - $docComment = $property->getDocComment(); - $context = 'method ' . $class->getName() . '::' . $method->getName() . '()'; - - $parser->setTarget(Target::TARGET_METHOD); - $this->assertNotNull($parser->parse($docComment,$context)); - - - try { - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtClass'); - $context = 'class ' . $class->getName(); - $docComment = $class->getDocComment(); - - $parser->setTarget(Target::TARGET_CLASS); - $parser->parse($docComment, $context); - - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertNotNull($exc->getMessage()); - } - - - try { - - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtMethod'); - $method = $class->getMethod('functionName'); - $docComment = $method->getDocComment(); - $context = 'method ' . $class->getName() . '::' . $method->getName() . '()'; - - $parser->setTarget(Target::TARGET_METHOD); - $parser->parse($docComment, $context); - - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertNotNull($exc->getMessage()); - } - - - try { - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassWithInvalidAnnotationTargetAtProperty'); - $property = $class->getProperty('foo'); - $docComment = $property->getDocComment(); - $context = 'property ' . $class->getName() . "::\$" . $property->getName(); - - $parser->setTarget(Target::TARGET_PROPERTY); - $parser->parse($docComment, $context); - - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertNotNull($exc->getMessage()); - } - - } - - public function getAnnotationVarTypeProviderValid() - { - //({attribute name}, {attribute value}) - return array( - // mixed type - array('mixed', '"String Value"'), - array('mixed', 'true'), - array('mixed', 'false'), - array('mixed', '1'), - array('mixed', '1.2'), - array('mixed', '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll'), - - // boolean type - array('boolean', 'true'), - array('boolean', 'false'), - - // alias for internal type boolean - array('bool', 'true'), - array('bool', 'false'), - - // integer type - array('integer', '0'), - array('integer', '1'), - array('integer', '123456789'), - array('integer', '9223372036854775807'), - - // alias for internal type double - array('float', '0.1'), - array('float', '1.2'), - array('float', '123.456'), - - // string type - array('string', '"String Value"'), - array('string', '"true"'), - array('string', '"123"'), - - // array type - array('array', '{@AnnotationExtendsAnnotationTargetAll}'), - array('array', '{@AnnotationExtendsAnnotationTargetAll,@AnnotationExtendsAnnotationTargetAll}'), - - array('arrayOfIntegers', '1'), - array('arrayOfIntegers', '{1}'), - array('arrayOfIntegers', '{1,2,3,4}'), - array('arrayOfAnnotations', '@AnnotationExtendsAnnotationTargetAll'), - array('arrayOfAnnotations', '{@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll}'), - array('arrayOfAnnotations', '{@AnnotationExtendsAnnotationTargetAll, @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll}'), - - // annotation instance - array('annotation', '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll'), - array('annotation', '@AnnotationExtendsAnnotationTargetAll'), - ); - } - - public function getAnnotationVarTypeProviderInvalid() - { - //({attribute name}, {type declared type}, {attribute value} , {given type or class}) - return array( - // boolean type - array('boolean','boolean','1','integer'), - array('boolean','boolean','1.2','double'), - array('boolean','boolean','"str"','string'), - array('boolean','boolean','{1,2,3}','array'), - array('boolean','boolean','@Name', 'an instance of Doctrine\Tests\Common\Annotations\Name'), - - // alias for internal type boolean - array('bool','bool', '1','integer'), - array('bool','bool', '1.2','double'), - array('bool','bool', '"str"','string'), - array('bool','bool', '{"str"}','array'), - - // integer type - array('integer','integer', 'true','boolean'), - array('integer','integer', 'false','boolean'), - array('integer','integer', '1.2','double'), - array('integer','integer', '"str"','string'), - array('integer','integer', '{"str"}','array'), - array('integer','integer', '{1,2,3,4}','array'), - - // alias for internal type double - array('float','float', 'true','boolean'), - array('float','float', 'false','boolean'), - array('float','float', '123','integer'), - array('float','float', '"str"','string'), - array('float','float', '{"str"}','array'), - array('float','float', '{12.34}','array'), - array('float','float', '{1,2,3}','array'), - - // string type - array('string','string', 'true','boolean'), - array('string','string', 'false','boolean'), - array('string','string', '12','integer'), - array('string','string', '1.2','double'), - array('string','string', '{"str"}','array'), - array('string','string', '{1,2,3,4}','array'), - - // annotation instance - array('annotation','Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', 'true','boolean'), - array('annotation','Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', 'false','boolean'), - array('annotation','Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '12','integer'), - array('annotation','Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '1.2','double'), - array('annotation','Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '{"str"}','array'), - array('annotation','Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '{1,2,3,4}','array'), - array('annotation','Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '@Name','an instance of Doctrine\Tests\Common\Annotations\Name'), - ); - } - - public function getAnnotationVarTypeArrayProviderInvalid() - { - //({attribute name}, {type declared type}, {attribute value} , {given type or class}) - return array( - array('arrayOfIntegers', 'integer', 'true', 'boolean'), - array('arrayOfIntegers', 'integer', 'false', 'boolean'), - array('arrayOfIntegers', 'integer', '{true,true}', 'boolean'), - array('arrayOfIntegers', 'integer', '{1,true}', 'boolean'), - array('arrayOfIntegers', 'integer', '{1,2,1.2}', 'double'), - array('arrayOfIntegers', 'integer', '{1,2,"str"}', 'string'), - - array('arrayOfStrings', 'string', 'true', 'boolean'), - array('arrayOfStrings', 'string', 'false', 'boolean'), - array('arrayOfStrings', 'string', '{true,true}', 'boolean'), - array('arrayOfStrings', 'string', '{"foo",true}', 'boolean'), - array('arrayOfStrings', 'string', '{"foo","bar",1.2}', 'double'), - array('arrayOfStrings', 'string', '1', 'integer'), - - array('arrayOfAnnotations', 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', 'true', 'boolean'), - array('arrayOfAnnotations', 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', 'false', 'boolean'), - array('arrayOfAnnotations', 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '{@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll,true}', 'boolean'), - array('arrayOfAnnotations', 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '{@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll,true}', 'boolean'), - array('arrayOfAnnotations', 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '{@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll,1.2}', 'double'), - array('arrayOfAnnotations', 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll', '{@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll,@AnnotationExtendsAnnotationTargetAll,"str"}', 'string'), - ); - } - - /** - * @dataProvider getAnnotationVarTypeProviderValid - */ - public function testAnnotationWithVarType($attribute, $value) - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::$invalidProperty.'; - $docblock = sprintf('@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithVarType(%s = %s)',$attribute, $value); - $parser->setTarget(Target::TARGET_PROPERTY); - - $result = $parser->parse($docblock, $context); - - $this->assertTrue(sizeof($result) === 1); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithVarType', $result[0]); - $this->assertNotNull($result[0]->$attribute); - } - - /** - * @dataProvider getAnnotationVarTypeProviderInvalid - */ - public function testAnnotationWithVarTypeError($attribute,$type,$value,$given) - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $docblock = sprintf('@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithVarType(%s = %s)',$attribute, $value); - $parser->setTarget(Target::TARGET_PROPERTY); - - try { - $parser->parse($docblock, $context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains("[Type Error] Attribute \"$attribute\" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithVarType declared on property SomeClassName::invalidProperty. expects a(n) $type, but got $given.", $exc->getMessage()); - } - } - - - /** - * @dataProvider getAnnotationVarTypeArrayProviderInvalid - */ - public function testAnnotationWithVarTypeArrayError($attribute,$type,$value,$given) - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $docblock = sprintf('@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithVarType(%s = %s)',$attribute, $value); - $parser->setTarget(Target::TARGET_PROPERTY); - - try { - $parser->parse($docblock, $context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains("[Type Error] Attribute \"$attribute\" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithVarType declared on property SomeClassName::invalidProperty. expects either a(n) $type, or an array of {$type}s, but got $given.", $exc->getMessage()); - } - } - - /** - * @dataProvider getAnnotationVarTypeProviderValid - */ - public function testAnnotationWithAttributes($attribute, $value) - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::$invalidProperty.'; - $docblock = sprintf('@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithAttributes(%s = %s)',$attribute, $value); - $parser->setTarget(Target::TARGET_PROPERTY); - - $result = $parser->parse($docblock, $context); - - $this->assertTrue(sizeof($result) === 1); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithAttributes', $result[0]); - $getter = "get".ucfirst($attribute); - $this->assertNotNull($result[0]->$getter()); - } - - /** - * @dataProvider getAnnotationVarTypeProviderInvalid - */ - public function testAnnotationWithAttributesError($attribute,$type,$value,$given) - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $docblock = sprintf('@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithAttributes(%s = %s)',$attribute, $value); - $parser->setTarget(Target::TARGET_PROPERTY); - - try { - $parser->parse($docblock, $context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains("[Type Error] Attribute \"$attribute\" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithAttributes declared on property SomeClassName::invalidProperty. expects a(n) $type, but got $given.", $exc->getMessage()); - } - } - - - /** - * @dataProvider getAnnotationVarTypeArrayProviderInvalid - */ - public function testAnnotationWithAttributesWithVarTypeArrayError($attribute,$type,$value,$given) - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $docblock = sprintf('@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithAttributes(%s = %s)',$attribute, $value); - $parser->setTarget(Target::TARGET_PROPERTY); - - try { - $parser->parse($docblock, $context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains("[Type Error] Attribute \"$attribute\" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithAttributes declared on property SomeClassName::invalidProperty. expects either a(n) $type, or an array of {$type}s, but got $given.", $exc->getMessage()); - } - } - - public function testAnnotationWithRequiredAttributes() - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $parser->setTarget(Target::TARGET_PROPERTY); - - - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributes("Some Value", annot = @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation)'; - $result = $parser->parse($docblock); - - $this->assertTrue(sizeof($result) === 1); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributes', $result[0]); - $this->assertEquals("Some Value",$result[0]->getValue()); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation', $result[0]->getAnnot()); - - - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributes("Some Value")'; - try { - $result = $parser->parse($docblock,$context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains('Attribute "annot" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributes declared on property SomeClassName::invalidProperty. expects a(n) Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation. This value should not be null.', $exc->getMessage()); - } - - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributes(annot = @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation)'; - try { - $result = $parser->parse($docblock,$context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains('Attribute "value" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributes declared on property SomeClassName::invalidProperty. expects a(n) string. This value should not be null.', $exc->getMessage()); - } - - } - - public function testAnnotationWithRequiredAttributesWithoutContructor() - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $parser->setTarget(Target::TARGET_PROPERTY); - - - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributesWithoutContructor("Some Value", annot = @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation)'; - $result = $parser->parse($docblock); - - $this->assertTrue(sizeof($result) === 1); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributesWithoutContructor', $result[0]); - $this->assertEquals("Some Value", $result[0]->value); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation', $result[0]->annot); - - - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributesWithoutContructor("Some Value")'; - try { - $result = $parser->parse($docblock,$context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains('Attribute "annot" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributesWithoutContructor declared on property SomeClassName::invalidProperty. expects a(n) Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation. This value should not be null.', $exc->getMessage()); - } - - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributesWithoutContructor(annot = @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation)'; - try { - $result = $parser->parse($docblock,$context); - $this->fail(); - } catch (\Doctrine\Common\Annotations\AnnotationException $exc) { - $this->assertContains('Attribute "value" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithRequiredAttributesWithoutContructor declared on property SomeClassName::invalidProperty. expects a(n) string. This value should not be null.', $exc->getMessage()); - } - - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Attribute "value" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnum declared on property SomeClassName::invalidProperty. accept only [ONE, TWO, THREE], but got FOUR. - */ - public function testAnnotationEnumeratorException() - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnum("FOUR")'; - - $parser->setIgnoreNotImportedAnnotations(false); - $parser->setTarget(Target::TARGET_PROPERTY); - $parser->parse($docblock, $context); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Attribute "value" of @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnumLiteral declared on property SomeClassName::invalidProperty. accept only [AnnotationEnumLiteral::ONE, AnnotationEnumLiteral::TWO, AnnotationEnumLiteral::THREE], but got 4. - */ - public function testAnnotationEnumeratorLiteralException() - { - $parser = $this->createTestParser(); - $context = 'property SomeClassName::invalidProperty.'; - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnumLiteral(4)'; - - $parser->setIgnoreNotImportedAnnotations(false); - $parser->setTarget(Target::TARGET_PROPERTY); - $parser->parse($docblock, $context); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage @Enum supports only scalar values "array" given. - */ - public function testAnnotationEnumInvalidTypeDeclarationException() - { - $parser = $this->createTestParser(); - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnumInvalid("foo")'; - - $parser->setIgnoreNotImportedAnnotations(false); - $parser->parse($docblock); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Undefined enumerator value "3" for literal "AnnotationEnumLiteral::THREE". - */ - public function testAnnotationEnumInvalidLiteralDeclarationException() - { - $parser = $this->createTestParser(); - $docblock = '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnumLiteralInvalid("foo")'; - - $parser->setIgnoreNotImportedAnnotations(false); - $parser->parse($docblock); - } - - public function getConstantsProvider() - { - $provider[] = array( - '@AnnotationWithConstants(PHP_EOL)', - PHP_EOL - ); - $provider[] = array( - '@AnnotationWithConstants(AnnotationWithConstants::INTEGER)', - AnnotationWithConstants::INTEGER - ); - $provider[] = array( - '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants(AnnotationWithConstants::STRING)', - AnnotationWithConstants::STRING - ); - $provider[] = array( - '@AnnotationWithConstants(Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants::FLOAT)', - AnnotationWithConstants::FLOAT - ); - $provider[] = array( - '@AnnotationWithConstants(ClassWithConstants::SOME_VALUE)', - ClassWithConstants::SOME_VALUE - ); - $provider[] = array( - '@AnnotationWithConstants(ClassWithConstants::OTHER_KEY_)', - ClassWithConstants::OTHER_KEY_ - ); - $provider[] = array( - '@AnnotationWithConstants(ClassWithConstants::OTHER_KEY_2)', - ClassWithConstants::OTHER_KEY_2 - ); - $provider[] = array( - '@AnnotationWithConstants(Doctrine\Tests\Common\Annotations\Fixtures\ClassWithConstants::SOME_VALUE)', - ClassWithConstants::SOME_VALUE - ); - $provider[] = array( - '@AnnotationWithConstants(IntefaceWithConstants::SOME_VALUE)', - IntefaceWithConstants::SOME_VALUE - ); - $provider[] = array( - '@AnnotationWithConstants(\Doctrine\Tests\Common\Annotations\Fixtures\IntefaceWithConstants::SOME_VALUE)', - IntefaceWithConstants::SOME_VALUE - ); - $provider[] = array( - '@AnnotationWithConstants({AnnotationWithConstants::STRING, AnnotationWithConstants::INTEGER, AnnotationWithConstants::FLOAT})', - array(AnnotationWithConstants::STRING, AnnotationWithConstants::INTEGER, AnnotationWithConstants::FLOAT) - ); - $provider[] = array( - '@AnnotationWithConstants({ - AnnotationWithConstants::STRING = AnnotationWithConstants::INTEGER - })', - array(AnnotationWithConstants::STRING => AnnotationWithConstants::INTEGER) - ); - $provider[] = array( - '@AnnotationWithConstants({ - Doctrine\Tests\Common\Annotations\Fixtures\IntefaceWithConstants::SOME_KEY = AnnotationWithConstants::INTEGER - })', - array(IntefaceWithConstants::SOME_KEY => AnnotationWithConstants::INTEGER) - ); - $provider[] = array( - '@AnnotationWithConstants({ - \Doctrine\Tests\Common\Annotations\Fixtures\IntefaceWithConstants::SOME_KEY = AnnotationWithConstants::INTEGER - })', - array(IntefaceWithConstants::SOME_KEY => AnnotationWithConstants::INTEGER) - ); - $provider[] = array( - '@AnnotationWithConstants({ - AnnotationWithConstants::STRING = AnnotationWithConstants::INTEGER, - ClassWithConstants::SOME_KEY = ClassWithConstants::SOME_VALUE, - Doctrine\Tests\Common\Annotations\Fixtures\ClassWithConstants::SOME_KEY = IntefaceWithConstants::SOME_VALUE - })', - array( - AnnotationWithConstants::STRING => AnnotationWithConstants::INTEGER, - ClassWithConstants::SOME_KEY => ClassWithConstants::SOME_VALUE, - ClassWithConstants::SOME_KEY => IntefaceWithConstants::SOME_VALUE - ) - ); - $provider[] = array( - '@AnnotationWithConstants(AnnotationWithConstants::class)', - 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants' - ); - $provider[] = array( - '@AnnotationWithConstants({AnnotationWithConstants::class = AnnotationWithConstants::class})', - array('Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants' => 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants') - ); - $provider[] = array( - '@AnnotationWithConstants(Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants::class)', - 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants' - ); - $provider[] = array( - '@Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants(Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants::class)', - 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants' - ); - return $provider; - } - - /** - * @dataProvider getConstantsProvider - */ - public function testSupportClassConstants($docblock, $expected) - { - $parser = $this->createTestParser(); - $parser->setImports(array( - 'classwithconstants' => 'Doctrine\Tests\Common\Annotations\Fixtures\ClassWithConstants', - 'intefacewithconstants' => 'Doctrine\Tests\Common\Annotations\Fixtures\IntefaceWithConstants', - 'annotationwithconstants' => 'Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants' - )); - - $result = $parser->parse($docblock); - $this->assertInstanceOf('\Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithConstants', $annotation = $result[0]); - $this->assertEquals($expected, $annotation->value); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage The annotation @SomeAnnotationClassNameWithoutConstructorAndProperties declared on does not accept any values, but got {"value":"Foo"}. - */ - public function testWithoutConstructorWhenIsNotDefaultValue() - { - $parser = $this->createTestParser(); - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructorAndProperties("Foo") - */ -DOCBLOCK; - - - $parser->setTarget(Target::TARGET_CLASS); - $parser->parse($docblock); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage The annotation @SomeAnnotationClassNameWithoutConstructorAndProperties declared on does not accept any values, but got {"value":"Foo"}. - */ - public function testWithoutConstructorWhenHasNoProperties() - { - $parser = $this->createTestParser(); - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructorAndProperties(value = "Foo") - */ -DOCBLOCK; - - $parser->setTarget(Target::TARGET_CLASS); - $parser->parse($docblock); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected namespace separator or identifier, got ')' at position 24 in class @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithTargetSyntaxError. - */ - public function testAnnotationTargetSyntaxError() - { - $parser = $this->createTestParser(); - $context = 'class ' . 'SomeClassName'; - $docblock = <<<DOCBLOCK -/** - * @Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithTargetSyntaxError() - */ -DOCBLOCK; - - $parser->setTarget(Target::TARGET_CLASS); - $parser->parse($docblock,$context); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Invalid Target "Foo". Available targets: [ALL, CLASS, METHOD, PROPERTY, ANNOTATION] - */ - public function testAnnotationWithInvalidTargetDeclarationError() - { - $parser = $this->createTestParser(); - $context = 'class ' . 'SomeClassName'; - $docblock = <<<DOCBLOCK -/** - * @AnnotationWithInvalidTargetDeclaration() - */ -DOCBLOCK; - - $parser->setTarget(Target::TARGET_CLASS); - $parser->parse($docblock,$context); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage @Target expects either a string value, or an array of strings, "NULL" given. - */ - public function testAnnotationWithTargetEmptyError() - { - $parser = $this->createTestParser(); - $context = 'class ' . 'SomeClassName'; - $docblock = <<<DOCBLOCK -/** - * @AnnotationWithTargetEmpty() - */ -DOCBLOCK; - - $parser->setTarget(Target::TARGET_CLASS); - $parser->parse($docblock,$context); - } - - /** - * @group DDC-575 - */ - public function testRegressionDDC575() - { - $parser = $this->createTestParser(); - - $docblock = <<<DOCBLOCK -/** - * @Name - * - * Will trigger error. - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - - $this->assertInstanceOf("Doctrine\Tests\Common\Annotations\Name", $result[0]); - - $docblock = <<<DOCBLOCK -/** - * @Name - * @Marker - * - * Will trigger error. - */ -DOCBLOCK; - - $result = $parser->parse($docblock); - - $this->assertInstanceOf("Doctrine\Tests\Common\Annotations\Name", $result[0]); - } - - /** - * @group DDC-77 - */ - public function testAnnotationWithoutClassIsIgnoredWithoutWarning() - { - $parser = new DocParser(); - $parser->setIgnoreNotImportedAnnotations(true); - $result = $parser->parse("@param"); - - $this->assertEquals(0, count($result)); - } - - /** - * @group DCOM-168 - */ - public function testNotAnAnnotationClassIsIgnoredWithoutWarning() - { - $parser = new DocParser(); - $parser->setIgnoreNotImportedAnnotations(true); - $parser->setIgnoredAnnotationNames(array('PHPUnit_Framework_TestCase' => true)); - $result = $parser->parse('@PHPUnit_Framework_TestCase'); - - $this->assertEquals(0, count($result)); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected PlainValue, got ''' at position 10. - */ - public function testAnnotationDontAcceptSingleQuotes() - { - $parser = $this->createTestParser(); - $parser->parse("@Name(foo='bar')"); - } - - /** - * @group DCOM-41 - */ - public function testAnnotationDoesntThrowExceptionWhenAtSignIsNotFollowedByIdentifier() - { - $parser = new DocParser(); - $result = $parser->parse("'@'"); - - $this->assertEquals(0, count($result)); - } - - /** - * @group DCOM-41 - * @expectedException \Doctrine\Common\Annotations\AnnotationException - */ - public function testAnnotationThrowsExceptionWhenAtSignIsNotFollowedByIdentifierInNestedAnnotation() - { - $parser = new DocParser(); - $parser->parse("@Doctrine\Tests\Common\Annotations\Name(@')"); - } - - /** - * @group DCOM-56 - */ - public function testAutoloadAnnotation() - { - $this->assertFalse(class_exists('Doctrine\Tests\Common\Annotations\Fixture\Annotation\Autoload', false), 'Pre-condition: Doctrine\Tests\Common\Annotations\Fixture\Annotation\Autoload not allowed to be loaded.'); - - $parser = new DocParser(); - - AnnotationRegistry::registerAutoloadNamespace('Doctrine\Tests\Common\Annotations\Fixtures\Annotation', __DIR__ . '/../../../../'); - - $parser->setImports(array( - 'autoload' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Autoload', - )); - $annotations = $parser->parse('@Autoload'); - - $this->assertEquals(1, count($annotations)); - $this->assertInstanceOf('Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Autoload', $annotations[0]); - } - - public function createTestParser() - { - $parser = new DocParser(); - $parser->setIgnoreNotImportedAnnotations(true); - $parser->setImports(array( - 'name' => 'Doctrine\Tests\Common\Annotations\Name', - '__NAMESPACE__' => 'Doctrine\Tests\Common\Annotations', - )); - - return $parser; - } - - /** - * @group DDC-78 - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage Expected PlainValue, got ''' at position 10 in class \Doctrine\Tests\Common\Annotations\Name - */ - public function testSyntaxErrorWithContextDescription() - { - $parser = $this->createTestParser(); - $parser->parse("@Name(foo='bar')", "class \Doctrine\Tests\Common\Annotations\Name"); - } - - /** - * @group DDC-183 - */ - public function testSyntaxErrorWithUnknownCharacters() - { - $docblock = <<<DOCBLOCK -/** - * @test at. - */ -class A { -} -DOCBLOCK; - - //$lexer = new \Doctrine\Common\Annotations\Lexer(); - //$lexer->setInput(trim($docblock, '/ *')); - //var_dump($lexer); - - try { - $parser = $this->createTestParser(); - $parser->parse($docblock); - } catch (\Exception $e) { - $this->fail($e->getMessage()); - } - } - - /** - * @group DCOM-14 - */ - public function testIgnorePHPDocThrowTag() - { - $docblock = <<<DOCBLOCK -/** - * @throws \RuntimeException - */ -class A { -} -DOCBLOCK; - - try { - $parser = $this->createTestParser(); - $parser->parse($docblock); - } catch (\Exception $e) { - $this->fail($e->getMessage()); - } - } - - /** - * @group DCOM-38 - */ - public function testCastInt() - { - $parser = $this->createTestParser(); - - $result = $parser->parse("@Name(foo=1234)"); - $annot = $result[0]; - $this->assertInternalType('int', $annot->foo); - } - - /** - * @group DCOM-38 - */ - public function testCastNegativeInt() - { - $parser = $this->createTestParser(); - - $result = $parser->parse("@Name(foo=-1234)"); - $annot = $result[0]; - $this->assertInternalType('int', $annot->foo); - } - - /** - * @group DCOM-38 - */ - public function testCastFloat() - { - $parser = $this->createTestParser(); - - $result = $parser->parse("@Name(foo=1234.345)"); - $annot = $result[0]; - $this->assertInternalType('float', $annot->foo); - } - - /** - * @group DCOM-38 - */ - public function testCastNegativeFloat() - { - $parser = $this->createTestParser(); - - $result = $parser->parse("@Name(foo=-1234.345)"); - $annot = $result[0]; - $this->assertInternalType('float', $annot->foo); - - $result = $parser->parse("@Marker(-1234.345)"); - $annot = $result[0]; - $this->assertInternalType('float', $annot->value); - } - - public function testReservedKeywordsInAnnotations() - { - $parser = $this->createTestParser(); - - $result = $parser->parse('@Doctrine\Tests\Common\Annotations\True'); - $this->assertTrue($result[0] instanceof True); - $result = $parser->parse('@Doctrine\Tests\Common\Annotations\False'); - $this->assertTrue($result[0] instanceof False); - $result = $parser->parse('@Doctrine\Tests\Common\Annotations\Null'); - $this->assertTrue($result[0] instanceof Null); - - $result = $parser->parse('@True'); - $this->assertTrue($result[0] instanceof True); - $result = $parser->parse('@False'); - $this->assertTrue($result[0] instanceof False); - $result = $parser->parse('@Null'); - $this->assertTrue($result[0] instanceof Null); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Creation Error] The annotation @SomeAnnotationClassNameWithoutConstructor declared on some class does not have a property named "invalidaProperty". Available properties: data, name - */ - public function testSetValuesExeption() - { - $docblock = <<<DOCBLOCK -/** - * @SomeAnnotationClassNameWithoutConstructor(invalidaProperty = "Some val") - */ -DOCBLOCK; - - $this->createTestParser()->parse($docblock, 'some class'); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Syntax Error] Expected Doctrine\Common\Annotations\DocLexer::T_IDENTIFIER or Doctrine\Common\Annotations\DocLexer::T_TRUE or Doctrine\Common\Annotations\DocLexer::T_FALSE or Doctrine\Common\Annotations\DocLexer::T_NULL, got '3.42' at position 5. - */ - public function testInvalidIdentifierInAnnotation() - { - $parser = $this->createTestParser(); - $parser->parse('@Foo\3.42'); - } - - public function testTrailingCommaIsAllowed() - { - $parser = $this->createTestParser(); - - $annots = $parser->parse('@Name({ - "Foo", - "Bar", - })'); - $this->assertEquals(1, count($annots)); - $this->assertEquals(array('Foo', 'Bar'), $annots[0]->value); - } - - public function testDefaultAnnotationValueIsNotOverwritten() - { - $parser = $this->createTestParser(); - - $annots = $parser->parse('@Doctrine\Tests\Common\Annotations\Fixtures\Annotation\AnnotWithDefaultValue'); - $this->assertEquals(1, count($annots)); - $this->assertEquals('bar', $annots[0]->foo); - } - - public function testArrayWithColon() - { - $parser = $this->createTestParser(); - - $annots = $parser->parse('@Name({"foo": "bar"})'); - $this->assertEquals(1, count($annots)); - $this->assertEquals(array('foo' => 'bar'), $annots[0]->value); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Semantical Error] Couldn't find constant foo. - */ - public function testInvalidContantName() - { - $parser = $this->createTestParser(); - $parser->parse('@Name(foo: "bar")'); - } - - /** - * Tests parsing empty arrays. - */ - public function testEmptyArray() - { - $parser = $this->createTestParser(); - - $annots = $parser->parse('@Name({"foo": {}})'); - $this->assertEquals(1, count($annots)); - $this->assertEquals(array('foo' => array()), $annots[0]->value); - } - - public function testKeyHasNumber() - { - $parser = $this->createTestParser(); - $annots = $parser->parse('@SettingsAnnotation(foo="test", bar2="test")'); - - $this->assertEquals(1, count($annots)); - $this->assertEquals(array('foo' => 'test', 'bar2' => 'test'), $annots[0]->settings); - } -} - -/** @Annotation */ -class SettingsAnnotation -{ - public $settings; - - public function __construct($settings) - { - $this->settings = $settings; - } -} - -/** @Annotation */ -class SomeAnnotationClassNameWithoutConstructor -{ - public $data; - public $name; -} - -/** @Annotation */ -class SomeAnnotationWithConstructorWithoutParams -{ - function __construct() - { - $this->data = "Some data"; - } - public $data; - public $name; -} - -/** @Annotation */ -class SomeAnnotationClassNameWithoutConstructorAndProperties{} - -/** - * @Annotation - * @Target("Foo") - */ -class AnnotationWithInvalidTargetDeclaration{} - -/** - * @Annotation - * @Target - */ -class AnnotationWithTargetEmpty{} - -/** @Annotation */ -class AnnotationExtendsAnnotationTargetAll extends \Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll -{ -} - -/** @Annotation */ -class Name extends \Doctrine\Common\Annotations\Annotation { - public $foo; -} - -/** @Annotation */ -class Marker { - public $value; -} - -/** @Annotation */ -class True {} - -/** @Annotation */ -class False {} - -/** @Annotation */ -class Null {} - -namespace Doctrine\Tests\Common\Annotations\FooBar; - -/** @Annotation */ -class Name extends \Doctrine\Common\Annotations\Annotation { -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DummyClass.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DummyClass.php deleted file mode 100644 index 17223f68adf5..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/DummyClass.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Tests\Common\Annotations\DummyAnnotation; -use Doctrine\Tests\Common\Annotations\Name; -use Doctrine\Tests\Common\Annotations\DummyJoinTable; -use Doctrine\Tests\Common\Annotations\DummyJoinColumn; - -/** - * A description of this class. - * - * Let's see if the parser recognizes that this @ is not really referring to an - * annotation. Also make sure that @var \ is not concated to "@var\is". - * - * @author robo - * @since 2.0 - * @DummyAnnotation(dummyValue="hello") - */ -class DummyClass -{ - /** - * A nice property. - * - * @var mixed - * @DummyAnnotation(dummyValue="fieldHello") - */ - private $field1; - - /** - * @DummyJoinTable(name="join_table", - * joinColumns={@DummyJoinColumn(name="col1", referencedColumnName="col2")}, - * inverseJoinColumns={ - * @DummyJoinColumn(name="col3", referencedColumnName="col4") - * }) - */ - private $field2; - - /** - * Gets the value of field1. - * - * @return mixed - * @DummyAnnotation({1,2,"three"}) - */ - public function getField1() - { - } -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/FileCacheReaderTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/FileCacheReaderTest.php deleted file mode 100644 index 325de88fda6e..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/FileCacheReaderTest.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Common\Annotations\AnnotationReader; -use Doctrine\Common\Annotations\FileCacheReader; - -class FileCacheReaderTest extends AbstractReaderTest -{ - private $cacheDir; - - protected function getReader() - { - $this->cacheDir = sys_get_temp_dir() . "/annotations_". uniqid(); - @mkdir($this->cacheDir); - return new FileCacheReader(new AnnotationReader(), $this->cacheDir); - } - - public function tearDown() - { - foreach (glob($this->cacheDir.'/*.php') AS $file) { - unlink($file); - } - rmdir($this->cacheDir); - } - - /** - * @group DCOM-81 - */ - public function testAttemptToCreateAnnotationCacheDir() - { - $this->cacheDir = sys_get_temp_dir() . "/not_existed_dir_". uniqid(); - - $this->assertFalse(is_dir($this->cacheDir)); - - new FileCacheReader(new AnnotationReader(), $this->cacheDir); - - $this->assertTrue(is_dir($this->cacheDir)); - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/AnnotWithDefaultValue.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/AnnotWithDefaultValue.php deleted file mode 100644 index 44108e192460..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/AnnotWithDefaultValue.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Annotation; - -/** @Annotation */ -class AnnotWithDefaultValue -{ - /** @var string */ - public $foo = 'bar'; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Autoload.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Autoload.php deleted file mode 100644 index e2a4cad9613c..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Autoload.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Annotation; - -/** - * @Annotation - */ -class Autoload -{ -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Route.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Route.php deleted file mode 100644 index eb1bdee309ed..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Route.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Annotation; - -/** @Annotation */ -class Route -{ - /** @var string @Required */ - public $pattern; - public $name; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Secure.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Secure.php deleted file mode 100644 index 332544fa3dc6..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Secure.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Annotation; - -/** @Annotation */ -class Secure -{ - private $roles; - - public function __construct(array $values) - { - if (is_string($values['value'])) { - $values['value'] = array($values['value']); - } - - $this->roles = $values['value']; - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Template.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Template.php deleted file mode 100644 index b507e602aa0c..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Template.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Annotation; - -/** @Annotation */ -class Template -{ - private $name; - - public function __construct(array $values) - { - $this->name = isset($values['value']) ? $values['value'] : null; - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Version.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Version.php deleted file mode 100644 index 09ef03177f79..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Annotation/Version.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Annotation; - -/** - * @Annotation - * @Target("PROPERTY") - */ -final class Version -{ -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnum.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnum.php deleted file mode 100644 index cc9862a8bdaa..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnum.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - */ -final class AnnotationEnum -{ - const ONE = 'ONE'; - const TWO = 'TWO'; - const THREE = 'THREE'; - - /** - * @var mixed - * - * @Enum({"ONE","TWO","THREE"}) - */ - public $value; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumInvalid.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumInvalid.php deleted file mode 100644 index 77af8fbe7129..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumInvalid.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - */ -final class AnnotationEnumInvalid -{ - /** - * @var mixed - * - * @Enum({1, 2, "foo", "bar", {"foo":"bar"}}) - */ - public $value; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteral.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteral.php deleted file mode 100644 index 9a8f5557c455..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteral.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnumLiteral as SelfEnum; - -/** - * @Annotation - * @Target("ALL") - */ -final class AnnotationEnumLiteral -{ - const ONE = 1; - const TWO = 2; - const THREE = 3; - - /** - * @var mixed - * - * @Enum( - * value = { - * 1, - * 2, - * 3, - * }, - * literal = { - * 1 : "AnnotationEnumLiteral::ONE", - * 2 : "AnnotationEnumLiteral::TWO", - * 3 : "AnnotationEnumLiteral::THREE", - * } - * ) - */ - public $value; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteralInvalid.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteralInvalid.php deleted file mode 100644 index 1a07e4b22974..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationEnumLiteralInvalid.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - */ -final class AnnotationEnumLiteralInvalid -{ - const ONE = 1; - const TWO = 2; - const THREE = 3; - - /** - * @var mixed - * - * @Enum( - * value = { - * 1, - * 2 - * }, - * literal = { - * 1 : "AnnotationEnumLiteral::ONE", - * 2 : "AnnotationEnumLiteral::TWO", - * 3 : "AnnotationEnumLiteral::THREE" - * } - * ) - */ - public $value; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAll.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAll.php deleted file mode 100644 index f1c774609062..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAll.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - */ -class AnnotationTargetAll -{ - public $data; - public $name; - public $target; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAnnotation.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAnnotation.php deleted file mode 100644 index 9ee1b4056f57..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetAnnotation.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target({ "ANNOTATION" }) - */ -final class AnnotationTargetAnnotation -{ - public $data; - public $name; - public $target; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetClass.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetClass.php deleted file mode 100644 index 5e5d19efb3f4..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetClass.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - - -/** - * @Annotation - * @Target("CLASS") - */ -final class AnnotationTargetClass -{ - public $data; - public $name; - public $target; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetMethod.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetMethod.php deleted file mode 100644 index 2ab066cbf12d..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetMethod.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - - -/** - * @Annotation - * @Target("METHOD") - */ -final class AnnotationTargetMethod -{ - public $data; - public $name; - public $target; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetPropertyMethod.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetPropertyMethod.php deleted file mode 100644 index f7145612c336..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationTargetPropertyMethod.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target({ "METHOD", "PROPERTY" }) - */ -final class AnnotationTargetPropertyMethod -{ - public $data; - public $name; - public $target; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithAttributes.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithAttributes.php deleted file mode 100644 index e3b5be7b7f79..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithAttributes.php +++ /dev/null @@ -1,129 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - * @Attributes({ - @Attribute("mixed", type = "mixed"), - @Attribute("boolean", type = "boolean"), - @Attribute("bool", type = "bool"), - @Attribute("float", type = "float"), - @Attribute("string", type = "string"), - @Attribute("integer", type = "integer"), - @Attribute("array", type = "array"), - @Attribute("arrayOfIntegers", type = "array<integer>"), - @Attribute("arrayOfStrings", type = "string[]"), - @Attribute("annotation", type = "Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll"), - @Attribute("arrayOfAnnotations", type = "array<Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll>"), - }) - */ -final class AnnotationWithAttributes -{ - - public final function __construct(array $data) - { - foreach ($data as $key => $value) { - $this->$key = $value; - } - } - - private $mixed; - private $boolean; - private $bool; - private $float; - private $string; - private $integer; - private $array; - private $annotation; - private $arrayOfIntegers; - private $arrayOfStrings; - private $arrayOfAnnotations; - - /** - * @return mixed - */ - public function getMixed() - { - return $this->mixed; - } - - /** - * @return boolean - */ - public function getBoolean() - { - return $this->boolean; - } - - /** - * @return bool - */ - public function getBool() - { - return $this->bool; - } - - /** - * @return float - */ - public function getFloat() - { - return $this->float; - } - - /** - * @return string - */ - public function getString() - { - return $this->string; - } - - public function getInteger() - { - return $this->integer; - } - - /** - * @return array - */ - public function getArray() - { - return $this->array; - } - - /** - * @return Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll - */ - public function getAnnotation() - { - return $this->annotation; - } - - /** - * @return string[] - */ - public function getArrayOfStrings() - { - return $this->arrayOfIntegers; - } - - /** - * @return array<integer> - */ - public function getArrayOfIntegers() - { - return $this->arrayOfIntegers; - } - - /** - * @return array<Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll> - */ - public function getArrayOfAnnotations() - { - return $this->arrayOfAnnotations; - } - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithConstants.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithConstants.php deleted file mode 100644 index 9c94558be3ef..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithConstants.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - */ -final class AnnotationWithConstants -{ - - const INTEGER = 1; - const FLOAT = 1.2; - const STRING = '1.2.3'; - - /** - * @var mixed - */ - public $value; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributes.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributes.php deleted file mode 100644 index 6eb1bc5aac58..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributes.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - * @Attributes({ - @Attribute("value", required = true , type = "string"), - @Attribute("annot", required = true , type = "Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation"), - }) - */ -final class AnnotationWithRequiredAttributes -{ - - public final function __construct(array $data) - { - foreach ($data as $key => $value) { - $this->$key = $value; - } - } - - /** - * @var string - */ - private $value; - - /** - * - * @var Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation - */ - private $annot; - - /** - * @return string - */ - public function getValue() - { - return $this->value; - } - - /** - * @return Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation - */ - public function getAnnot() - { - return $this->annot; - } - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributesWithoutContructor.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributesWithoutContructor.php deleted file mode 100644 index bf458ee77a99..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithRequiredAttributesWithoutContructor.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - */ -final class AnnotationWithRequiredAttributesWithoutContructor -{ - - /** - * @Required - * @var string - */ - public $value; - - /** - * @Required - * @var Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation - */ - public $annot; - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithTargetSyntaxError.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithTargetSyntaxError.php deleted file mode 100644 index 7638ce889af1..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithTargetSyntaxError.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target(@) - */ -final class AnnotationWithTargetSyntaxError -{ -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithVarType.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithVarType.php deleted file mode 100644 index dc1d6ddbf46b..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/AnnotationWithVarType.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @Annotation - * @Target("ALL") - */ -final class AnnotationWithVarType -{ - - /** - * @var mixed - */ - public $mixed; - - /** - * @var boolean - */ - public $boolean; - - /** - * @var bool - */ - public $bool; - - /** - * @var float - */ - public $float; - - /** - * @var string - */ - public $string; - - /** - * @var integer - */ - public $integer; - - /** - * @var array - */ - public $array; - - /** - * @var Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll - */ - public $annotation; - - /** - * @var array<integer> - */ - public $arrayOfIntegers; - - /** - * @var string[] - */ - public $arrayOfStrings; - - /** - * @var array<Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll> - */ - public $arrayOfAnnotations; - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Api.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Api.php deleted file mode 100644 index 534ad14279f9..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Api.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -/** - * This class is not an annotation - * It's a class build to test ClassWithInclude - */ -class Api -{ - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassDDC1660.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassDDC1660.php deleted file mode 100644 index 4e652e138810..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassDDC1660.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @since 2.0 - * @version $Id: SomeEntityClass.php 509 2012-02-03 09:38:48Z mf $ - */ -class ClassDDC1660 -{ - - /** - * @var string - * @since 2.0 - * @version 1 - */ - public $foo; - - /** - * @param string - * @return string - * @since 2.0 - * @version 1 - */ - public function bar($param) - { - return null; - } - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassNoNamespaceNoComment.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassNoNamespaceNoComment.php deleted file mode 100644 index ca64c12d5e84..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassNoNamespaceNoComment.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetClass; - -class Doctrine_Tests_Common_Annotations_Fixtures_ClassNoNamespaceNoComment { - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassOverwritesTrait.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassOverwritesTrait.php deleted file mode 100644 index 8caa8ac156e1..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassOverwritesTrait.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Bar2\Autoload; - -class ClassOverwritesTrait { - use TraitWithAnnotatedMethod; - - /** - * @Autoload - */ - public function traitMethod() - { - - } -} - - -namespace Doctrine\Tests\Common\Annotations\Bar2; - -/** @Annotation */ -class Autoload -{ -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassUsesTrait.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassUsesTrait.php deleted file mode 100644 index 8797ac26b8cb..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassUsesTrait.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Bar\Autoload; - -class ClassUsesTrait { - use TraitWithAnnotatedMethod; - - /** - * @Autoload - */ - public $aProperty; - - /** - * @Autoload - */ - public function someMethod() - { - - } -} - - -namespace Doctrine\Tests\Common\Annotations\Bar; - -/** @Annotation */ -class Autoload -{ -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationEnum.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationEnum.php deleted file mode 100644 index 8346f2485c51..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationEnum.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationEnum; - -class ClassWithAnnotationEnum -{ - /** - * @AnnotationEnum(AnnotationEnum::ONE) - */ - public $foo; - - /** - * @AnnotationEnum("TWO") - */ - public function bar(){} - - - /** - * @AnnotationEnum("FOUR") - */ - public $invalidProperty; - - /** - * @AnnotationEnum(5) - */ - public function invalidMethod(){} -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithTargetSyntaxError.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithTargetSyntaxError.php deleted file mode 100644 index 6fd31688b88a..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithTargetSyntaxError.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithTargetSyntaxError; - -/** - * @AnnotationWithTargetSyntaxError() - */ -class ClassWithAnnotationWithTargetSyntaxError -{ - /** - * @AnnotationWithTargetSyntaxError() - */ - public $foo; - - /** - * @AnnotationWithTargetSyntaxError() - */ - public function bar(){} -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithVarType.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithVarType.php deleted file mode 100644 index ed467dbfbec3..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAnnotationWithVarType.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationWithVarType; -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll; -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation; - -class ClassWithAnnotationWithVarType -{ - /** - * @AnnotationWithVarType(string = "String Value") - */ - public $foo; - - /** - * @AnnotationWithVarType(annotation = @AnnotationTargetAll) - */ - public function bar(){} - - - /** - * @AnnotationWithVarType(string = 123) - */ - public $invalidProperty; - - /** - * @AnnotationWithVarType(annotation = @AnnotationTargetAnnotation) - */ - public function invalidMethod(){} -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAtInDescriptionAndAnnotation.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAtInDescriptionAndAnnotation.php deleted file mode 100644 index 5acc1b9a3af7..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithAtInDescriptionAndAnnotation.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetPropertyMethod; - -class ClassWithAtInDescriptionAndAnnotation -{ - /** - * Lala - * - * { - * "email": "foo@example.com", - * "email2": "123@example.com", - * "email3": "@example.com" - * } - * - * @AnnotationTargetPropertyMethod("Bar") - */ - public $foo; - - /** - * Lala - * - * { - * "email": "foo@example.com", - * "email2": "123@example.com", - * "email3": "@example.com" - * } - * - *@AnnotationTargetPropertyMethod("Bar") - */ - public $bar; -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClassAnnotationOnly.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClassAnnotationOnly.php deleted file mode 100644 index 5d08b1d6230c..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClassAnnotationOnly.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetClass; - -/** - * @AnnotationTargetClass("Some data") - */ -class ClassWithClassAnnotationOnly -{ - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClosure.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClosure.php deleted file mode 100644 index 4629507dd333..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithClosure.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll; -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation; - -/** - * @AnnotationTargetAll("Foo") - */ -final class ClassWithClosure -{ - - /** - * @AnnotationTargetAll(@AnnotationTargetAnnotation) - * @var string - */ - public $value; - - /** - * @AnnotationTargetAll(@AnnotationTargetAnnotation) - * - * @param \Closure $callback - * @return \Closure - */ - public function methodName(\Closure $callback) - { - $self = $this; - return function() use ($self, $callback) { - return $callback; - }; - } - - /** - * @param integer $year - * @param integer $month - * @param integer $day - * @return \Doctrine\Common\Collections\ArrayCollection - */ - public function getEventsForDate($year, $month, $day){ - $extractEvents = null; // check if date of item is inside day given - $extractEvents = $this->events->filter(function ($item) use ($year, $month, $day) { - $leftDate = new \DateTime($year.'-'.$month.'-'.$day.' 00:00'); - $rigthDate = new \DateTime($year.'-'.$month.'-'.$day.' +1 day 00:00'); - return ( ( $leftDate <= $item->getDateStart() ) && ( $item->getDateStart() < $rigthDate ) ); - - } - ); - return $extractEvents; - } - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithConstants.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithConstants.php deleted file mode 100644 index 719d68f6c5c5..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithConstants.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -class ClassWithConstants -{ - const SOME_VALUE = 'ClassWithConstants.SOME_VALUE'; - const SOME_KEY = 'ClassWithConstants.SOME_KEY'; - const OTHER_KEY_ = 'ClassWithConstants.OTHER_KEY_'; - const OTHER_KEY_2 = 'ClassWithConstants.OTHER_KEY_2'; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithFullyQualifiedUseStatements.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithFullyQualifiedUseStatements.php deleted file mode 100644 index ddb207bef790..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithFullyQualifiedUseStatements.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use - \Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure, - \Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route -; -use \Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; - -class ClassWithFullyQualifiedUseStatements {} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithIgnoreAnnotation.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithIgnoreAnnotation.php deleted file mode 100644 index a763d2ee6e40..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithIgnoreAnnotation.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @ignoreAnnotation("IgnoreAnnotationClass") - */ -class ClassWithIgnoreAnnotation -{ - /** - * @IgnoreAnnotationClass - */ - public $foo; -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtClass.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtClass.php deleted file mode 100644 index f8d961cf85c6..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtClass.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetPropertyMethod; - -/** - * @AnnotationTargetPropertyMethod("Some data") - */ -class ClassWithInvalidAnnotationTargetAtClass -{ - - /** - * @AnnotationTargetPropertyMethod("Bar") - */ - public $foo; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtMethod.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtMethod.php deleted file mode 100644 index ea6348047f60..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtMethod.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetClass; - -/** - * @AnnotationTargetClass("Some data") - */ -class ClassWithInvalidAnnotationTargetAtMethod -{ - - /** - * @AnnotationTargetClass("functionName") - */ - public function functionName($param) - { - - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtProperty.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtProperty.php deleted file mode 100644 index 80befcfc24f2..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithInvalidAnnotationTargetAtProperty.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetClass; -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation; - -/** - * @AnnotationTargetClass("Some data") - */ -class ClassWithInvalidAnnotationTargetAtProperty -{ - - /** - * @AnnotationTargetClass("Bar") - */ - public $foo; - - - /** - * @AnnotationTargetAnnotation("Foo") - */ - public $bar; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithRequire.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithRequire.php deleted file mode 100644 index 2dcc7263c1b2..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithRequire.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -// Include a class named Api -require_once(__DIR__ . '/Api.php'); - -use Doctrine\Tests\Common\Annotations\DummyAnnotationWithIgnoredAnnotation; - -/** - * @DummyAnnotationWithIgnoredAnnotation(dummyValue="hello") - */ -class ClassWithRequire -{ -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithValidAnnotationTarget.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithValidAnnotationTarget.php deleted file mode 100644 index 9011622dbc28..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/ClassWithValidAnnotationTarget.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetClass; -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll; -use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetPropertyMethod; - -/** - * @AnnotationTargetClass("Some data") - */ -class ClassWithValidAnnotationTarget -{ - - /** - * @AnnotationTargetPropertyMethod("Some data") - */ - public $foo; - - - /** - * @AnnotationTargetAll("Some data",name="Some name") - */ - public $name; - - /** - * @AnnotationTargetPropertyMethod("Some data",name="Some name") - */ - public function someFunction() - { - - } - - - /** - * @AnnotationTargetAll(@AnnotationTargetAnnotation) - */ - public $nested; - -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Controller.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Controller.php deleted file mode 100644 index 85320642e6aa..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/Controller.php +++ /dev/null @@ -1,300 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - -/** - * @Route("/someprefix") - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class Controller -{ - /** - * @Route("/", name="_demo") - * @Template() - */ - public function indexAction() - { - return array(); - } - - /** - * @Route("/hello/{name}", name="_demo_hello") - * @Template() - */ - public function helloAction($name) - { - return array('name' => $name); - } - - /** - * @Route("/contact", name="_demo_contact") - * @Template() - */ - public function contactAction() - { - $form = ContactForm::create($this->get('form.context'), 'contact'); - - $form->bind($this->container->get('request'), $form); - if ($form->isValid()) { - $form->send($this->get('mailer')); - - $this->get('session')->setFlash('notice', 'Message sent!'); - - return new RedirectResponse($this->generateUrl('_demo')); - } - - return array('form' => $form); - } - - /** - * Creates the ACL for the passed object identity - * - * @param ObjectIdentityInterface $oid - * @return void - */ - private function createObjectIdentity(ObjectIdentityInterface $oid) - { - $classId = $this->createOrRetrieveClassId($oid->getType()); - - $this->connection->executeQuery($this->getInsertObjectIdentitySql($oid->getIdentifier(), $classId, true)); - } - - /** - * Returns the primary key for the passed class type. - * - * If the type does not yet exist in the database, it will be created. - * - * @param string $classType - * @return integer - */ - private function createOrRetrieveClassId($classType) - { - if (false !== $id = $this->connection->executeQuery($this->getSelectClassIdSql($classType))->fetchColumn()) { - return $id; - } - - $this->connection->executeQuery($this->getInsertClassSql($classType)); - - return $this->connection->executeQuery($this->getSelectClassIdSql($classType))->fetchColumn(); - } - - /** - * Returns the primary key for the passed security identity. - * - * If the security identity does not yet exist in the database, it will be - * created. - * - * @param SecurityIdentityInterface $sid - * @return integer - */ - private function createOrRetrieveSecurityIdentityId(SecurityIdentityInterface $sid) - { - if (false !== $id = $this->connection->executeQuery($this->getSelectSecurityIdentityIdSql($sid))->fetchColumn()) { - return $id; - } - - $this->connection->executeQuery($this->getInsertSecurityIdentitySql($sid)); - - return $this->connection->executeQuery($this->getSelectSecurityIdentityIdSql($sid))->fetchColumn(); - } - - /** - * Deletes all ACEs for the given object identity primary key. - * - * @param integer $oidPK - * @return void - */ - private function deleteAccessControlEntries($oidPK) - { - $this->connection->executeQuery($this->getDeleteAccessControlEntriesSql($oidPK)); - } - - /** - * Deletes the object identity from the database. - * - * @param integer $pk - * @return void - */ - private function deleteObjectIdentity($pk) - { - $this->connection->executeQuery($this->getDeleteObjectIdentitySql($pk)); - } - - /** - * Deletes all entries from the relations table from the database. - * - * @param integer $pk - * @return void - */ - private function deleteObjectIdentityRelations($pk) - { - $this->connection->executeQuery($this->getDeleteObjectIdentityRelationsSql($pk)); - } - - /** - * This regenerates the ancestor table which is used for fast read access. - * - * @param AclInterface $acl - * @return void - */ - private function regenerateAncestorRelations(AclInterface $acl) - { - $pk = $acl->getId(); - $this->connection->executeQuery($this->getDeleteObjectIdentityRelationsSql($pk)); - $this->connection->executeQuery($this->getInsertObjectIdentityRelationSql($pk, $pk)); - - $parentAcl = $acl->getParentAcl(); - while (null !== $parentAcl) { - $this->connection->executeQuery($this->getInsertObjectIdentityRelationSql($pk, $parentAcl->getId())); - - $parentAcl = $parentAcl->getParentAcl(); - } - } - - /** - * This processes changes on an ACE related property (classFieldAces, or objectFieldAces). - * - * @param string $name - * @param array $changes - * @return void - */ - private function updateFieldAceProperty($name, array $changes) - { - $sids = new \SplObjectStorage(); - $classIds = new \SplObjectStorage(); - $currentIds = array(); - foreach ($changes[1] as $field => $new) { - for ($i=0,$c=count($new); $i<$c; $i++) { - $ace = $new[$i]; - - if (null === $ace->getId()) { - if ($sids->contains($ace->getSecurityIdentity())) { - $sid = $sids->offsetGet($ace->getSecurityIdentity()); - } else { - $sid = $this->createOrRetrieveSecurityIdentityId($ace->getSecurityIdentity()); - } - - $oid = $ace->getAcl()->getObjectIdentity(); - if ($classIds->contains($oid)) { - $classId = $classIds->offsetGet($oid); - } else { - $classId = $this->createOrRetrieveClassId($oid->getType()); - } - - $objectIdentityId = $name === 'classFieldAces' ? null : $ace->getAcl()->getId(); - - $this->connection->executeQuery($this->getInsertAccessControlEntrySql($classId, $objectIdentityId, $field, $i, $sid, $ace->getStrategy(), $ace->getMask(), $ace->isGranting(), $ace->isAuditSuccess(), $ace->isAuditFailure())); - $aceId = $this->connection->executeQuery($this->getSelectAccessControlEntryIdSql($classId, $objectIdentityId, $field, $i))->fetchColumn(); - $this->loadedAces[$aceId] = $ace; - - $aceIdProperty = new \ReflectionProperty('Symfony\Component\Security\Acl\Domain\Entry', 'id'); - $aceIdProperty->setAccessible(true); - $aceIdProperty->setValue($ace, intval($aceId)); - } else { - $currentIds[$ace->getId()] = true; - } - } - } - - foreach ($changes[0] as $old) { - for ($i=0,$c=count($old); $i<$c; $i++) { - $ace = $old[$i]; - - if (!isset($currentIds[$ace->getId()])) { - $this->connection->executeQuery($this->getDeleteAccessControlEntrySql($ace->getId())); - unset($this->loadedAces[$ace->getId()]); - } - } - } - } - - /** - * This processes changes on an ACE related property (classAces, or objectAces). - * - * @param string $name - * @param array $changes - * @return void - */ - private function updateAceProperty($name, array $changes) - { - list($old, $new) = $changes; - - $sids = new \SplObjectStorage(); - $classIds = new \SplObjectStorage(); - $currentIds = array(); - for ($i=0,$c=count($new); $i<$c; $i++) { - $ace = $new[$i]; - - if (null === $ace->getId()) { - if ($sids->contains($ace->getSecurityIdentity())) { - $sid = $sids->offsetGet($ace->getSecurityIdentity()); - } else { - $sid = $this->createOrRetrieveSecurityIdentityId($ace->getSecurityIdentity()); - } - - $oid = $ace->getAcl()->getObjectIdentity(); - if ($classIds->contains($oid)) { - $classId = $classIds->offsetGet($oid); - } else { - $classId = $this->createOrRetrieveClassId($oid->getType()); - } - - $objectIdentityId = $name === 'classAces' ? null : $ace->getAcl()->getId(); - - $this->connection->executeQuery($this->getInsertAccessControlEntrySql($classId, $objectIdentityId, null, $i, $sid, $ace->getStrategy(), $ace->getMask(), $ace->isGranting(), $ace->isAuditSuccess(), $ace->isAuditFailure())); - $aceId = $this->connection->executeQuery($this->getSelectAccessControlEntryIdSql($classId, $objectIdentityId, null, $i))->fetchColumn(); - $this->loadedAces[$aceId] = $ace; - - $aceIdProperty = new \ReflectionProperty($ace, 'id'); - $aceIdProperty->setAccessible(true); - $aceIdProperty->setValue($ace, intval($aceId)); - } else { - $currentIds[$ace->getId()] = true; - } - } - - for ($i=0,$c=count($old); $i<$c; $i++) { - $ace = $old[$i]; - - if (!isset($currentIds[$ace->getId()])) { - $this->connection->executeQuery($this->getDeleteAccessControlEntrySql($ace->getId())); - unset($this->loadedAces[$ace->getId()]); - } - } - } - - /** - * Persists the changes which were made to ACEs to the database. - * - * @param \SplObjectStorage $aces - * @return void - */ - private function updateAces(\SplObjectStorage $aces) - { - foreach ($aces as $ace) { - $propertyChanges = $aces->offsetGet($ace); - $sets = array(); - - if (isset($propertyChanges['mask'])) { - $sets[] = sprintf('mask = %d', $propertyChanges['mask'][1]); - } - if (isset($propertyChanges['strategy'])) { - $sets[] = sprintf('granting_strategy = %s', $this->connection->quote($propertyChanges['strategy'])); - } - if (isset($propertyChanges['aceOrder'])) { - $sets[] = sprintf('ace_order = %d', $propertyChanges['aceOrder'][1]); - } - if (isset($propertyChanges['auditSuccess'])) { - $sets[] = sprintf('audit_success = %s', $this->connection->getDatabasePlatform()->convertBooleans($propertyChanges['auditSuccess'][1])); - } - if (isset($propertyChanges['auditFailure'])) { - $sets[] = sprintf('audit_failure = %s', $this->connection->getDatabasePlatform()->convertBooleans($propertyChanges['auditFailure'][1])); - } - - $this->connection->executeQuery($this->getUpdateAccessControlEntrySql($ace->getId(), $sets)); - } - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsFirst.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsFirst.php deleted file mode 100644 index bda2cc21ba1f..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsFirst.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; - - class DifferentNamespacesPerFileWithClassAsFirst {} -} - -namespace { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; -} - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Foo { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsLast.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsLast.php deleted file mode 100644 index aff3146d5b0f..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/DifferentNamespacesPerFileWithClassAsLast.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures\Foo { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; -} - -namespace { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; -} - -namespace Doctrine\Tests\Common\Annotations\Fixtures { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; - - class DifferentNamespacesPerFileWithClassAsLast {} -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsFirst.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsFirst.php deleted file mode 100644 index 3484bf8cea97..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsFirst.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - -class EqualNamespacesPerFileWithClassAsFirst {} - - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsLast.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsLast.php deleted file mode 100644 index af6d897dd8b9..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/EqualNamespacesPerFileWithClassAsLast.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; - -class EqualNamespacesPerFileWithClassAsLast {} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsFirst.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsFirst.php deleted file mode 100644 index b2c5d5ce74f6..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsFirst.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -namespace { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - - class GlobalNamespacesPerFileWithClassAsFirst {} -} - -namespace { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsLast.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsLast.php deleted file mode 100644 index 6b600ff1e37e..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/GlobalNamespacesPerFileWithClassAsLast.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -namespace { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; -} - -namespace { - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; - - class GlobalNamespacesPerFileWithClassAsLast {} -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IgnoreAnnotationClass.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IgnoreAnnotationClass.php deleted file mode 100644 index 578589d4b43d..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IgnoreAnnotationClass.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -class IgnoreAnnotationClass -{ -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IntefaceWithConstants.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IntefaceWithConstants.php deleted file mode 100644 index d375b201a5ed..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/IntefaceWithConstants.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -interface IntefaceWithConstants -{ - - const SOME_VALUE = 'IntefaceWithConstants.SOME_VALUE'; - const SOME_KEY = 'IntefaceWithConstants.SOME_KEY'; -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageButIgnoredClass.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageButIgnoredClass.php deleted file mode 100644 index 6fa0d51dad80..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageButIgnoredClass.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - -/** - * @NoAnnotation - * @IgnoreAnnotation("NoAnnotation") - * @Route("foo") - */ -class InvalidAnnotationUsageButIgnoredClass -{ -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageClass.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageClass.php deleted file mode 100644 index cf3fc0236199..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/InvalidAnnotationUsageClass.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -/** - * @NoAnnotation - */ -class InvalidAnnotationUsageClass -{ -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleClassesInFile.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleClassesInFile.php deleted file mode 100644 index 149f1bf536cd..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleClassesInFile.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - -class AnotherClass { } -class MultipleClassesInFile { } diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleImportsInUseStatement.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleImportsInUseStatement.php deleted file mode 100644 index 38c954a3ccfc..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/MultipleImportsInUseStatement.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use - Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route, - Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure -; - -class MultipleImportsInUseStatement {} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceAndClassCommentedOut.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceAndClassCommentedOut.php deleted file mode 100644 index 9909e31b2c95..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceAndClassCommentedOut.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -// namespace Doctrine\Tests\Common\Annotations\Fixtures; -namespace Doctrine\Tests\Common\Annotations\Fixtures\Foo { - - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; - - // class NamespaceAndClassCommentedOut {} -} - -namespace Doctrine\Tests\Common\Annotations\Fixtures { - - // class NamespaceAndClassCommentedOut {} - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - - // namespace Doctrine\Tests\Common\Annotations\Fixtures; - use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; - - class NamespaceAndClassCommentedOut {} -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceWithClosureDeclaration.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceWithClosureDeclaration.php deleted file mode 100644 index 13a337a3a487..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespaceWithClosureDeclaration.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; - -$var = 1; -function () use ($var) {}; - -class NamespaceWithClosureDeclaration {} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespacedSingleClassLOC1000.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespacedSingleClassLOC1000.php deleted file mode 100644 index ff04122f259e..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NamespacedSingleClassLOC1000.php +++ /dev/null @@ -1,1005 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -class NamespacedSingleClassLOC1000 -{ - const TEST1 = 1234567890; - const TEST2 = 1234567890; - const TEST3 = 1234567890; - const TEST4 = 1234567890; - const TEST5 = 1234567890; - const TEST6 = 1234567890; - const TEST7 = 1234567890; - const TEST8 = 1234567890; - const TEST9 = 1234567890; - - private $test1 = null; - private $test2 = null; - private $test3 = null; - private $test4 = null; - private $test5 = null; - private $test6 = null; - private $test7 = null; - private $test8 = null; - private $test9 = null; - - public function test1() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test2() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test3() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test4() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test5() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test6() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test7() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test8() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test9() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test10() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test11() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test12() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test13() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test14() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test15() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test16() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test17() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test18() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test19() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test20() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test21() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test22() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test23() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test24() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test25() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test26() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test27() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test28() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test29() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test30() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test31() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test32() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test33() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test34() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test35() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test36() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test37() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test38() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test39() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NoAnnotation.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NoAnnotation.php deleted file mode 100644 index 1dae104a4439..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NoAnnotation.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -class NoAnnotation {} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NonNamespacedClass.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NonNamespacedClass.php deleted file mode 100644 index c373843b733a..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/NonNamespacedClass.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template; -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route; - -/** - * @Route("foo") - * @Template - */ -class AnnotationsTestsFixturesNonNamespacedClass { } \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/SingleClassLOC1000.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/SingleClassLOC1000.php deleted file mode 100644 index 5e163b4299d7..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/SingleClassLOC1000.php +++ /dev/null @@ -1,1003 +0,0 @@ -<?php - -class SingleClassLOC1000 -{ - const TEST1 = 1234567890; - const TEST2 = 1234567890; - const TEST3 = 1234567890; - const TEST4 = 1234567890; - const TEST5 = 1234567890; - const TEST6 = 1234567890; - const TEST7 = 1234567890; - const TEST8 = 1234567890; - const TEST9 = 1234567890; - - private $test1 = null; - private $test2 = null; - private $test3 = null; - private $test4 = null; - private $test5 = null; - private $test6 = null; - private $test7 = null; - private $test8 = null; - private $test9 = null; - - public function test1() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test2() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test3() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test4() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test5() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test6() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test7() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test8() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test9() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test10() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test11() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test12() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test13() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test14() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test15() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test16() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test17() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test18() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test19() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test20() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test21() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test22() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test23() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test24() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test25() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test26() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test27() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test28() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test29() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test30() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test31() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test32() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test33() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test34() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test35() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test36() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test37() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - - } - - public function test38() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } - - public function test39() - { - echo $this->test1; - echo $this->test2; - echo $this->test3; - $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - foreach ($array as $key => $value) { - echo $key . ' => ' . $value; - } - - $val = (string)self::TEST1; - $val .= (string)self::TEST2; - $val .= (string)self::TEST3; - $val .= (string)self::TEST4; - $val .= (string)self::TEST5; - $val .= (string)self::TEST6; - $val .= (string)self::TEST7; - $val .= (string)self::TEST8; - $val .= (string)self::TEST9; - - strtolower($val); - - return $val; - } -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TestInterface.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TestInterface.php deleted file mode 100644 index 58c5e6af5e3a..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TestInterface.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure; - -interface TestInterface -{ - /** - * @Secure - */ - function foo(); -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TraitWithAnnotatedMethod.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TraitWithAnnotatedMethod.php deleted file mode 100644 index 051957966f58..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Fixtures/TraitWithAnnotatedMethod.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php -namespace Doctrine\Tests\Common\Annotations\Fixtures; - -use Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Autoload; - -trait TraitWithAnnotatedMethod { - - /** - * @Autoload - */ - public $traitProperty; - - /** - * @Autoload - */ - public function traitMethod() - { - } -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PerformanceTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PerformanceTest.php deleted file mode 100644 index c7778b2aeebb..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PerformanceTest.php +++ /dev/null @@ -1,194 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Common\Annotations\FileCacheReader; -use Doctrine\Common\Cache\ArrayCache; -use Doctrine\Common\Annotations\CachedReader; -use Doctrine\Common\Annotations\DocLexer; -use Doctrine\Common\Annotations\DocParser; -use Doctrine\Common\Annotations\PhpParser; -use Doctrine\Common\Annotations\AnnotationReader; - -require_once __DIR__ . '/Fixtures/Annotation/Route.php'; -require_once __DIR__ . '/Fixtures/Annotation/Template.php'; -require_once __DIR__ . '/Fixtures/Annotation/Secure.php'; -require_once __DIR__ . '/Fixtures/SingleClassLOC1000.php'; - -class PerformanceTest extends \PHPUnit_Framework_TestCase -{ - /** - * @group performance - */ - public function testCachedReadPerformanceWithInMemory() - { - $reader = new CachedReader(new AnnotationReader(), new ArrayCache()); - $method = $this->getMethod(); - - $time = microtime(true); - for ($i=0,$c=500; $i<$c; $i++) { - $reader->getMethodAnnotations($method); - } - $time = microtime(true) - $time; - - $this->printResults('cached reader (in-memory)', $time, $c); - } - - /** - * @group performance - */ - public function testCachedReadPerformanceWithFileCache() - { - $method = $this->getMethod(); - - // prime cache - $reader = new FileCacheReader(new AnnotationReader(), sys_get_temp_dir()); - $reader->getMethodAnnotations($method); - - $time = microtime(true); - for ($i=0,$c=500; $i<$c; $i++) { - $reader = new FileCacheReader(new AnnotationReader(), sys_get_temp_dir()); - $reader->getMethodAnnotations($method); - clearstatcache(); - } - $time = microtime(true) - $time; - - $this->printResults('cached reader (file)', $time, $c); - } - - /** - * @group performance - */ - public function testReadPerformance() - { - $method = $this->getMethod(); - - $time = microtime(true); - for ($i=0,$c=150; $i<$c; $i++) { - $reader = new AnnotationReader(); - $reader->getMethodAnnotations($method); - } - $time = microtime(true) - $time; - - $this->printResults('reader', $time, $c); - } - - /** - * @group performance - */ - public function testDocParsePerformance() - { - $imports = array( - 'ignorephpdoc' => 'Annotations\Annotation\IgnorePhpDoc', - 'ignoreannotation' => 'Annotations\Annotation\IgnoreAnnotation', - 'route' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route', - 'template' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template', - '__NAMESPACE__' => 'Doctrine\Tests\Common\Annotations\Fixtures', - ); - $ignored = array( - 'access', 'author', 'copyright', 'deprecated', 'example', 'ignore', - 'internal', 'link', 'see', 'since', 'tutorial', 'version', 'package', - 'subpackage', 'name', 'global', 'param', 'return', 'staticvar', - 'static', 'var', 'throws', 'inheritdoc', - ); - - $method = $this->getMethod(); - $methodComment = $method->getDocComment(); - $classComment = $method->getDeclaringClass()->getDocComment(); - - $time = microtime(true); - for ($i=0,$c=200; $i<$c; $i++) { - $parser = new DocParser(); - $parser->setImports($imports); - $parser->setIgnoredAnnotationNames($ignored); - $parser->setIgnoreNotImportedAnnotations(true); - - $parser->parse($methodComment); - $parser->parse($classComment); - } - $time = microtime(true) - $time; - - $this->printResults('doc-parser', $time, $c); - } - - /** - * @group performance - */ - public function testDocLexerPerformance() - { - $method = $this->getMethod(); - $methodComment = $method->getDocComment(); - $classComment = $method->getDeclaringClass()->getDocComment(); - - $time = microtime(true); - for ($i=0,$c=500; $i<$c; $i++) { - $lexer = new DocLexer(); - $lexer->setInput($methodComment); - $lexer->setInput($classComment); - } - $time = microtime(true) - $time; - - $this->printResults('doc-lexer', $time, $c); - } - - /** - * @group performance - */ - public function testPhpParserPerformanceWithShortCut() - { - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\NamespacedSingleClassLOC1000'); - - $time = microtime(true); - for ($i=0,$c=500; $i<$c; $i++) { - $parser = new PhpParser(); - $parser->parseClass($class); - } - $time = microtime(true) - $time; - - $this->printResults('doc-parser-with-short-cut', $time, $c); - } - - /** - * @group performance - */ - public function testPhpParserPerformanceWithoutShortCut() - { - $class = new \ReflectionClass('SingleClassLOC1000'); - - $time = microtime(true); - for ($i=0,$c=500; $i<$c; $i++) { - $parser = new PhpParser(); - $parser->parseClass($class); - } - $time = microtime(true) - $time; - - $this->printResults('doc-parser-without-short-cut', $time, $c); - } - - private function getMethod() - { - return new \ReflectionMethod('Doctrine\Tests\Common\Annotations\Fixtures\Controller', 'helloAction'); - } - - private function printResults($test, $time, $iterations) - { - if (0 == $iterations) { - throw new \InvalidArgumentException('$iterations cannot be zero.'); - } - - $title = $test." results:\n"; - $iterationsText = sprintf("Iterations: %d\n", $iterations); - $totalTime = sprintf("Total Time: %.3f s\n", $time); - $iterationTime = sprintf("Time per iteration: %.3f ms\n", $time/$iterations * 1000); - - $max = max(strlen($title), strlen($iterationTime)) - 1; - - echo "\n".str_repeat('-', $max)."\n"; - echo $title; - echo str_repeat('=', $max)."\n"; - echo $iterationsText; - echo $totalTime; - echo $iterationTime; - echo str_repeat('-', $max)."\n"; - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PhpParserTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PhpParserTest.php deleted file mode 100644 index dc01f8b08a99..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/PhpParserTest.php +++ /dev/null @@ -1,207 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use ReflectionClass; -use Doctrine\Common\Annotations\PhpParser; - -require_once __DIR__.'/Fixtures/NonNamespacedClass.php'; -require_once __DIR__.'/Fixtures/GlobalNamespacesPerFileWithClassAsFirst.php'; -require_once __DIR__.'/Fixtures/GlobalNamespacesPerFileWithClassAsLast.php'; - -class PhpParserTest extends \PHPUnit_Framework_TestCase -{ - public function testParseClassWithMultipleClassesInFile() - { - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\MultipleClassesInFile'); - $parser = new PhpParser(); - - $this->assertEquals(array( - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - ), $parser->parseClass($class)); - } - - public function testParseClassWithMultipleImportsInUseStatement() - { - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\MultipleImportsInUseStatement'); - $parser = new PhpParser(); - - $this->assertEquals(array( - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - ), $parser->parseClass($class)); - } - - public function testParseClassWhenNotUserDefined() - { - $parser = new PhpParser(); - $this->assertEquals(array(), $parser->parseClass(new \ReflectionClass('\stdClass'))); - } - - public function testClassFileDoesNotExist() - { - $class = $this->getMockBuilder('\ReflectionClass') - ->disableOriginalConstructor() - ->getMock(); - $class->expects($this->once()) - ->method('getFilename') - ->will($this->returnValue('/valid/class/Fake.php(35) : eval()d code')); - - $parser = new PhpParser(); - $this->assertEquals(array(), $parser->parseClass($class)); - } - - public function testParseClassWhenClassIsNotNamespaced() - { - $parser = new PhpParser(); - $class = new ReflectionClass('\AnnotationsTestsFixturesNonNamespacedClass'); - - $this->assertEquals(array( - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - public function testParseClassWhenClassIsInterface() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\TestInterface'); - - $this->assertEquals(array( - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - ), $parser->parseClass($class)); - } - - public function testClassWithFullyQualifiedUseStatements() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\ClassWithFullyQualifiedUseStatements'); - - $this->assertEquals(array( - 'secure' => '\\' . __NAMESPACE__ . '\Fixtures\Annotation\Secure', - 'route' => '\\' . __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => '\\' . __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - public function testNamespaceAndClassCommentedOut() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\NamespaceAndClassCommentedOut'); - - $this->assertEquals(array( - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - public function testEqualNamespacesPerFileWithClassAsFirst() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\EqualNamespacesPerFileWithClassAsFirst'); - - $this->assertEquals(array( - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - ), $parser->parseClass($class)); - } - - public function testEqualNamespacesPerFileWithClassAsLast() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\EqualNamespacesPerFileWithClassAsLast'); - - $this->assertEquals(array( - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - public function testDifferentNamespacesPerFileWithClassAsFirst() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\DifferentNamespacesPerFileWithClassAsFirst'); - - $this->assertEquals(array( - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - ), $parser->parseClass($class)); - } - - public function testDifferentNamespacesPerFileWithClassAsLast() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\DifferentNamespacesPerFileWithClassAsLast'); - - $this->assertEquals(array( - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - public function testGlobalNamespacesPerFileWithClassAsFirst() - { - $parser = new PhpParser(); - $class = new \ReflectionClass('\GlobalNamespacesPerFileWithClassAsFirst'); - - $this->assertEquals(array( - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - ), $parser->parseClass($class)); - } - - public function testGlobalNamespacesPerFileWithClassAsLast() - { - $parser = new PhpParser(); - $class = new ReflectionClass('\GlobalNamespacesPerFileWithClassAsLast'); - - $this->assertEquals(array( - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - public function testNamespaceWithClosureDeclaration() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\NamespaceWithClosureDeclaration'); - - $this->assertEquals(array( - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - public function testIfPointerResetsOnMultipleParsingTries() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\NamespaceWithClosureDeclaration'); - - $this->assertEquals(array( - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - - $this->assertEquals(array( - 'secure' => __NAMESPACE__ . '\Fixtures\Annotation\Secure', - 'route' => __NAMESPACE__ . '\Fixtures\Annotation\Route', - 'template' => __NAMESPACE__ . '\Fixtures\Annotation\Template', - ), $parser->parseClass($class)); - } - - /** - * @group DCOM-97 - * @group regression - */ - public function testClassWithClosure() - { - $parser = new PhpParser(); - $class = new ReflectionClass(__NAMESPACE__ . '\Fixtures\ClassWithClosure'); - - $this->assertEquals(array( - 'annotationtargetall' => __NAMESPACE__ . '\Fixtures\AnnotationTargetAll', - 'annotationtargetannotation' => __NAMESPACE__ . '\Fixtures\AnnotationTargetAnnotation', - ), $parser->parseClass($class)); - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/SimpleAnnotationReaderTest.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/SimpleAnnotationReaderTest.php deleted file mode 100644 index 51b932a617d7..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/SimpleAnnotationReaderTest.php +++ /dev/null @@ -1,102 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations; - -use Doctrine\Common\Annotations\SimpleAnnotationReader; - -class SimpleAnnotationReaderTest extends AbstractReaderTest -{ - /** - * Contrary to the behavior of the default annotation reader, we do just ignore - * these in the simple annotation reader (so, no expected exception here). - */ - public function testImportDetectsNotImportedAnnotation() - { - parent::testImportDetectsNotImportedAnnotation(); - } - - /** - * Contrary to the behavior of the default annotation reader, we do just ignore - * these in the simple annotation reader (so, no expected exception here). - */ - public function testImportDetectsNonExistentAnnotation() - { - parent::testImportDetectsNonExistentAnnotation(); - } - - /** - * Contrary to the behavior of the default annotation reader, we do just ignore - * these in the simple annotation reader (so, no expected exception here). - */ - public function testClassWithInvalidAnnotationTargetAtClassDocBlock() - { - parent::testClassWithInvalidAnnotationTargetAtClassDocBlock(); - } - - /** - * Contrary to the behavior of the default annotation reader, we do just ignore - * these in the simple annotation reader (so, no expected exception here). - */ - public function testClassWithInvalidAnnotationTargetAtPropertyDocBlock() - { - parent::testClassWithInvalidAnnotationTargetAtPropertyDocBlock(); - } - - /** - * Contrary to the behavior of the default annotation reader, we do just ignore - * these in the simple annotation reader (so, no expected exception here). - */ - public function testClassWithInvalidNestedAnnotationTargetAtPropertyDocBlock() - { - parent::testClassWithInvalidNestedAnnotationTargetAtPropertyDocBlock(); - } - - /** - * Contrary to the behavior of the default annotation reader, we do just ignore - * these in the simple annotation reader (so, no expected exception here). - */ - public function testClassWithInvalidAnnotationTargetAtMethodDocBlock() - { - parent::testClassWithInvalidAnnotationTargetAtMethodDocBlock(); - } - - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - */ - public function testInvalidAnnotationUsageButIgnoredClass() - { - parent::testInvalidAnnotationUsageButIgnoredClass(); - } - - public function testIncludeIgnoreAnnotation() - { - $this->markTestSkipped('The simplified annotation reader would always autoload annotations'); - } - - /** - * @group DDC-1660 - * @group regression - * - * Contrary to the behavior of the default annotation reader, @version is not ignored - */ - public function testInvalidAnnotationButIgnored() - { - $reader = $this->getReader(); - $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\ClassDDC1660'); - - $this->assertTrue(class_exists('Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Version')); - $this->assertCount(1, $reader->getClassAnnotations($class)); - $this->assertCount(1, $reader->getMethodAnnotations($class->getMethod('bar'))); - $this->assertCount(1, $reader->getPropertyAnnotations($class->getProperty('foo'))); - } - - protected function getReader() - { - $reader = new SimpleAnnotationReader(); - $reader->addNamespace(__NAMESPACE__); - $reader->addNamespace(__NAMESPACE__ . '\Fixtures'); - $reader->addNamespace(__NAMESPACE__ . '\Fixtures\Annotation'); - - return $reader; - } -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM55Test.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM55Test.php deleted file mode 100644 index a6159d59afea..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM55Test.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php - -namespace Doctrine\Tests\Common\Annotations\Ticket; - -use Doctrine\Tests\Common\Annotations\Fixtures\Controller; -use Doctrine\Common\Annotations\AnnotationReader; - -/** - * @group - */ -class DCOM55Test extends \PHPUnit_Framework_TestCase -{ - /** - * @expectedException \Doctrine\Common\Annotations\AnnotationException - * @expectedExceptionMessage [Semantical Error] The class "Doctrine\Tests\Common\Annotations\Fixtures\Controller" is not annotated with @Annotation. Are you sure this class can be used as annotation? If so, then you need to add @Annotation to the _class_ doc comment of "Doctrine\Tests\Common\Annotations\Fixtures\Controller". If it is indeed no annotation, then you need to add @IgnoreAnnotation("Controller") to the _class_ doc comment of class Doctrine\Tests\Common\Annotations\Ticket\Dummy. - */ - public function testIssue() - { - $class = new \ReflectionClass(__NAMESPACE__ . '\\Dummy'); - $reader = new AnnotationReader(); - $reader->getClassAnnotations($class); - } - - public function testAnnotation() - { - $class = new \ReflectionClass(__NAMESPACE__ . '\\DCOM55Consumer'); - $reader = new AnnotationReader(); - $annots = $reader->getClassAnnotations($class); - - $this->assertEquals(1, count($annots)); - $this->assertInstanceOf(__NAMESPACE__.'\\DCOM55Annotation', $annots[0]); - } - - public function testParseAnnotationDocblocks() - { - $class = new \ReflectionClass(__NAMESPACE__ . '\\DCOM55Annotation'); - $reader = new AnnotationReader(); - $annots = $reader->getClassAnnotations($class); - - $this->assertEquals(0, count($annots)); - } -} - -/** - * @Controller - */ -class Dummy -{ - -} - -/** - * @Annotation - */ -class DCOM55Annotation -{ - -} - -/** - * @DCOM55Annotation - */ -class DCOM55Consumer -{ - -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Entity.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Entity.php deleted file mode 100644 index 708bcc992b05..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Entity.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -// Some class named Entity in the global namespace -/** - * @Annotation - */ -class Entity -{ -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Test.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Test.php deleted file mode 100644 index 769ab386258f..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Ticket/DCOM58Test.php +++ /dev/null @@ -1,116 +0,0 @@ -<?php -namespace Doctrine\Tests\Common\Annotations\Ticket; - -use Doctrine\Common\Annotations\AnnotationReader; -use Doctrine\Common\Annotations\DocParser; -use Doctrine\Common\Annotations\SimpleAnnotationReader; - -//Some class named Entity in the global namespace -include __DIR__ .'/DCOM58Entity.php'; - -/** - * @group DCOM58 - */ -class DCOM58Test extends \PHPUnit_Framework_TestCase -{ - public function testIssue() - { - $reader = new AnnotationReader(); - $result = $reader->getClassAnnotations(new \ReflectionClass(__NAMESPACE__."\MappedClass")); - - foreach ($result as $annot) { - $classAnnotations[get_class($annot)] = $annot; - } - - $this->assertTrue(!isset($classAnnotations['']), 'Class "xxx" is not a valid entity or mapped super class.'); - } - - public function testIssueGlobalNamespace() - { - $docblock = "@Entity"; - $parser = new DocParser(); - $parser->setImports(array( - "__NAMESPACE__" =>"Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Mapping" - )); - - $annots = $parser->parse($docblock); - - $this->assertEquals(1, count($annots)); - $this->assertInstanceOf("Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Mapping\Entity", $annots[0]); - } - - public function testIssueNamespaces() - { - $docblock = "@Entity"; - $parser = new DocParser(); - $parser->addNamespace("Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM"); - - $annots = $parser->parse($docblock); - - $this->assertEquals(1, count($annots)); - $this->assertInstanceOf("Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Entity", $annots[0]); - } - - public function testIssueMultipleNamespaces() - { - $docblock = "@Entity"; - $parser = new DocParser(); - $parser->addNamespace("Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Mapping"); - $parser->addNamespace("Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM"); - - $annots = $parser->parse($docblock); - - $this->assertEquals(1, count($annots)); - $this->assertInstanceOf("Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Mapping\Entity", $annots[0]); - } - - public function testIssueWithNamespacesOrImports() - { - $docblock = "@Entity"; - $parser = new DocParser(); - $annots = $parser->parse($docblock); - - $this->assertEquals(1, count($annots)); - $this->assertInstanceOf("Entity", $annots[0]); - $this->assertEquals(1, count($annots)); - } - - - public function testIssueSimpleAnnotationReader() - { - $reader = new SimpleAnnotationReader(); - $reader->addNamespace('Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Mapping'); - $annots = $reader->getClassAnnotations(new \ReflectionClass(__NAMESPACE__."\MappedClass")); - - $this->assertEquals(1, count($annots)); - $this->assertInstanceOf("Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Mapping\Entity", $annots[0]); - } - -} - -/** - * @Entity - */ -class MappedClass -{ - -} - - -namespace Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM\Mapping; -/** -* @Annotation -*/ -class Entity -{ - -} - -namespace Doctrine\Tests\Common\Annotations\Ticket\Doctrine\ORM; -/** -* @Annotation -*/ -class Entity -{ - -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/TopLevelAnnotation.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/TopLevelAnnotation.php deleted file mode 100644 index ff3ca376bca5..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/TopLevelAnnotation.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php - -use Doctrine\Common\Annotations\Annotation; - -/** @Annotation */ -class TopLevelAnnotation extends Annotation -{ -} diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/DoctrineTestCase.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/DoctrineTestCase.php deleted file mode 100644 index e8323d294092..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/DoctrineTestCase.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -namespace Doctrine\Tests; - -/** - * Base testcase class for all Doctrine testcases. - */ -abstract class DoctrineTestCase extends \PHPUnit_Framework_TestCase -{ -} \ No newline at end of file diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/TestInit.php b/core/vendor/doctrine/annotations/tests/Doctrine/Tests/TestInit.php deleted file mode 100644 index e433ae187267..000000000000 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/TestInit.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php -/* - * This file bootstraps the test environment. - */ -error_reporting(E_ALL | E_STRICT); - -// register silently failing autoloader -spl_autoload_register(function($class) -{ - if (0 === strpos($class, 'Doctrine\Tests\\')) { - $path = __DIR__.'/../../'.strtr($class, '\\', '/').'.php'; - if (is_file($path) && is_readable($path)) { - require_once $path; - - return true; - } - } -}); - -require_once __DIR__ . "/../../../vendor/autoload.php"; - -\Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace( - 'Doctrine\Tests\Common\Annotations\Fixtures', __DIR__ . '/../../' -); diff --git a/core/vendor/doctrine/cache/.travis.yml b/core/vendor/doctrine/cache/.travis.yml index 28ec9b9b095e..2952a4817bd9 100644 --- a/core/vendor/doctrine/cache/.travis.yml +++ b/core/vendor/doctrine/cache/.travis.yml @@ -13,13 +13,15 @@ services: - memcached - redis-server -before_script: +before_install: - sh -c "if [ $TRAVIS_PHP_VERSION != 'hhvm' ]; then pecl install riak-beta; fi" - sh -c "if [[ $TRAVIS_PHP_VERSION != 'hhvm' && `php-config --vernum` -ge 50500 ]] ; then pecl config-set preferred_state beta; printf "yes\n" | pecl install apcu ; else echo 'extension="apc.so"' >> ./tests/travis/php.ini ;fi" - composer self-update - - composer --prefer-source --dev install - sh -c "if [ $TRAVIS_PHP_VERSION != 'hhvm' ]; then phpenv config-add ./tests/travis/php.ini; fi" +install: + - composer --prefer-source --dev install + script: - ./vendor/bin/phpunit -c ./tests/travis/phpunit.travis.xml -v diff --git a/core/vendor/doctrine/cache/UPGRADE.md b/core/vendor/doctrine/cache/UPGRADE.md new file mode 100644 index 000000000000..e1f8a503eef6 --- /dev/null +++ b/core/vendor/doctrine/cache/UPGRADE.md @@ -0,0 +1,16 @@ +# Upgrade to 1.4 + +## Minor BC Break: `Doctrine\Common\Cache\FileCache#$extension` is now `private`. + +If you need to override the value of `Doctrine\Common\Cache\FileCache#$extension`, then use the +second parameter of `Doctrine\Common\Cache\FileCache#__construct()` instead of overriding +the property in your own implementation. + +## Minor BC Break: file based caches paths changed + +`Doctrine\Common\Cache\FileCache`, `Doctrine\Common\Cache\PhpFileCache` and +`Doctrine\Common\Cache\FilesystemCache` are using a different cache paths structure. + +If you rely on warmed up caches for deployments, consider that caches generated +with `doctrine/cache` `<1.4` are not compatible with the new directory structure, +and will be ignored. diff --git a/core/vendor/doctrine/cache/composer.json b/core/vendor/doctrine/cache/composer.json index 25b9de8f5309..f3caa7a883ac 100644 --- a/core/vendor/doctrine/cache/composer.json +++ b/core/vendor/doctrine/cache/composer.json @@ -17,7 +17,8 @@ }, "require-dev": { "phpunit/phpunit": ">=3.7", - "satooshi/php-coveralls": "~0.6" + "satooshi/php-coveralls": "~0.6", + "predis/predis": "~1.0" }, "conflict": { "doctrine/common": ">2.2,<2.4" @@ -27,7 +28,7 @@ }, "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.5.x-dev" } } } diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php index 1f19db675b20..abd5e71c2a53 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php @@ -72,12 +72,20 @@ protected function doFlush() return apc_clear_cache() && apc_clear_cache('user'); } + /** + * {@inheritdoc} + */ + protected function doFetchMultiple(array $keys) + { + return apc_fetch($keys); + } + /** * {@inheritdoc} */ protected function doGetStats() { - $info = apc_cache_info(); + $info = apc_cache_info('', true); $sma = apc_sma_info(); // @TODO - Temporary fix @see https://github.com/krakjoe/apcu/pull/42 diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php index e8243775cd06..31a0729011f6 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php @@ -50,6 +50,7 @@ protected function doFetch($id) */ protected function doContains($id) { + // isset() is required for performance optimizations, to avoid unnecessary function calls to array_key_exists. return isset($this->data[$id]) || array_key_exists($id, $this->data); } diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php index 0785f263b7ab..205a12327ef9 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php @@ -29,6 +29,7 @@ * @author Jonathan Wage <jonwage@gmail.com> * @author Roman Borschel <roman@code-factory.org> * @author Fabio B. Silva <fabio.bat.silva@gmail.com> + * @author Kévin Dunglas <dunglas@gmail.com> */ interface Cache { @@ -51,7 +52,7 @@ interface Cache * * @return mixed The cached data or FALSE, if no cache entry exists for the given id. */ - function fetch($id); + public function fetch($id); /** * Tests if an entry exists in the cache. @@ -60,7 +61,7 @@ function fetch($id); * * @return boolean TRUE if a cache entry exists for the given cache id, FALSE otherwise. */ - function contains($id); + public function contains($id); /** * Puts data into the cache. @@ -72,7 +73,7 @@ function contains($id); * * @return boolean TRUE if the entry was successfully stored in the cache, FALSE otherwise. */ - function save($id, $data, $lifeTime = 0); + public function save($id, $data, $lifeTime = 0); /** * Deletes a cache entry. @@ -81,7 +82,7 @@ function save($id, $data, $lifeTime = 0); * * @return boolean TRUE if the cache entry was successfully deleted, FALSE otherwise. */ - function delete($id); + public function delete($id); /** * Retrieves cached information from the data store. @@ -107,5 +108,5 @@ function delete($id); * * @return array|null An associative array with server's statistics if available, NULL otherwise. */ - function getStats(); + public function getStats(); } diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php index f896bc70823b..a172a4ceba07 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php @@ -29,7 +29,7 @@ * @author Roman Borschel <roman@code-factory.org> * @author Fabio B. Silva <fabio.bat.silva@gmail.com> */ -abstract class CacheProvider implements Cache +abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, MultiGetCache { const DOCTRINE_NAMESPACE_CACHEKEY = 'DoctrineNamespaceCacheKey[%s]'; @@ -78,6 +78,27 @@ public function fetch($id) return $this->doFetch($this->getNamespacedId($id)); } + /** + * {@inheritdoc} + */ + public function fetchMultiple(array $keys) + { + // note: the array_combine() is in place to keep an association between our $keys and the $namespacedKeys + $namespacedKeys = array_combine($keys, array_map(array($this, 'getNamespacedId'), $keys)); + $items = $this->doFetchMultiple($namespacedKeys); + $foundItems = array(); + + // no internal array function supports this sort of mapping: needs to be iterative + // this filters and combines keys in one pass + foreach ($namespacedKeys as $requestedKey => $namespacedKey) { + if (isset($items[$namespacedKey])) { + $foundItems[$requestedKey] = $items[$namespacedKey]; + } + } + + return $foundItems; + } + /** * {@inheritdoc} */ @@ -111,9 +132,7 @@ public function getStats() } /** - * Flushes all cache entries. - * - * @return boolean TRUE if the cache entries were successfully flushed, FALSE otherwise. + * {@inheritDoc} */ public function flushAll() { @@ -121,9 +140,7 @@ public function flushAll() } /** - * Deletes all cache entries. - * - * @return boolean TRUE if the cache entries were successfully deleted, FALSE otherwise. + * {@inheritDoc} */ public function deleteAll() { @@ -184,12 +201,31 @@ private function getNamespaceVersion() return $this->namespaceVersion; } + /** + * Default implementation of doFetchMultiple. Each driver that supports multi-get should owerwrite it. + * + * @param array $keys Array of keys to retrieve from cache + * @return array Array of values retrieved for the given keys. + */ + protected function doFetchMultiple(array $keys) + { + $returnValues = array(); + + foreach ($keys as $index => $key) { + if (false !== ($item = $this->doFetch($key))) { + $returnValues[$key] = $item; + } + } + + return $returnValues; + } + /** * Fetches an entry from the cache. * * @param string $id The id of the cache entry to fetch. * - * @return string|boolean The cached data or FALSE, if no cache entry exists for the given id. + * @return mixed|boolean The cached data or FALSE, if no cache entry exists for the given id. */ abstract protected function doFetch($id); @@ -226,7 +262,7 @@ abstract protected function doDelete($id); /** * Flushes all cache entries. * - * @return boolean TRUE if the cache entry was successfully deleted, FALSE otherwise. + * @return boolean TRUE if the cache entries were successfully flushed, FALSE otherwise. */ abstract protected function doFlush(); diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php new file mode 100644 index 000000000000..96c9b5479fbe --- /dev/null +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php @@ -0,0 +1,147 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace Doctrine\Common\Cache; + +/** + * Cache provider that allows to easily chain multiple cache providers + * + * @author Michaël Gallego <mic.gallego@gmail.com> + */ +class ChainCache extends CacheProvider +{ + /** + * @var CacheProvider[] + */ + private $cacheProviders = array(); + + /** + * Constructor + * + * @param CacheProvider[] $cacheProviders + */ + public function __construct($cacheProviders = array()) + { + $this->cacheProviders = $cacheProviders; + } + + /** + * {@inheritDoc} + */ + public function setNamespace($namespace) + { + parent::setNamespace($namespace); + + foreach ($this->cacheProviders as $cacheProvider) { + $cacheProvider->setNamespace($namespace); + } + } + + /** + * {@inheritDoc} + */ + protected function doFetch($id) + { + foreach ($this->cacheProviders as $key => $cacheProvider) { + if ($cacheProvider->doContains($id)) { + $value = $cacheProvider->doFetch($id); + + // We populate all the previous cache layers (that are assumed to be faster) + for ($subKey = $key - 1 ; $subKey >= 0 ; $subKey--) { + $this->cacheProviders[$subKey]->doSave($id, $value); + } + + return $value; + } + } + + return false; + } + + /** + * {@inheritDoc} + */ + protected function doContains($id) + { + foreach ($this->cacheProviders as $cacheProvider) { + if ($cacheProvider->doContains($id)) { + return true; + } + } + + return false; + } + + /** + * {@inheritDoc} + */ + protected function doSave($id, $data, $lifeTime = 0) + { + $stored = true; + + foreach ($this->cacheProviders as $cacheProvider) { + $stored = $cacheProvider->doSave($id, $data, $lifeTime) && $stored; + } + + return $stored; + } + + /** + * {@inheritDoc} + */ + protected function doDelete($id) + { + $deleted = true; + + foreach ($this->cacheProviders as $cacheProvider) { + $deleted = $cacheProvider->doDelete($id) && $deleted; + } + + return $deleted; + } + + /** + * {@inheritDoc} + */ + protected function doFlush() + { + $flushed = true; + + foreach ($this->cacheProviders as $cacheProvider) { + $flushed = $cacheProvider->doFlush() && $flushed; + } + + return $flushed; + } + + /** + * {@inheritDoc} + */ + protected function doGetStats() + { + // We return all the stats from all adapters + $stats = array(); + + foreach ($this->cacheProviders as $cacheProvider) { + $stats[] = $cacheProvider->doGetStats(); + } + + return $stats; + } +} diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php new file mode 100644 index 000000000000..d7b4358debac --- /dev/null +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php @@ -0,0 +1,40 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace Doctrine\Common\Cache; + +/** + * Interface for cache that can be flushed. + * + * Intended to be used for partial clearing of a cache namespace. For a more + * global "flushing", see {@see FlushableCache}. + * + * @link www.doctrine-project.org + * @since 1.4 + * @author Adirelle <adirelle@gmail.com> + */ +interface ClearableCache +{ + /** + * Deletes all cache entries in the current cache namespace. + * + * @return boolean TRUE if the cache entries were successfully deleted, FALSE otherwise. + */ + public function deleteAll(); +} diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php index d91d0bc6d6aa..9ad3ce2c0c73 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php @@ -37,21 +37,48 @@ abstract class FileCache extends CacheProvider /** * The cache file extension. * - * @var string|null + * @var string + */ + private $extension; + + /** + * @var string[] regular expressions for replacing disallowed characters in file name */ - protected $extension; + private $disallowedCharacterPatterns = array( + '/\-/', // replaced to disambiguate original `-` and `-` derived from replacements + '/[^a-zA-Z0-9\-_\[\]]/' // also excludes non-ascii chars (not supported, depending on FS) + ); + + /** + * @var string[] replacements for disallowed file characters + */ + private $replacementCharacters = array('__', '-'); + + /** + * @var int + */ + private $umask; /** * Constructor. * - * @param string $directory The cache directory. - * @param string|null $extension The cache file extension. + * @param string $directory The cache directory. + * @param string $extension The cache file extension. * * @throws \InvalidArgumentException */ - public function __construct($directory, $extension = null) + public function __construct($directory, $extension = '', $umask = 0002) { - if ( ! is_dir($directory) && ! @mkdir($directory, 0777, true)) { + // YES, this needs to be *before* createPathIfNeeded() + if ( ! is_int($umask)) { + throw new \InvalidArgumentException(sprintf( + 'The umask parameter is required to be integer, was: %s', + gettype($umask) + )); + } + $this->umask = $umask; + + if ( ! $this->createPathIfNeeded($directory)) { throw new \InvalidArgumentException(sprintf( 'The directory "%s" does not exist and could not be created.', $directory @@ -65,8 +92,9 @@ public function __construct($directory, $extension = null) )); } + // YES, this needs to be *after* createPathIfNeeded() $this->directory = realpath($directory); - $this->extension = $extension ?: $this->extension; + $this->extension = (string) $extension; } /** @@ -96,12 +124,12 @@ public function getExtension() */ protected function getFilename($id) { - $hash = hash('sha256', $id); - $path = implode(str_split($hash, 16), DIRECTORY_SEPARATOR); - $path = $this->directory . DIRECTORY_SEPARATOR . $path; - $id = preg_replace('@[\\\/:"*?<>|]+@', '', $id); - - return $path . DIRECTORY_SEPARATOR . $id . $this->extension; + return $this->directory + . DIRECTORY_SEPARATOR + . implode(str_split(hash('sha256', $id), 2), DIRECTORY_SEPARATOR) + . DIRECTORY_SEPARATOR + . preg_replace($this->disallowedCharacterPatterns, $this->replacementCharacters, $id) + . $this->extension; } /** @@ -145,14 +173,65 @@ protected function doGetStats() ); } + /** + * Create path if needed. + * + * @param string $path + * @return bool TRUE on success or if path already exists, FALSE if path cannot be created. + */ + private function createPathIfNeeded($path) + { + if ( ! is_dir($path)) { + if (false === @mkdir($path, 0777 & (~$this->umask), true) && !is_dir($path)) { + return false; + } + } + + return true; + } + + /** + * Writes a string content to file in an atomic way. + * + * @param string $filename Path to the file where to write the data. + * @param string $content The content to write + * + * @return bool TRUE on success, FALSE if path cannot be created, if path is not writable or an any other error. + */ + protected function writeFile($filename, $content) + { + $filepath = pathinfo($filename, PATHINFO_DIRNAME); + + if ( ! $this->createPathIfNeeded($filepath)) { + return false; + } + + if ( ! is_writable($filepath)) { + return false; + } + + $tmpFile = tempnam($filepath, 'swap'); + @chmod($tmpFile, 0666 & (~$this->umask)); + + if (file_put_contents($tmpFile, $content) !== false) { + if (@rename($tmpFile, $filename)) { + return true; + } + + @unlink($tmpFile); + } + + return false; + } + /** * @return \Iterator */ private function getIterator() { - $pattern = '/^.+\\' . $this->extension . '$/i'; - $iterator = new \RecursiveDirectoryIterator($this->directory); - $iterator = new \RecursiveIteratorIterator($iterator); - return new \RegexIterator($iterator, $pattern); + return new \RegexIterator( + new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->directory)), + '/^.+' . preg_quote($this->extension, '/') . '$/i' + ); } } diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php index 07eda8e87423..29d5e07460c6 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php @@ -32,7 +32,10 @@ class FilesystemCache extends FileCache /** * {@inheritdoc} */ - protected $extension = self::EXTENSION; + public function __construct($directory, $extension = self::EXTENSION, $umask = 0002) + { + parent::__construct($directory, $extension, $umask); + } /** * {@inheritdoc} @@ -100,26 +103,9 @@ protected function doSave($id, $data, $lifeTime = 0) $lifeTime = time() + $lifeTime; } - $data = serialize($data); - $filename = $this->getFilename($id); - $filepath = pathinfo($filename, PATHINFO_DIRNAME); - - if ( ! is_dir($filepath)) { - if (false === @mkdir($filepath, 0777, true) && !is_dir($filepath)) { - return false; - } - } elseif ( ! is_writable($filepath)) { - return false; - } - - $tmpFile = tempnam($filepath, basename($filename)); - - if ((file_put_contents($tmpFile, $lifeTime . PHP_EOL . $data) !== false) && @rename($tmpFile, $filename)) { - @chmod($filename, 0666 & ~umask()); - - return true; - } + $data = serialize($data); + $filename = $this->getFilename($id); - return false; + return $this->writeFile($filename, $lifeTime . PHP_EOL . $data); } } diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php new file mode 100644 index 000000000000..e4e606b17281 --- /dev/null +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php @@ -0,0 +1,37 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace Doctrine\Common\Cache; + +/** + * Interface for cache that can be flushed. + * + * @link www.doctrine-project.org + * @since 1.4 + * @author Adirelle <adirelle@gmail.com> + */ +interface FlushableCache +{ + /** + * Flushes all cache entries, globally. + * + * @return boolean TRUE if the cache entries were successfully flushed, FALSE otherwise. + */ + public function flushAll(); +} diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php index f839a6591832..c5098fd97b86 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php @@ -74,7 +74,11 @@ protected function doFetch($id) */ protected function doContains($id) { - return (bool) $this->memcache->get($id); + $flags = null; + $this->memcache->get($id, $flags); + + //if memcache has changed the value of "flags", it means the value exists + return ($flags !== null); } /** diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php index f7e5500a1c94..040c26c02c7d 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php @@ -69,6 +69,14 @@ protected function doFetch($id) return $this->memcached->get($id); } + /** + * {@inheritdoc} + */ + protected function doFetchMultiple(array $keys) + { + return $this->memcached->getMulti($keys); + } + /** * {@inheritdoc} */ diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php new file mode 100644 index 000000000000..df7146d78efd --- /dev/null +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php @@ -0,0 +1,39 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace Doctrine\Common\Cache; + +/** + * Interface for cache drivers that allows to get many items at once. + * + * @link www.doctrine-project.org + * @since 1.4 + * @author Asmir Mustafic <goetas@gmail.com> + */ +interface MultiGetCache +{ + /** + * Returns an associative array of values for keys is found in cache. + * + * @param string[] $keys Array of keys to retrieve from cache + * @return mixed[] Array of retrieved values, indexed by the specified keys. + * Values that couldn't be retrieved are not contained in this array. + */ + function fetchMultiple(array $keys); +} diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php index f017d833268c..5e7519674e3e 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php @@ -29,24 +29,25 @@ class PhpFileCache extends FileCache { const EXTENSION = '.doctrinecache.php'; - /** + /** * {@inheritdoc} */ - protected $extension = self::EXTENSION; + public function __construct($directory, $extension = self::EXTENSION, $umask = 0002) + { + parent::__construct($directory, $extension, $umask); + } /** * {@inheritdoc} */ protected function doFetch($id) { - $filename = $this->getFilename($id); + $value = $this->includeFileForId($id); - if ( ! is_file($filename)) { + if (! $value) { return false; } - $value = include $filename; - if ($value['lifetime'] !== 0 && $value['lifetime'] < time()) { return false; } @@ -59,14 +60,12 @@ protected function doFetch($id) */ protected function doContains($id) { - $filename = $this->getFilename($id); + $value = $this->includeFileForId($id); - if ( ! is_file($filename)) { + if (! $value) { return false; } - $value = include $filename; - return $value['lifetime'] === 0 || $value['lifetime'] > time(); } @@ -87,12 +86,7 @@ protected function doSave($id, $data, $lifeTime = 0) ); } - $filename = $this->getFilename($id); - $filepath = pathinfo($filename, PATHINFO_DIRNAME); - - if ( ! is_dir($filepath)) { - mkdir($filepath, 0777, true); - } + $filename = $this->getFilename($id); $value = array( 'lifetime' => $lifeTime, @@ -102,6 +96,25 @@ protected function doSave($id, $data, $lifeTime = 0) $value = var_export($value, true); $code = sprintf('<?php return %s;', $value); - return file_put_contents($filename, $code) !== false; + return $this->writeFile($filename, $code); + } + + /** + * @param string $id + * + * @return array|false + */ + private function includeFileForId($id) + { + $fileName = $this->getFilename($id); + + // note: error suppression is still faster than `file_exists`, `is_file` and `is_readable` + $value = @include $fileName; + + if (! isset($value['lifetime'])) { + return false; + } + + return $value; } } diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php new file mode 100644 index 000000000000..823477e6c401 --- /dev/null +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php @@ -0,0 +1,107 @@ +<?php + +namespace Doctrine\Common\Cache; + +use Predis\Client; + +/** + * Predis cache provider. + * + * @author othillo <othillo@othillo.nl> + */ +class PredisCache extends CacheProvider +{ + /** + * @var Client + */ + private $client; + + /** + * @param Client $client + * + * @return void + */ + public function __construct(Client $client) + { + $this->client = $client; + } + + /** + * {@inheritdoc} + */ + protected function doFetch($id) + { + $result = $this->client->get($id); + if (null === $result) { + return false; + } + + return unserialize($result); + } + + /** + * {@inheritdoc} + */ + protected function doFetchMultiple(array $keys) + { + $fetchedItems = call_user_func_array(array($this->client, 'mget'), $keys); + + return array_filter(array_combine($keys, array_map('unserialize', $fetchedItems))); + } + /** + * {@inheritdoc} + */ + protected function doContains($id) + { + return $this->client->exists($id); + } + + /** + * {@inheritdoc} + */ + protected function doSave($id, $data, $lifeTime = 0) + { + $data = serialize($data); + if ($lifeTime > 0) { + $response = $this->client->setex($id, $lifeTime, $data); + } else { + $response = $this->client->set($id, $data); + } + + return $response === true || $response == 'OK'; + } + + /** + * {@inheritdoc} + */ + protected function doDelete($id) + { + return $this->client->del($id) > 0; + } + + /** + * {@inheritdoc} + */ + protected function doFlush() + { + $response = $this->client->flushdb(); + + return $response === true || $response == 'OK'; + } + + /** + * {@inheritdoc} + */ + protected function doGetStats() + { + $info = $this->client->info(); + + return array( + Cache::STATS_HITS => $info['Stats']['keyspace_hits'], + Cache::STATS_MISSES => $info['Stats']['keyspace_misses'], + Cache::STATS_UPTIME => $info['Server']['uptime_in_seconds'], + Cache::STATS_MEMORY_USAGE => $info['Memory']['used_memory'], + Cache::STATS_MEMORY_AVAILABLE => false + ); + } +} diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php index 8d00a3b9562e..50d7c917e07b 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php @@ -66,6 +66,14 @@ protected function doFetch($id) return $this->redis->get($id); } + /** + * {@inheritdoc} + */ + protected function doFetchMultiple(array $keys) + { + return array_filter(array_combine($keys, $this->redis->mget($keys))); + } + /** * {@inheritdoc} */ @@ -109,8 +117,8 @@ protected function doGetStats() { $info = $this->redis->info(); return array( - Cache::STATS_HITS => false, - Cache::STATS_MISSES => false, + Cache::STATS_HITS => $info['keyspace_hits'], + Cache::STATS_MISSES => $info['keyspace_misses'], Cache::STATS_UPTIME => $info['uptime_in_seconds'], Cache::STATS_MEMORY_USAGE => $info['used_memory'], Cache::STATS_MEMORY_AVAILABLE => false @@ -126,6 +134,9 @@ protected function doGetStats() */ protected function getSerializerValue() { + if (defined('HHVM_VERSION')) { + return Redis::SERIALIZER_PHP; + } return defined('Redis::SERIALIZER_IGBINARY') ? Redis::SERIALIZER_IGBINARY : Redis::SERIALIZER_PHP; } } diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php new file mode 100644 index 000000000000..b12978c49a1c --- /dev/null +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php @@ -0,0 +1,219 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace Doctrine\Common\Cache; + +use SQLite3; +use SQLite3Result; + +/** + * SQLite3 cache provider. + * + * @since 1.4 + * @author Jake Bell <jake@theunraveler.com> + */ +class SQLite3Cache extends CacheProvider +{ + /** + * The ID field will store the cache key. + */ + const ID_FIELD = 'k'; + + /** + * The data field will store the serialized PHP value. + */ + const DATA_FIELD = 'd'; + + /** + * The expiration field will store a date value indicating when the + * cache entry should expire. + */ + const EXPIRATION_FIELD = 'e'; + + /** + * @var SQLite3 + */ + private $sqlite; + + /** + * @var string + */ + private $table; + + /** + * Constructor. + * + * Calling the constructor will ensure that the database file and table + * exist and will create both if they don't. + * + * @param SQLite3 $sqlite + * @param string $table + */ + public function __construct(SQLite3 $sqlite, $table) + { + $this->sqlite = $sqlite; + $this->table = (string) $table; + + list($id, $data, $exp) = $this->getFields(); + + return $this->sqlite->exec(sprintf( + 'CREATE TABLE IF NOT EXISTS %s(%s TEXT PRIMARY KEY NOT NULL, %s BLOB, %s INTEGER)', + $table, + $id, + $data, + $exp + )); + } + + /** + * {@inheritdoc} + */ + protected function doFetch($id) + { + if ($item = $this->findById($id)) { + return unserialize($item[self::DATA_FIELD]); + } + + return false; + } + + /** + * {@inheritdoc} + */ + protected function doContains($id) + { + return (boolean) $this->findById($id, false); + } + + /** + * {@inheritdoc} + */ + protected function doSave($id, $data, $lifeTime = 0) + { + $statement = $this->sqlite->prepare(sprintf( + 'INSERT OR REPLACE INTO %s (%s) VALUES (:id, :data, :expire)', + $this->table, + implode(',', $this->getFields()) + )); + + $statement->bindValue(':id', $id); + $statement->bindValue(':data', serialize($data), SQLITE3_BLOB); + $statement->bindValue(':expire', $lifeTime > 0 ? time() + $lifeTime : null); + + return $statement->execute() instanceof SQLite3Result; + } + + /** + * {@inheritdoc} + */ + protected function doDelete($id) + { + list($idField) = $this->getFields(); + + $statement = $this->sqlite->prepare(sprintf( + 'DELETE FROM %s WHERE %s = :id', + $this->table, + $idField + )); + + $statement->bindValue(':id', $id); + + return $statement->execute() instanceof SQLite3Result; + } + + /** + * {@inheritdoc} + */ + protected function doFlush() + { + return $this->sqlite->exec(sprintf('DELETE FROM %s', $this->table)); + } + + /** + * {@inheritdoc} + */ + protected function doGetStats() + { + // no-op. + } + + /** + * Find a single row by ID. + * + * @param mixed $id + * @param boolean $includeData + * + * @return array|null + */ + private function findById($id, $includeData = true) + { + list($idField) = $fields = $this->getFields(); + + if (!$includeData) { + $key = array_search(static::DATA_FIELD, $fields); + unset($fields[$key]); + } + + $statement = $this->sqlite->prepare(sprintf( + 'SELECT %s FROM %s WHERE %s = :id LIMIT 1', + implode(',', $fields), + $this->table, + $idField + )); + + $statement->bindValue(':id', $id, SQLITE3_TEXT); + + $item = $statement->execute()->fetchArray(SQLITE3_ASSOC); + + if ($item === false) { + return null; + } + + if ($this->isExpired($item)) { + $this->doDelete($id); + + return null; + } + + return $item; + } + + /** + * Gets an array of the fields in our table. + * + * @return array + */ + private function getFields() + { + return array(static::ID_FIELD, static::DATA_FIELD, static::EXPIRATION_FIELD); + } + + /** + * Check if the item is expired. + * + * @param array $item + * @return boolean + */ + private function isExpired(array $item) + { + return isset($item[static::EXPIRATION_FIELD]) && + $item[self::EXPIRATION_FIELD] !== null && + $item[self::EXPIRATION_FIELD] < time(); + } +} diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php new file mode 100644 index 000000000000..65e8456faad0 --- /dev/null +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php @@ -0,0 +1,78 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace Doctrine\Common\Cache; + +/** + * Void cache driver. The cache could be of use in tests where you don`t need to cache anything. + * + * @link www.doctrine-project.org + * @since 1.5 + * @author Kotlyar Maksim <kotlyar.maksim@gmail.com> + */ +class VoidCache extends CacheProvider +{ + /** + * {@inheritDoc} + */ + protected function doFetch($id) + { + return false; + } + + /** + * {@inheritDoc} + */ + protected function doContains($id) + { + return false; + } + + /** + * {@inheritDoc} + */ + protected function doSave($id, $data, $lifeTime = 0) + { + return true; + } + + /** + * {@inheritDoc} + */ + protected function doDelete($id) + { + return true; + } + + /** + * {@inheritDoc} + */ + protected function doFlush() + { + return true; + } + + /** + * {@inheritDoc} + */ + protected function doGetStats() + { + return; + } +} diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php index 833b02a89bfe..a2c4ca5662e2 100644 --- a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php +++ b/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php @@ -71,7 +71,7 @@ protected function doFlush() { $this->checkAuthorization(); - xcache_clear_cache(XC_TYPE_VAR, 0); + xcache_clear_cache(XC_TYPE_VAR); return true; } @@ -86,7 +86,10 @@ protected function doFlush() protected function checkAuthorization() { if (ini_get('xcache.admin.enable_auth')) { - throw new \BadMethodCallException('To use all features of \Doctrine\Common\Cache\XcacheCache, you must set "xcache.admin.enable_auth" to "Off" in your php.ini.'); + throw new \BadMethodCallException( + 'To use all features of \Doctrine\Common\Cache\XcacheCache, ' + . 'you must set "xcache.admin.enable_auth" to "Off" in your php.ini.' + ); } } diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php index 59ca4dc77579..3c7f619b6475 100644 --- a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php @@ -29,6 +29,59 @@ public function testBasicCrudOperations($value) $this->assertFalse($cache->contains('key')); } + public function testFetchMulti() + { + $cache = $this->_getCacheDriver(); + + $cache->deleteAll(); + + // Test saving some values, checking if it exists, and fetching it back with multiGet + $this->assertTrue($cache->save('key1', 'value1')); + $this->assertTrue($cache->save('key2', 'value2')); + + $this->assertEquals( + array('key1' => 'value1', 'key2' => 'value2'), + $cache->fetchMultiple(array('key1', 'key2')) + ); + $this->assertEquals( + array('key1' => 'value1', 'key2' => 'value2'), + $cache->fetchMultiple(array('key1', 'key3', 'key2')) + ); + $this->assertEquals( + array('key1' => 'value1', 'key2' => 'value2'), + $cache->fetchMultiple(array('key1', 'key2', 'key3')) + ); + } + + public function testFetchMultiWillFilterNonRequestedKeys() + { + /* @var $cache \Doctrine\Common\Cache\CacheProvider|\PHPUnit_Framework_MockObject_MockObject */ + $cache = $this->getMockForAbstractClass( + 'Doctrine\Common\Cache\CacheProvider', + array(), + '', + true, + true, + true, + array('doFetchMultiple') + ); + + $cache + ->expects($this->once()) + ->method('doFetchMultiple') + ->will($this->returnValue(array( + '[foo][]' => 'bar', + '[bar][]' => 'baz', + '[baz][]' => 'tab', + ))); + + $this->assertEquals( + array('foo' => 'bar', 'bar' => 'baz'), + $cache->fetchMultiple(array('foo', 'bar')) + ); + } + + public function provideCrudValues() { return array( @@ -223,6 +276,84 @@ public function testFetchMissShouldReturnFalse() $this->assertNotNull($result); } + /** + * Check to see that, even if the user saves a value that can be interpreted as false, + * the cache adapter will still recognize its existence there. + * + * @dataProvider falseCastedValuesProvider + */ + public function testFalseCastedValues($value) + { + $cache = $this->_getCacheDriver(); + + $this->assertTrue($cache->save('key', $value)); + $this->assertTrue($cache->contains('key')); + $this->assertEquals($value, $cache->fetch('key')); + } + + /** + * The following values get converted to FALSE if you cast them to a boolean. + * @see http://php.net/manual/en/types.comparisons.php + */ + public function falseCastedValuesProvider() + { + return array( + array(false), + array(null), + array(array()), + array('0'), + array(0), + array(0.0), + array('') + ); + } + + /** + * Check to see that objects are correctly serialized and unserialized by the cache + * provider. + */ + public function testCachedObject() + { + $cache = $this->_getCacheDriver(); + $cache->deleteAll(); + $obj = new \stdClass(); + $obj->foo = "bar"; + $obj2 = new \stdClass(); + $obj2->bar = "foo"; + $obj2->obj = $obj; + $obj->obj2 = $obj2; + $cache->save("obj", $obj); + + $fetched = $cache->fetch("obj"); + + $this->assertInstanceOf("stdClass", $obj); + $this->assertInstanceOf("stdClass", $obj->obj2); + $this->assertInstanceOf("stdClass", $obj->obj2->obj); + $this->assertEquals("bar", $fetched->foo); + $this->assertEquals("foo", $fetched->obj2->bar); + } + + /** + * Check to see that objects fetched via fetchMultiple are properly unserialized + */ + public function testFetchMultipleObjects() + { + $cache = $this->_getCacheDriver(); + $cache->deleteAll(); + $obj1 = new \stdClass(); + $obj1->foo = "bar"; + $cache->save("obj1", $obj1); + $obj2 = new \stdClass(); + $obj2->bar = "baz"; + $cache->save("obj2", $obj2); + + $fetched = $cache->fetchMultiple(array("obj1", "obj2")); + $this->assertInstanceOf("stdClass", $fetched["obj1"]); + $this->assertInstanceOf("stdClass", $fetched["obj2"]); + $this->assertEquals("bar", $fetched["obj1"]->foo); + $this->assertEquals("baz", $fetched["obj2"]->bar); + } + /** * Return whether multiple cache providers share the same storage. * diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php new file mode 100644 index 000000000000..46d78c129d99 --- /dev/null +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php @@ -0,0 +1,94 @@ +<?php + +namespace Doctrine\Tests\Common\Cache; + +use Doctrine\Common\Cache\ApcCache; +use Doctrine\Common\Cache\ArrayCache; +use Doctrine\Common\Cache\ChainCache; + +class ChainCacheTest extends CacheTest +{ + protected function _getCacheDriver() + { + return new ChainCache(array(new ArrayCache())); + } + + public function testGetStats() + { + $cache = $this->_getCacheDriver(); + $stats = $cache->getStats(); + + $this->assertInternalType('array', $stats); + } + + public function testOnlyFetchFirstOne() + { + $cache1 = new ArrayCache(); + $cache2 = $this->getMockForAbstractClass('Doctrine\Common\Cache\CacheProvider'); + + $cache2->expects($this->never())->method('doFetch'); + + $chainCache = new ChainCache(array($cache1, $cache2)); + $chainCache->save('id', 'bar'); + + $this->assertEquals('bar', $chainCache->fetch('id')); + } + + public function testFetchPropagateToFastestCache() + { + $cache1 = new ArrayCache(); + $cache2 = new ArrayCache(); + + $cache2->save('bar', 'value'); + + $chainCache = new ChainCache(array($cache1, $cache2)); + + $this->assertFalse($cache1->contains('bar')); + + $result = $chainCache->fetch('bar'); + + $this->assertEquals('value', $result); + $this->assertTrue($cache2->contains('bar')); + } + + public function testNamespaceIsPropagatedToAllProviders() + { + $cache1 = new ArrayCache(); + $cache2 = new ArrayCache(); + + $chainCache = new ChainCache(array($cache1, $cache2)); + $chainCache->setNamespace('bar'); + + $this->assertEquals('bar', $cache1->getNamespace()); + $this->assertEquals('bar', $cache2->getNamespace()); + } + + public function testDeleteToAllProviders() + { + $cache1 = $this->getMockForAbstractClass('Doctrine\Common\Cache\CacheProvider'); + $cache2 = $this->getMockForAbstractClass('Doctrine\Common\Cache\CacheProvider'); + + $cache1->expects($this->once())->method('doDelete'); + $cache2->expects($this->once())->method('doDelete'); + + $chainCache = new ChainCache(array($cache1, $cache2)); + $chainCache->delete('bar'); + } + + public function testFlushToAllProviders() + { + $cache1 = $this->getMockForAbstractClass('Doctrine\Common\Cache\CacheProvider'); + $cache2 = $this->getMockForAbstractClass('Doctrine\Common\Cache\CacheProvider'); + + $cache1->expects($this->once())->method('doFlush'); + $cache2->expects($this->once())->method('doFlush'); + + $chainCache = new ChainCache(array($cache1, $cache2)); + $chainCache->flushAll(); + } + + protected function isSharedStorage() + { + return false; + } +} \ No newline at end of file diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php index 6f9df8158e43..886832141964 100644 --- a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php @@ -2,6 +2,8 @@ namespace Doctrine\Tests\Common\Cache; +use Doctrine\Common\Cache\Cache; + /** * @group DCOM-101 */ @@ -25,16 +27,19 @@ public function getProviderFileName() { return array( //The characters :\/<>"*?| are not valid in Windows filenames. - array('key:1', 'key1'), - array('key\2', 'key2'), - array('key/3', 'key3'), - array('key<4', 'key4'), - array('key>5', 'key5'), - array('key"6', 'key6'), - array('key*7', 'key7'), - array('key?8', 'key8'), - array('key|9', 'key9'), - array('key[0]','key[0]'), + array('key:1', 'key-1'), + array('key\2', 'key-2'), + array('key/3', 'key-3'), + array('key<4', 'key-4'), + array('key>5', 'key-5'), + array('key"6', 'key-6'), + array('key*7', 'key-7'), + array('key?8', 'key-8'), + array('key|9', 'key-9'), + array('key[10]', 'key[10]'), + array('keyä11', 'key--11'), + array('../key12', '---key12'), + array('key-13', 'key__13'), ); } @@ -56,15 +61,19 @@ public function testInvalidFilename($key, $expected) public function testFilenameCollision() { - $data['key:0'] = 'key0'; - $data['key\0'] = 'key0'; - $data['key/0'] = 'key0'; - $data['key<0'] = 'key0'; - $data['key>0'] = 'key0'; - $data['key"0'] = 'key0'; - $data['key*0'] = 'key0'; - $data['key?0'] = 'key0'; - $data['key|0'] = 'key0'; + $data = array( + 'key:0' => 'key-0', + 'key\0' => 'key-0', + 'key/0' => 'key-0', + 'key<0' => 'key-0', + 'key>0' => 'key-0', + 'key"0' => 'key-0', + 'key*0' => 'key-0', + 'key?0' => 'key-0', + 'key|0' => 'key-0', + 'key-0' => 'key__0', + 'keyä0' => 'key--0', + ); $paths = array(); $cache = $this->driver; @@ -88,10 +97,11 @@ public function testFilenameShouldCreateThePathWithFourSubDirectories() $cache = $this->driver; $method = new \ReflectionMethod($cache, 'getFilename'); $key = 'item-key'; - $expectedDir[] = '84e0e2e893febb73'; - $expectedDir[] = '7a0fee0c89d53f4b'; - $expectedDir[] = 'b7fcb44c57cdf3d3'; - $expectedDir[] = '2ce7363f5d597760'; + $expectedDir = array( + '84', 'e0', 'e2', 'e8', '93', 'fe', 'bb', '73', '7a', '0f', 'ee', + '0c', '89', 'd5', '3f', '4b', 'b7', 'fc', 'b4', '4c', '57', 'cd', + 'f3', 'd3', '2c', 'e7', '36', '3f', '5d', '59', '77', '60' + ); $expectedDir = implode(DIRECTORY_SEPARATOR, $expectedDir); $method->setAccessible(true); @@ -100,8 +110,52 @@ public function testFilenameShouldCreateThePathWithFourSubDirectories() $filename = pathinfo($path, PATHINFO_FILENAME); $dirname = pathinfo($path, PATHINFO_DIRNAME); - $this->assertEquals('item-key', $filename); + $this->assertEquals('item__key', $filename); $this->assertEquals(DIRECTORY_SEPARATOR . $expectedDir, $dirname); - $this->assertEquals(DIRECTORY_SEPARATOR . $expectedDir . DIRECTORY_SEPARATOR . $key, $path); + $this->assertEquals(DIRECTORY_SEPARATOR . $expectedDir . DIRECTORY_SEPARATOR . 'item__key', $path); + } + + public function testFileExtensionCorrectlyEscaped() + { + $driver1 = $this->getMock( + 'Doctrine\Common\Cache\FileCache', + array('doFetch', 'doContains', 'doSave'), + array(__DIR__, '.*') + ); + $driver2 = $this->getMock( + 'Doctrine\Common\Cache\FileCache', + array('doFetch', 'doContains', 'doSave'), + array(__DIR__, '.php') + ); + + $doGetStats = new \ReflectionMethod($driver1, 'doGetStats'); + + $doGetStats->setAccessible(true); + + $stats1 = $doGetStats->invoke($driver1); + $stats2 = $doGetStats->invoke($driver2); + + $this->assertSame(0, $stats1[Cache::STATS_MEMORY_USAGE]); + $this->assertGreaterThan(0, $stats2[Cache::STATS_MEMORY_USAGE]); + } + + /** + * @group DCOM-266 + */ + public function testFileExtensionSlashCorrectlyEscaped() + { + $driver = $this->getMock( + 'Doctrine\Common\Cache\FileCache', + array('doFetch', 'doContains', 'doSave'), + array(__DIR__ . '/../', '/' . basename(__FILE__)) + ); + + $doGetStats = new \ReflectionMethod($driver, 'doGetStats'); + + $doGetStats->setAccessible(true); + + $stats = $doGetStats->invoke($driver); + + $this->assertGreaterThan(0, $stats[Cache::STATS_MEMORY_USAGE]); } -} \ No newline at end of file +} diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php index 071329fbcf80..2028acc2568f 100644 --- a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php @@ -53,4 +53,18 @@ protected function _getCacheDriver() $driver->setMemcached($this->memcached); return $driver; } + + /** + * {@inheritDoc} + * + * @dataProvider falseCastedValuesProvider + */ + public function testFalseCastedValues($value) + { + if (false === $value) { + $this->markTestIncomplete('Memcached currently doesn\'t support saving `false` values. '); + } + + parent::testFalseCastedValues($value); + } } diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php index f49ce25e4e30..f83a6e4d376a 100644 --- a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php @@ -85,6 +85,16 @@ public function testGetStats() $this->assertGreaterThan(0, $stats[Cache::STATS_MEMORY_AVAILABLE]); } + public function testCachedObject() + { + $this->markTestSkipped("PhpFileCache cannot handle objects that don't implement __set_state."); + } + + public function testFetchMultipleObjects() + { + $this->markTestSkipped("PhpFileCache cannot handle objects that don't implement __set_state."); + } + protected function _getCacheDriver() { return new PhpFileCache($this->directory); diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php new file mode 100644 index 000000000000..fecc92b4a1d5 --- /dev/null +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php @@ -0,0 +1,62 @@ +<?php + +namespace Doctrine\Tests\Common\Cache; + +use Doctrine\Common\Cache\Cache; +use Doctrine\Common\Cache\PredisCache; +use Predis\Client; +use Predis\Connection\ConnectionException; + +class PredisCacheTest extends CacheTest +{ + private $client; + + public function setUp() + { + if (!class_exists('Predis\Client')) { + $this->markTestSkipped('Predis\Client is missing. Make sure to "composer install" to have all dev dependencies.'); + } + + $this->client = new Client(); + + try { + $this->client->connect(); + } catch (ConnectionException $e) { + $this->markTestSkipped('The ' . __CLASS__ .' requires the use of redis'); + } + } + + public function testHitMissesStatsAreProvided() + { + $cache = $this->_getCacheDriver(); + $stats = $cache->getStats(); + + $this->assertNotNull($stats[Cache::STATS_HITS]); + $this->assertNotNull($stats[Cache::STATS_MISSES]); + } + + /** + * @return PredisCache + */ + protected function _getCacheDriver() + { + return new PredisCache($this->client); + } + + /** + * {@inheritDoc} + * + * @dataProvider falseCastedValuesProvider + */ + public function testFalseCastedValues($value) + { + if (array() === $value) { + $this->markTestIncomplete( + 'Predis currently doesn\'t support saving empty array values. ' + . 'See https://github.com/nrk/predis/issues/241' + ); + } + + parent::testFalseCastedValues($value); + } +} diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php index 45bbc752af25..35d9f5ed16f2 100644 --- a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php @@ -3,6 +3,7 @@ namespace Doctrine\Tests\Common\Cache; use Doctrine\Common\Cache\RedisCache; +use Doctrine\Common\Cache\Cache; class RedisCacheTest extends CacheTest { @@ -21,6 +22,15 @@ public function setUp() } } + public function testHitMissesStatsAreProvided() + { + $cache = $this->_getCacheDriver(); + $stats = $cache->getStats(); + + $this->assertNotNull($stats[Cache::STATS_HITS]); + $this->assertNotNull($stats[Cache::STATS_MISSES]); + } + protected function _getCacheDriver() { $driver = new RedisCache(); diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php new file mode 100644 index 000000000000..44ccce9275d5 --- /dev/null +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php @@ -0,0 +1,48 @@ +<?php + +namespace Doctrine\Tests\Common\Cache; + +use Doctrine\Common\Cache\Cache; +use Doctrine\Common\Cache\SQLite3Cache; +use SQLite3; + +class SQLite3Test extends CacheTest +{ + /** + * @var SQLite3 + */ + private $file, $sqlite; + + protected function setUp() + { + $this->file = tempnam(null, 'doctrine-cache-test-'); + unlink($this->file); + $this->sqlite = new SQLite3($this->file); + } + + protected function tearDown() + { + $this->sqlite = null; // DB must be closed before + unlink($this->file); + } + + public function testGetStats() + { + $this->assertNull($this->_getCacheDriver()->getStats()); + } + + public function testFetchSingle() + { + $id = uniqid('sqlite3_id_'); + $data = "\0"; // produces null bytes in serialized format + + $this->_getCacheDriver()->save($id, $data, 30); + + $this->assertEquals($data, $this->_getCacheDriver()->fetch($id)); + } + + protected function _getCacheDriver() + { + return new SQLite3Cache($this->sqlite, 'test_table'); + } +} diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php new file mode 100644 index 000000000000..ca87f166172c --- /dev/null +++ b/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php @@ -0,0 +1,51 @@ +<?php + +namespace Doctrine\Tests\Common\Cache; + +use Doctrine\Common\Cache\VoidCache; + +/** + * @covers \Doctrine\Common\Cache\VoidCache + */ +class VoidCacheTest extends \PHPUnit_Framework_TestCase +{ + public function testShouldAlwaysReturnFalseOnContains() + { + $cache = new VoidCache(); + + $this->assertFalse($cache->contains('foo')); + $this->assertFalse($cache->contains('bar')); + } + + public function testShouldAlwaysReturnFalseOnFetch() + { + $cache = new VoidCache(); + + $this->assertFalse($cache->fetch('foo')); + $this->assertFalse($cache->fetch('bar')); + } + + public function testShouldAlwaysReturnTrueOnSaveButNotStoreAnything() + { + $cache = new VoidCache(); + + $this->assertTrue($cache->save('foo', 'fooVal')); + + $this->assertFalse($cache->contains('foo')); + $this->assertFalse($cache->fetch('foo')); + } + + public function testShouldAlwaysReturnTrueOnDelete() + { + $cache = new VoidCache(); + + $this->assertTrue($cache->delete('foo')); + } + + public function testShouldAlwaysReturnNullOnGetStatus() + { + $cache = new VoidCache(); + + $this->assertNull($cache->getStats()); + } +} diff --git a/core/vendor/doctrine/cache/tests/travis/php.ini b/core/vendor/doctrine/cache/tests/travis/php.ini index ef5d9a1b7b58..105af36da06e 100644 --- a/core/vendor/doctrine/cache/tests/travis/php.ini +++ b/core/vendor/doctrine/cache/tests/travis/php.ini @@ -1,6 +1,7 @@ extension="mongo.so" extension="memcache.so" extension="memcached.so" +extension="redis.so" apc.enabled=1 apc.enable_cli=1 diff --git a/core/vendor/doctrine/collections/.travis.yml b/core/vendor/doctrine/collections/.travis.yml index 470c9879a1d7..60f479277d08 100644 --- a/core/vendor/doctrine/collections/.travis.yml +++ b/core/vendor/doctrine/collections/.travis.yml @@ -4,7 +4,18 @@ php: - 5.3 - 5.4 - 5.5 + - 5.6 + - 7.0 - hhvm + - hhvm-nightly + +matrix: + fast_finish: true + allow_failures: + - php: 7.0 before_script: - - composer --prefer-source --dev install + - composer --prefer-source install + +script: + - phpunit diff --git a/core/vendor/doctrine/collections/README.md b/core/vendor/doctrine/collections/README.md index 627d45bbb29c..161cab63c73a 100644 --- a/core/vendor/doctrine/collections/README.md +++ b/core/vendor/doctrine/collections/README.md @@ -1,14 +1,22 @@ # Doctrine Collections +[](https://travis-ci.org/doctrine/collections) + Collections Abstraction library ## Changelog -### v1.2 +### v1.3.0 + +* [Explicit casting of first and max results in criteria API](https://github.com/doctrine/collections/pull/26) +* [Keep keys when using `ArrayCollection#matching()` with sorting](https://github.com/doctrine/collections/pull/49) +* [Made `AbstractLazyCollection#$initialized` protected for extensibility](https://github.com/doctrine/collections/pull/52) + +### v1.2.0 * Add a new ``AbstractLazyCollection`` -### v1.1 +### v1.1.0 * Deprecated ``Comparison::IS``, because it's only there for SQL semantics. These are fixed in the ORM instead. diff --git a/core/vendor/doctrine/collections/composer.json b/core/vendor/doctrine/collections/composer.json index dd30961c82de..155cac48f97a 100644 --- a/core/vendor/doctrine/collections/composer.json +++ b/core/vendor/doctrine/collections/composer.json @@ -15,6 +15,9 @@ "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, "autoload": { "psr-0": { "Doctrine\\Common\\Collections\\": "lib/" } }, diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php index 0052a29c7c95..b907f8b02a00 100644 --- a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php +++ b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php @@ -37,9 +37,9 @@ abstract class AbstractLazyCollection implements Collection protected $collection; /** - * @var bool + * @var boolean */ - private $initialized = false; + protected $initialized = false; /** * {@inheritDoc} @@ -328,7 +328,7 @@ public function isInitialized() */ protected function initialize() { - if (!$this->initialized) { + if ( ! $this->initialized) { $this->doInitialize(); $this->initialized = true; } diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php index 9c2c8e147481..bce575120ea7 100644 --- a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php +++ b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php @@ -19,7 +19,8 @@ namespace Doctrine\Common\Collections; -use Closure, ArrayIterator; +use ArrayIterator; +use Closure; use Doctrine\Common\Collections\Expr\ClosureExpressionVisitor; /** @@ -37,7 +38,7 @@ class ArrayCollection implements Collection, Selectable * * @var array */ - private $_elements; + private $elements; /** * Initializes a new ArrayCollection. @@ -46,7 +47,7 @@ class ArrayCollection implements Collection, Selectable */ public function __construct(array $elements = array()) { - $this->_elements = $elements; + $this->elements = $elements; } /** @@ -54,7 +55,7 @@ public function __construct(array $elements = array()) */ public function toArray() { - return $this->_elements; + return $this->elements; } /** @@ -62,7 +63,7 @@ public function toArray() */ public function first() { - return reset($this->_elements); + return reset($this->elements); } /** @@ -70,7 +71,7 @@ public function first() */ public function last() { - return end($this->_elements); + return end($this->elements); } /** @@ -78,7 +79,7 @@ public function last() */ public function key() { - return key($this->_elements); + return key($this->elements); } /** @@ -86,7 +87,7 @@ public function key() */ public function next() { - return next($this->_elements); + return next($this->elements); } /** @@ -94,7 +95,7 @@ public function next() */ public function current() { - return current($this->_elements); + return current($this->elements); } /** @@ -102,14 +103,14 @@ public function current() */ public function remove($key) { - if (isset($this->_elements[$key]) || array_key_exists($key, $this->_elements)) { - $removed = $this->_elements[$key]; - unset($this->_elements[$key]); - - return $removed; + if ( ! isset($this->elements[$key]) && ! array_key_exists($key, $this->elements)) { + return null; } - return null; + $removed = $this->elements[$key]; + unset($this->elements[$key]); + + return $removed; } /** @@ -117,15 +118,15 @@ public function remove($key) */ public function removeElement($element) { - $key = array_search($element, $this->_elements, true); - - if ($key !== false) { - unset($this->_elements[$key]); + $key = array_search($element, $this->elements, true); - return true; + if ($key === false) { + return false; } - return false; + unset($this->elements[$key]); + + return true; } /** @@ -158,7 +159,8 @@ public function offsetSet($offset, $value) if ( ! isset($offset)) { return $this->add($value); } - return $this->set($offset, $value); + + $this->set($offset, $value); } /** @@ -176,7 +178,7 @@ public function offsetUnset($offset) */ public function containsKey($key) { - return isset($this->_elements[$key]) || array_key_exists($key, $this->_elements); + return isset($this->elements[$key]) || array_key_exists($key, $this->elements); } /** @@ -184,7 +186,7 @@ public function containsKey($key) */ public function contains($element) { - return in_array($element, $this->_elements, true); + return in_array($element, $this->elements, true); } /** @@ -192,11 +194,12 @@ public function contains($element) */ public function exists(Closure $p) { - foreach ($this->_elements as $key => $element) { + foreach ($this->elements as $key => $element) { if ($p($key, $element)) { return true; } } + return false; } @@ -205,7 +208,7 @@ public function exists(Closure $p) */ public function indexOf($element) { - return array_search($element, $this->_elements, true); + return array_search($element, $this->elements, true); } /** @@ -213,10 +216,7 @@ public function indexOf($element) */ public function get($key) { - if (isset($this->_elements[$key])) { - return $this->_elements[$key]; - } - return null; + return isset($this->elements[$key]) ? $this->elements[$key] : null; } /** @@ -224,7 +224,7 @@ public function get($key) */ public function getKeys() { - return array_keys($this->_elements); + return array_keys($this->elements); } /** @@ -232,7 +232,7 @@ public function getKeys() */ public function getValues() { - return array_values($this->_elements); + return array_values($this->elements); } /** @@ -240,7 +240,7 @@ public function getValues() */ public function count() { - return count($this->_elements); + return count($this->elements); } /** @@ -248,7 +248,7 @@ public function count() */ public function set($key, $value) { - $this->_elements[$key] = $value; + $this->elements[$key] = $value; } /** @@ -256,7 +256,8 @@ public function set($key, $value) */ public function add($value) { - $this->_elements[] = $value; + $this->elements[] = $value; + return true; } @@ -265,7 +266,7 @@ public function add($value) */ public function isEmpty() { - return ! $this->_elements; + return empty($this->elements); } /** @@ -275,7 +276,7 @@ public function isEmpty() */ public function getIterator() { - return new ArrayIterator($this->_elements); + return new ArrayIterator($this->elements); } /** @@ -283,7 +284,7 @@ public function getIterator() */ public function map(Closure $func) { - return new static(array_map($func, $this->_elements)); + return new static(array_map($func, $this->elements)); } /** @@ -291,7 +292,7 @@ public function map(Closure $func) */ public function filter(Closure $p) { - return new static(array_filter($this->_elements, $p)); + return new static(array_filter($this->elements, $p)); } /** @@ -299,7 +300,7 @@ public function filter(Closure $p) */ public function forAll(Closure $p) { - foreach ($this->_elements as $key => $element) { + foreach ($this->elements as $key => $element) { if ( ! $p($key, $element)) { return false; } @@ -313,15 +314,17 @@ public function forAll(Closure $p) */ public function partition(Closure $p) { - $coll1 = $coll2 = array(); - foreach ($this->_elements as $key => $element) { + $matches = $noMatches = array(); + + foreach ($this->elements as $key => $element) { if ($p($key, $element)) { - $coll1[$key] = $element; + $matches[$key] = $element; } else { - $coll2[$key] = $element; + $noMatches[$key] = $element; } } - return array(new static($coll1), new static($coll2)); + + return array(new static($matches), new static($noMatches)); } /** @@ -339,7 +342,7 @@ public function __toString() */ public function clear() { - $this->_elements = array(); + $this->elements = array(); } /** @@ -347,7 +350,7 @@ public function clear() */ public function slice($offset, $length = null) { - return array_slice($this->_elements, $offset, $length, true); + return array_slice($this->elements, $offset, $length, true); } /** @@ -356,7 +359,7 @@ public function slice($offset, $length = null) public function matching(Criteria $criteria) { $expr = $criteria->getWhereExpression(); - $filtered = $this->_elements; + $filtered = $this->elements; if ($expr) { $visitor = new ClosureExpressionVisitor(); @@ -365,12 +368,11 @@ public function matching(Criteria $criteria) } if ($orderings = $criteria->getOrderings()) { - $next = null; foreach (array_reverse($orderings) as $field => $ordering) { - $next = ClosureExpressionVisitor::sortByField($field, $ordering == 'DESC' ? -1 : 1, $next); + $next = ClosureExpressionVisitor::sortByField($field, $ordering == Criteria::DESC ? -1 : 1); } - usort($filtered, $next); + uasort($filtered, $next); } $offset = $criteria->getFirstResult(); diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php index a0808b38c2a9..8792f7a5b663 100644 --- a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php +++ b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php @@ -19,7 +19,10 @@ namespace Doctrine\Common\Collections; -use Closure, Countable, IteratorAggregate, ArrayAccess; +use ArrayAccess; +use Closure; +use Countable; +use IteratorAggregate; /** * The missing (SPL) Collection/Array/OrderedMap interface. @@ -29,7 +32,7 @@ * like a list. * * A Collection has an internal iterator just like a PHP array. In addition, - * a Collection can be iterated with external iterators, which is preferrable. + * a Collection can be iterated with external iterators, which is preferable. * To use an external iterator simply use the foreach language construct to * iterate over the collection (which calls {@link getIterator()} internally) or * explicitly retrieve an iterator though {@link getIterator()} which can then be @@ -52,14 +55,14 @@ interface Collection extends Countable, IteratorAggregate, ArrayAccess * * @return boolean Always TRUE. */ - function add($element); + public function add($element); /** * Clears the collection, removing all elements. * * @return void */ - function clear(); + public function clear(); /** * Checks whether an element is contained in the collection. @@ -69,14 +72,14 @@ function clear(); * * @return boolean TRUE if the collection contains the element, FALSE otherwise. */ - function contains($element); + public function contains($element); /** * Checks whether the collection is empty (contains no elements). * * @return boolean TRUE if the collection is empty, FALSE otherwise. */ - function isEmpty(); + public function isEmpty(); /** * Removes the element at the specified index from the collection. @@ -85,7 +88,7 @@ function isEmpty(); * * @return mixed The removed element or NULL, if the collection did not contain the element. */ - function remove($key); + public function remove($key); /** * Removes the specified element from the collection, if it is found. @@ -94,7 +97,7 @@ function remove($key); * * @return boolean TRUE if this collection contained the specified element, FALSE otherwise. */ - function removeElement($element); + public function removeElement($element); /** * Checks whether the collection contains an element with the specified key/index. @@ -104,7 +107,7 @@ function removeElement($element); * @return boolean TRUE if the collection contains an element with the specified key/index, * FALSE otherwise. */ - function containsKey($key); + public function containsKey($key); /** * Gets the element at the specified key/index. @@ -113,7 +116,7 @@ function containsKey($key); * * @return mixed */ - function get($key); + public function get($key); /** * Gets all keys/indices of the collection. @@ -121,7 +124,7 @@ function get($key); * @return array The keys/indices of the collection, in the order of the corresponding * elements in the collection. */ - function getKeys(); + public function getKeys(); /** * Gets all values of the collection. @@ -129,7 +132,7 @@ function getKeys(); * @return array The values of all elements in the collection, in the order they * appear in the collection. */ - function getValues(); + public function getValues(); /** * Sets an element in the collection at the specified key/index. @@ -139,49 +142,49 @@ function getValues(); * * @return void */ - function set($key, $value); + public function set($key, $value); /** * Gets a native PHP array representation of the collection. * * @return array */ - function toArray(); + public function toArray(); /** * Sets the internal iterator to the first element in the collection and returns this element. * * @return mixed */ - function first(); + public function first(); /** * Sets the internal iterator to the last element in the collection and returns this element. * * @return mixed */ - function last(); + public function last(); /** * Gets the key/index of the element at the current iterator position. * * @return int|string */ - function key(); + public function key(); /** * Gets the element of the collection at the current iterator position. * * @return mixed */ - function current(); + public function current(); /** * Moves the internal iterator position to the next element and returns this element. * * @return mixed */ - function next(); + public function next(); /** * Tests for the existence of an element that satisfies the given predicate. @@ -190,7 +193,7 @@ function next(); * * @return boolean TRUE if the predicate is TRUE for at least one element, FALSE otherwise. */ - function exists(Closure $p); + public function exists(Closure $p); /** * Returns all the elements of this collection that satisfy the predicate p. @@ -200,16 +203,16 @@ function exists(Closure $p); * * @return Collection A collection with the results of the filter operation. */ - function filter(Closure $p); + public function filter(Closure $p); /** * Tests whether the given predicate p holds for all elements of this collection. - * + * * @param Closure $p The predicate. * * @return boolean TRUE, if the predicate yields TRUE for all elements, FALSE otherwise. */ - function forAll(Closure $p); + public function forAll(Closure $p); /** * Applies the given function to each element in the collection and returns @@ -219,7 +222,7 @@ function forAll(Closure $p); * * @return Collection */ - function map(Closure $func); + public function map(Closure $func); /** * Partitions this collection in two collections according to a predicate. @@ -231,7 +234,7 @@ function map(Closure $func); * of elements where the predicate returned TRUE, the second element * contains the collection of elements where the predicate returned FALSE. */ - function partition(Closure $p); + public function partition(Closure $p); /** * Gets the index/key of a given element. The comparison of two elements is strict, @@ -242,7 +245,7 @@ function partition(Closure $p); * * @return int|string|bool The key/index of the element or FALSE if the element was not found. */ - function indexOf($element); + public function indexOf($element); /** * Extracts a slice of $length elements starting at position $offset from the Collection. @@ -256,5 +259,5 @@ function indexOf($element); * * @return array */ - function slice($offset, $length = null); + public function slice($offset, $length = null); } diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php index 42929bdcaa2c..3f9d43a8294e 100644 --- a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php +++ b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php @@ -51,9 +51,9 @@ class Criteria private $expression; /** - * @var array|null + * @var string[] */ - private $orderings; + private $orderings = array(); /** * @var int|null @@ -85,23 +85,28 @@ public static function expr() if (self::$expressionBuilder === null) { self::$expressionBuilder = new ExpressionBuilder(); } + return self::$expressionBuilder; } /** * Construct a new Criteria. * - * @param Expression $expression - * @param array|null $orderings - * @param int|null $firstResult - * @param int|null $maxResults + * @param Expression $expression + * @param string[]|null $orderings + * @param int|null $firstResult + * @param int|null $maxResults */ public function __construct(Expression $expression = null, array $orderings = null, $firstResult = null, $maxResults = null) { - $this->expression = $expression; - $this->orderings = $orderings; - $this->firstResult = $firstResult; - $this->maxResults = $maxResults; + $this->expression = $expression; + + $this->setFirstResult($firstResult); + $this->setMaxResults($maxResults); + + if (null !== $orderings) { + $this->orderBy($orderings); + } } /** @@ -114,6 +119,7 @@ public function __construct(Expression $expression = null, array $orderings = nu public function where(Expression $expression) { $this->expression = $expression; + return $this; } @@ -172,7 +178,7 @@ public function getWhereExpression() /** * Gets the current orderings of this Criteria. * - * @return array + * @return string[] */ public function getOrderings() { @@ -187,13 +193,19 @@ public function getOrderings() * @see Criteria::ASC * @see Criteria::DESC * - * @param array $orderings + * @param string[] $orderings * * @return Criteria */ public function orderBy(array $orderings) { - $this->orderings = $orderings; + $this->orderings = array_map( + function ($ordering) { + return strtoupper($ordering) === Criteria::ASC ? Criteria::ASC : Criteria::DESC; + }, + $orderings + ); + return $this; } @@ -216,7 +228,8 @@ public function getFirstResult() */ public function setFirstResult($firstResult) { - $this->firstResult = $firstResult; + $this->firstResult = null === $firstResult ? null : (int) $firstResult; + return $this; } @@ -239,7 +252,8 @@ public function getMaxResults() */ public function setMaxResults($maxResults) { - $this->maxResults = $maxResults; + $this->maxResults = null === $maxResults ? null : (int) $maxResults; + return $this; } } diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php index 50994584c481..994085f914f0 100644 --- a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php +++ b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php @@ -83,7 +83,7 @@ public static function getObjectFieldValue($object, $field) */ public static function sortByField($name, $orientation = 1, \Closure $next = null) { - if (!$next) { + if ( ! $next) { $next = function() { return 0; }; diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php index 401d46e4df49..57660ed7fcb0 100644 --- a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php +++ b/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php @@ -44,5 +44,5 @@ interface Selectable * * @return Collection */ - function matching(Criteria $criteria); + public function matching(Criteria $criteria); } diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php new file mode 100644 index 000000000000..1b8a906fdaf8 --- /dev/null +++ b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php @@ -0,0 +1,296 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace Doctrine\Tests\Common\Collections; + +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Criteria; + +/** + * Tests for {@see \Doctrine\Common\Collections\ArrayCollection} + * + * @covers \Doctrine\Common\Collections\ArrayCollection + */ +class ArrayCollectionTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider provideDifferentElements + */ + public function testToArray($elements) + { + $collection = new ArrayCollection($elements); + + $this->assertSame($elements, $collection->toArray()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testFirst($elements) + { + $collection = new ArrayCollection($elements); + $this->assertSame(reset($elements), $collection->first()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testLast($elements) + { + $collection = new ArrayCollection($elements); + $this->assertSame(end($elements), $collection->last()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testKey($elements) + { + $collection = new ArrayCollection($elements); + + $this->assertSame(key($elements), $collection->key()); + + next($elements); + $collection->next(); + + $this->assertSame(key($elements), $collection->key()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testNext($elements) + { + $collection = new ArrayCollection($elements); + + while (true) { + $collectionNext = $collection->next(); + $arrayNext = next($elements); + + if(!$collectionNext || !$arrayNext) { + break; + } + + $this->assertSame($arrayNext, $collectionNext, "Returned value of ArrayCollection::next() and next() not match"); + $this->assertSame(key($elements), $collection->key(), "Keys not match"); + $this->assertSame(current($elements), $collection->current(), "Current values not match"); + } + } + + /** + * @dataProvider provideDifferentElements + */ + public function testCurrent($elements) + { + $collection = new ArrayCollection($elements); + + $this->assertSame(current($elements), $collection->current()); + + next($elements); + $collection->next(); + + $this->assertSame(current($elements), $collection->current()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testGetKeys($elements) + { + $collection = new ArrayCollection($elements); + + $this->assertSame(array_keys($elements), $collection->getKeys()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testGetValues($elements) + { + $collection = new ArrayCollection($elements); + + $this->assertSame(array_values($elements), $collection->getValues()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testCount($elements) + { + $collection = new ArrayCollection($elements); + + $this->assertSame(count($elements), $collection->count()); + } + + /** + * @dataProvider provideDifferentElements + */ + public function testIterator($elements) + { + $collection = new ArrayCollection($elements); + + $iterations = 0; + foreach($collection->getIterator() as $key => $item) { + $this->assertSame($elements[$key], $item, "Item {$key} not match"); + $iterations++; + } + + $this->assertEquals(count($elements), $iterations, "Number of iterations not match"); + } + + /** + * @return array + */ + public function provideDifferentElements() + { + return array( + 'indexed' => array(array(1, 2, 3, 4, 5)), + 'associative' => array(array('A' => 'a', 'B' => 'b', 'C' => 'c')), + 'mixed' => array(array('A' => 'a', 1, 'B' => 'b', 2, 3)), + ); + } + + public function testRemove() + { + $elements = array(1, 'A' => 'a', 2, 'B' => 'b', 3); + $collection = new ArrayCollection($elements); + + $this->assertEquals(1, $collection->remove(0)); + unset($elements[0]); + + $this->assertEquals(null, $collection->remove('non-existent')); + unset($elements['non-existent']); + + $this->assertEquals(2, $collection->remove(1)); + unset($elements[1]); + + $this->assertEquals('a', $collection->remove('A')); + unset($elements['A']); + + $this->assertEquals($elements, $collection->toArray()); + } + + public function testRemoveElement() + { + $elements = array(1, 'A' => 'a', 2, 'B' => 'b', 3, 'A2' => 'a', 'B2' => 'b'); + $collection = new ArrayCollection($elements); + + $this->assertTrue($collection->removeElement(1)); + unset($elements[0]); + + $this->assertFalse($collection->removeElement('non-existent')); + + $this->assertTrue($collection->removeElement('a')); + unset($elements['A']); + + $this->assertTrue($collection->removeElement('a')); + unset($elements['A2']); + + $this->assertEquals($elements, $collection->toArray()); + } + + public function testContainsKey() + { + $elements = array(1, 'A' => 'a', 2, 'null' => null, 3, 'A2' => 'a', 'B2' => 'b'); + $collection = new ArrayCollection($elements); + + $this->assertTrue($collection->containsKey(0), "Contains index 0"); + $this->assertTrue($collection->containsKey('A'), "Contains key \"A\""); + $this->assertTrue($collection->containsKey('null'), "Contains key \"null\", with value null"); + $this->assertFalse($collection->containsKey('non-existent'), "Doesn't contain key"); + } + + public function testEmpty() + { + $collection = new ArrayCollection(); + $this->assertTrue($collection->isEmpty(), "Empty collection"); + + $collection->add(1); + $this->assertFalse($collection->isEmpty(), "Not empty collection"); + } + + public function testContains() + { + $elements = array(1, 'A' => 'a', 2, 'null' => null, 3, 'A2' => 'a', 'zero' => 0); + $collection = new ArrayCollection($elements); + + $this->assertTrue($collection->contains(0), "Contains Zero"); + $this->assertTrue($collection->contains('a'), "Contains \"a\""); + $this->assertTrue($collection->contains(null), "Contains Null"); + $this->assertFalse($collection->contains('non-existent'), "Doesn't contain an element"); + } + + public function testExists() + { + $elements = array(1, 'A' => 'a', 2, 'null' => null, 3, 'A2' => 'a', 'zero' => 0); + $collection = new ArrayCollection($elements); + + $this->assertTrue($collection->exists(function($key, $element) { + return $key == 'A' && $element == 'a'; + }), "Element exists"); + + $this->assertFalse($collection->exists(function($key, $element) { + return $key == 'non-existent' && $element == 'non-existent'; + }), "Element not exists"); + } + + public function testIndexOf() + { + $elements = array(1, 'A' => 'a', 2, 'null' => null, 3, 'A2' => 'a', 'zero' => 0); + $collection = new ArrayCollection($elements); + + $this->assertSame(array_search(2, $elements, true), $collection->indexOf(2), 'Index of 2'); + $this->assertSame(array_search(null, $elements, true), $collection->indexOf(null), 'Index of null'); + $this->assertSame(array_search('non-existent', $elements, true), $collection->indexOf('non-existent'), 'Index of non existent'); + } + + public function testGet() + { + $elements = array(1, 'A' => 'a', 2, 'null' => null, 3, 'A2' => 'a', 'zero' => 0); + $collection = new ArrayCollection($elements); + + $this->assertSame(2, $collection->get(1), 'Get element by index'); + $this->assertSame('a', $collection->get('A'), 'Get element by name'); + $this->assertSame(null, $collection->get('non-existent'), 'Get non existent element'); + } + + public function testMatchingWithSortingPreservesyKeys() + { + $object1 = new \stdClass(); + $object2 = new \stdClass(); + + $object1->sortField = 2; + $object2->sortField = 1; + + $collection = new ArrayCollection(array( + 'object1' => $object1, + 'object2' => $object2, + )); + + $this->assertSame( + array( + 'object2' => $object2, + 'object1' => $object1, + ), + $collection + ->matching(new Criteria(null, array('sortField' => Criteria::ASC))) + ->toArray() + ); + } +} diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php index b640043e6eaf..21c2e3dfc52c 100644 --- a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php +++ b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php @@ -27,10 +27,17 @@ */ class ClosureExpressionVisitorTest extends \PHPUnit_Framework_TestCase { + /** + * @var ClosureExpressionVisitor + */ private $visitor; + + /** + * @var ExpressionBuilder + */ private $builder; - public function setUp() + protected function setUp() { $this->visitor = new ClosureExpressionVisitor(); $this->builder = new ExpressionBuilder(); diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php index d98246c42944..f3f91ad3f13c 100644 --- a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php +++ b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php @@ -2,195 +2,196 @@ namespace Doctrine\Tests\Common\Collections; -use Doctrine\Tests; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Criteria; -class CollectionTest extends \Doctrine\Tests\DoctrineTestCase +class CollectionTest extends \PHPUnit_Framework_TestCase { /** - * @var \Doctrine\Common\Collections\Collection + * @var Collection */ - private $_coll; + private $collection; protected function setUp() { - $this->_coll = new \Doctrine\Common\Collections\ArrayCollection; + $this->collection = new ArrayCollection(); } public function testIssetAndUnset() { - $this->assertFalse(isset($this->_coll[0])); - $this->_coll->add('testing'); - $this->assertTrue(isset($this->_coll[0])); - unset($this->_coll[0]); - $this->assertFalse(isset($this->_coll[0])); + $this->assertFalse(isset($this->collection[0])); + $this->collection->add('testing'); + $this->assertTrue(isset($this->collection[0])); + unset($this->collection[0]); + $this->assertFalse(isset($this->collection[0])); } public function testToString() { - $this->_coll->add('testing'); - $this->assertTrue(is_string((string) $this->_coll)); + $this->collection->add('testing'); + $this->assertTrue(is_string((string) $this->collection)); } public function testRemovingNonExistentEntryReturnsNull() { - $this->assertEquals(null, $this->_coll->remove('testing_does_not_exist')); + $this->assertEquals(null, $this->collection->remove('testing_does_not_exist')); } public function testExists() { - $this->_coll->add("one"); - $this->_coll->add("two"); - $exists = $this->_coll->exists(function($k, $e) { return $e == "one"; }); + $this->collection->add("one"); + $this->collection->add("two"); + $exists = $this->collection->exists(function($k, $e) { return $e == "one"; }); $this->assertTrue($exists); - $exists = $this->_coll->exists(function($k, $e) { return $e == "other"; }); + $exists = $this->collection->exists(function($k, $e) { return $e == "other"; }); $this->assertFalse($exists); } public function testMap() { - $this->_coll->add(1); - $this->_coll->add(2); - $res = $this->_coll->map(function($e) { return $e * 2; }); + $this->collection->add(1); + $this->collection->add(2); + $res = $this->collection->map(function($e) { return $e * 2; }); $this->assertEquals(array(2, 4), $res->toArray()); } public function testFilter() { - $this->_coll->add(1); - $this->_coll->add("foo"); - $this->_coll->add(3); - $res = $this->_coll->filter(function($e) { return is_numeric($e); }); + $this->collection->add(1); + $this->collection->add("foo"); + $this->collection->add(3); + $res = $this->collection->filter(function($e) { return is_numeric($e); }); $this->assertEquals(array(0 => 1, 2 => 3), $res->toArray()); } public function testFirstAndLast() { - $this->_coll->add('one'); - $this->_coll->add('two'); + $this->collection->add('one'); + $this->collection->add('two'); - $this->assertEquals($this->_coll->first(), 'one'); - $this->assertEquals($this->_coll->last(), 'two'); + $this->assertEquals($this->collection->first(), 'one'); + $this->assertEquals($this->collection->last(), 'two'); } public function testArrayAccess() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; + $this->collection[] = 'one'; + $this->collection[] = 'two'; - $this->assertEquals($this->_coll[0], 'one'); - $this->assertEquals($this->_coll[1], 'two'); + $this->assertEquals($this->collection[0], 'one'); + $this->assertEquals($this->collection[1], 'two'); - unset($this->_coll[0]); - $this->assertEquals($this->_coll->count(), 1); + unset($this->collection[0]); + $this->assertEquals($this->collection->count(), 1); } public function testContainsKey() { - $this->_coll[5] = 'five'; - $this->assertTrue($this->_coll->containsKey(5)); + $this->collection[5] = 'five'; + $this->assertTrue($this->collection->containsKey(5)); } public function testContains() { - $this->_coll[0] = 'test'; - $this->assertTrue($this->_coll->contains('test')); + $this->collection[0] = 'test'; + $this->assertTrue($this->collection->contains('test')); } public function testSearch() { - $this->_coll[0] = 'test'; - $this->assertEquals(0, $this->_coll->indexOf('test')); + $this->collection[0] = 'test'; + $this->assertEquals(0, $this->collection->indexOf('test')); } public function testGet() { - $this->_coll[0] = 'test'; - $this->assertEquals('test', $this->_coll->get(0)); + $this->collection[0] = 'test'; + $this->assertEquals('test', $this->collection->get(0)); } public function testGetKeys() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; - $this->assertEquals(array(0, 1), $this->_coll->getKeys()); + $this->collection[] = 'one'; + $this->collection[] = 'two'; + $this->assertEquals(array(0, 1), $this->collection->getKeys()); } public function testGetValues() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; - $this->assertEquals(array('one', 'two'), $this->_coll->getValues()); + $this->collection[] = 'one'; + $this->collection[] = 'two'; + $this->assertEquals(array('one', 'two'), $this->collection->getValues()); } public function testCount() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; - $this->assertEquals($this->_coll->count(), 2); - $this->assertEquals(count($this->_coll), 2); + $this->collection[] = 'one'; + $this->collection[] = 'two'; + $this->assertEquals($this->collection->count(), 2); + $this->assertEquals(count($this->collection), 2); } public function testForAll() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; - $this->assertEquals($this->_coll->forAll(function($k, $e) { return is_string($e); }), true); - $this->assertEquals($this->_coll->forAll(function($k, $e) { return is_array($e); }), false); + $this->collection[] = 'one'; + $this->collection[] = 'two'; + $this->assertEquals($this->collection->forAll(function($k, $e) { return is_string($e); }), true); + $this->assertEquals($this->collection->forAll(function($k, $e) { return is_array($e); }), false); } public function testPartition() { - $this->_coll[] = true; - $this->_coll[] = false; - $partition = $this->_coll->partition(function($k, $e) { return $e == true; }); + $this->collection[] = true; + $this->collection[] = false; + $partition = $this->collection->partition(function($k, $e) { return $e == true; }); $this->assertEquals($partition[0][0], true); $this->assertEquals($partition[1][0], false); } public function testClear() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; - $this->_coll->clear(); - $this->assertEquals($this->_coll->isEmpty(), true); + $this->collection[] = 'one'; + $this->collection[] = 'two'; + $this->collection->clear(); + $this->assertEquals($this->collection->isEmpty(), true); } public function testRemove() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; - $el = $this->_coll->remove(0); + $this->collection[] = 'one'; + $this->collection[] = 'two'; + $el = $this->collection->remove(0); $this->assertEquals('one', $el); - $this->assertEquals($this->_coll->contains('one'), false); - $this->assertNull($this->_coll->remove(0)); + $this->assertEquals($this->collection->contains('one'), false); + $this->assertNull($this->collection->remove(0)); } public function testRemoveElement() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; + $this->collection[] = 'one'; + $this->collection[] = 'two'; - $this->assertTrue($this->_coll->removeElement('two')); - $this->assertFalse($this->_coll->contains('two')); - $this->assertFalse($this->_coll->removeElement('two')); + $this->assertTrue($this->collection->removeElement('two')); + $this->assertFalse($this->collection->contains('two')); + $this->assertFalse($this->collection->removeElement('two')); } public function testSlice() { - $this->_coll[] = 'one'; - $this->_coll[] = 'two'; - $this->_coll[] = 'three'; + $this->collection[] = 'one'; + $this->collection[] = 'two'; + $this->collection[] = 'three'; - $slice = $this->_coll->slice(0, 1); + $slice = $this->collection->slice(0, 1); $this->assertInternalType('array', $slice); $this->assertEquals(array('one'), $slice); - $slice = $this->_coll->slice(1); + $slice = $this->collection->slice(1); $this->assertEquals(array(1 => 'two', 2 => 'three'), $slice); - $slice = $this->_coll->slice(1, 1); + $slice = $this->collection->slice(1, 1); $this->assertEquals(array(1 => 'two'), $slice); } @@ -198,11 +199,11 @@ public function fillMatchingFixture() { $std1 = new \stdClass(); $std1->foo = "bar"; - $this->_coll[] = $std1; + $this->collection[] = $std1; $std2 = new \stdClass(); $std2->foo = "baz"; - $this->_coll[] = $std2; + $this->collection[] = $std2; } /** @@ -212,9 +213,9 @@ public function testMatching() { $this->fillMatchingFixture(); - $col = $this->_coll->matching(new Criteria(Criteria::expr()->eq("foo", "bar"))); + $col = $this->collection->matching(new Criteria(Criteria::expr()->eq("foo", "bar"))); $this->assertInstanceOf('Doctrine\Common\Collections\Collection', $col); - $this->assertNotSame($col, $this->_coll); + $this->assertNotSame($col, $this->collection); $this->assertEquals(1, count($col)); } @@ -225,13 +226,13 @@ public function testMatchingOrdering() { $this->fillMatchingFixture(); - $col = $this->_coll->matching(new Criteria(null, array('foo' => 'DESC'))); + $col = $this->collection->matching(new Criteria(null, array('foo' => 'DESC'))); $this->assertInstanceOf('Doctrine\Common\Collections\Collection', $col); - $this->assertNotSame($col, $this->_coll); + $this->assertNotSame($col, $this->collection); $this->assertEquals(2, count($col)); - $this->assertEquals('baz', $col[0]->foo); - $this->assertEquals('bar', $col[1]->foo); + $this->assertEquals('baz', $col->first()->foo); + $this->assertEquals('bar', $col->last()->foo); } /** @@ -241,24 +242,24 @@ public function testMatchingSlice() { $this->fillMatchingFixture(); - $col = $this->_coll->matching(new Criteria(null, null, 1, 1)); + $col = $this->collection->matching(new Criteria(null, null, 1, 1)); $this->assertInstanceOf('Doctrine\Common\Collections\Collection', $col); - $this->assertNotSame($col, $this->_coll); + $this->assertNotSame($col, $this->collection); $this->assertEquals(1, count($col)); $this->assertEquals('baz', $col[0]->foo); } public function testCanRemoveNullValuesByKey() { - $this->_coll->add(null); - $this->_coll->remove(0); - $this->assertTrue($this->_coll->isEmpty()); + $this->collection->add(null); + $this->collection->remove(0); + $this->assertTrue($this->collection->isEmpty()); } public function testCanVerifyExistingKeysWithNullValues() { - $this->_coll->set('key', null); - $this->assertTrue($this->_coll->containsKey('key')); + $this->collection->set('key', null); + $this->assertTrue($this->collection->containsKey('key')); } } diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php index 03fb6cae0aef..1ab058a9b8c7 100644 --- a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php +++ b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php @@ -1,4 +1,5 @@ <?php + namespace Doctrine\Tests\Common\Collections; use Doctrine\Common\Collections\Criteria; @@ -11,7 +12,7 @@ public function testCreate() { $criteria = Criteria::create(); - $this->assertInstanceOf("Doctrine\Common\Collections\Criteria", $criteria); + $this->assertInstanceOf('Doctrine\Common\Collections\Criteria', $criteria); } public function testConstructor() diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php index 06d415570ed4..5f6b4ce2f011 100644 --- a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php +++ b/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php @@ -1,4 +1,5 @@ <?php + namespace Doctrine\Tests\Common\Collections; use Doctrine\Common\Collections\ExpressionBuilder; @@ -10,9 +11,12 @@ */ class ExpressionBuilderTest extends \PHPUnit_Framework_TestCase { + /** + * @var ExpressionBuilder + */ private $builder; - public function setUp() + protected function setUp() { $this->builder = new ExpressionBuilder(); } @@ -21,7 +25,7 @@ public function testAndX() { $expr = $this->builder->andX($this->builder->eq("a", "b")); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\CompositeExpression", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\CompositeExpression', $expr); $this->assertEquals(CompositeExpression::TYPE_AND, $expr->getType()); } @@ -29,7 +33,7 @@ public function testOrX() { $expr = $this->builder->orX($this->builder->eq("a", "b")); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\CompositeExpression", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\CompositeExpression', $expr); $this->assertEquals(CompositeExpression::TYPE_OR, $expr->getType()); } @@ -43,7 +47,7 @@ public function testEq() { $expr = $this->builder->eq("a", "b"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::EQ, $expr->getOperator()); } @@ -51,7 +55,7 @@ public function testNeq() { $expr = $this->builder->neq("a", "b"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::NEQ, $expr->getOperator()); } @@ -59,7 +63,7 @@ public function testLt() { $expr = $this->builder->lt("a", "b"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::LT, $expr->getOperator()); } @@ -67,7 +71,7 @@ public function testGt() { $expr = $this->builder->gt("a", "b"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::GT, $expr->getOperator()); } @@ -75,7 +79,7 @@ public function testGte() { $expr = $this->builder->gte("a", "b"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::GTE, $expr->getOperator()); } @@ -83,7 +87,7 @@ public function testLte() { $expr = $this->builder->lte("a", "b"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::LTE, $expr->getOperator()); } @@ -91,7 +95,7 @@ public function testIn() { $expr = $this->builder->in("a", array("b")); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::IN, $expr->getOperator()); } @@ -99,7 +103,7 @@ public function testNotIn() { $expr = $this->builder->notIn("a", array("b")); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::NIN, $expr->getOperator()); } @@ -107,7 +111,7 @@ public function testIsNull() { $expr = $this->builder->isNull("a"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::EQ, $expr->getOperator()); } @@ -115,8 +119,7 @@ public function testContains() { $expr = $this->builder->contains("a", "b"); - $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr); + $this->assertInstanceOf('Doctrine\Common\Collections\Expr\Comparison', $expr); $this->assertEquals(Comparison::CONTAINS, $expr->getOperator()); } } - diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/DoctrineTestCase.php b/core/vendor/doctrine/collections/tests/Doctrine/Tests/DoctrineTestCase.php deleted file mode 100644 index e8323d294092..000000000000 --- a/core/vendor/doctrine/collections/tests/Doctrine/Tests/DoctrineTestCase.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -namespace Doctrine\Tests; - -/** - * Base testcase class for all Doctrine testcases. - */ -abstract class DoctrineTestCase extends \PHPUnit_Framework_TestCase -{ -} \ No newline at end of file diff --git a/core/vendor/doctrine/common/.travis.yml b/core/vendor/doctrine/common/.travis.yml index 3344d11ada59..9c20a84b43fb 100644 --- a/core/vendor/doctrine/common/.travis.yml +++ b/core/vendor/doctrine/common/.travis.yml @@ -1,10 +1,18 @@ language: php +sudo: false + +cache: + directory: + - $HOME/.composer/cache + php: - 5.3.3 - 5.3 - 5.4 - 5.5 + - 5.6 + - 7.0 - hhvm before_script: @@ -15,4 +23,4 @@ script: matrix: allow_failures: - - php: hhvm + - php: 7.0 diff --git a/core/vendor/doctrine/common/composer.json b/core/vendor/doctrine/common/composer.json index 325c75ca12a1..be42e7fed958 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.4.x-dev" + "dev-master": "2.6.x-dev" } }, "archive": { diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php b/core/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php index 632805e570a8..d65b9a631fa9 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php @@ -30,6 +30,8 @@ * * @author Roman Borschel <roman@code-factory.org> * @since 2.0 + * + * @deprecated the ClassLoader is deprecated and will be removed in version 3.0 of doctrine/common. */ class ClassLoader { @@ -173,7 +175,11 @@ public function unregister() */ public function loadClass($className) { - if ($this->namespace !== null && strpos($className, $this->namespace.$this->namespaceSeparator) !== 0) { + if (self::typeExists($className)) { + return true; + } + + if (! $this->canLoadClass($className)) { return false; } @@ -181,7 +187,7 @@ public function loadClass($className) . str_replace($this->namespaceSeparator, DIRECTORY_SEPARATOR, $className) . $this->fileExtension; - return true; + return self::typeExists($className); } /** @@ -231,37 +237,7 @@ public function canLoadClass($className) */ public static function classExists($className) { - if (class_exists($className, false) || interface_exists($className, false)) { - return true; - } - - foreach (spl_autoload_functions() as $loader) { - if (is_array($loader)) { // array(???, ???) - if (is_object($loader[0])) { - if ($loader[0] instanceof ClassLoader) { // array($obj, 'methodName') - if ($loader[0]->canLoadClass($className)) { - return true; - } - } else if ($loader[0]->{$loader[1]}($className)) { - return true; - } - } else if ($loader[0]::$loader[1]($className)) { // array('ClassName', 'methodName') - return true; - } - } else if ($loader instanceof \Closure) { // function($className) {..} - if ($loader($className)) { - return true; - } - } else if (is_string($loader) && $loader($className)) { // "MyClass::loadClass" - return true; - } - - if (class_exists($className, false) || interface_exists($className, false)) { - return true; - } - } - - return false; + return self::typeExists($className, true); } /** @@ -276,13 +252,29 @@ public static function getClassLoader($className) { foreach (spl_autoload_functions() as $loader) { if (is_array($loader) - && $loader[0] instanceof ClassLoader - && $loader[0]->canLoadClass($className) + && ($classLoader = reset($loader)) + && $classLoader instanceof ClassLoader + && $classLoader->canLoadClass($className) ) { - return $loader[0]; + return $classLoader; } } return null; } + + /** + * Checks whether a given type exists + * + * @param string $type + * @param bool $autoload + * + * @return bool + */ + private static function typeExists($type, $autoload = false) + { + return class_exists($type, $autoload) + || interface_exists($type, $autoload) + || (function_exists('trait_exists') && trait_exists($type, $autoload)); + } } diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php index 15b5aa32cf22..33770f9010e7 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php @@ -19,8 +19,6 @@ namespace Doctrine\Common\Persistence; -use Doctrine\Common\Persistence\ManagerRegistry; - /** * Abstract implementation of the ManagerRegistry contract. * @@ -192,7 +190,7 @@ public function getManagerForClass($class) { // Check for namespace alias if (strpos($class, ':') !== false) { - list($namespaceAlias, $simpleClassName) = explode(':', $class); + list($namespaceAlias, $simpleClassName) = explode(':', $class, 2); $class = $this->getAliasNamespace($namespaceAlias) . '\\' . $simpleClassName; } diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php index 07770bb7cc1b..3d8abbe23837 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php @@ -20,8 +20,8 @@ namespace Doctrine\Common\Persistence\Event; use Doctrine\Common\EventArgs; -use Doctrine\Common\Persistence\ObjectManager; use Doctrine\Common\Persistence\Mapping\ClassMetadata; +use Doctrine\Common\Persistence\ObjectManager; /** * Class that holds event arguments for a loadMetadata event. diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php index d34de841e481..facce64710d5 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php @@ -19,7 +19,6 @@ namespace Doctrine\Common\Persistence\Event; -use Doctrine\Common\EventArgs; use Doctrine\Common\Persistence\ObjectManager; /** diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php index 01ad58fd04d9..404fea91a30b 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php @@ -21,6 +21,7 @@ use Doctrine\Common\Cache\Cache; use Doctrine\Common\Util\ClassUtils; +use ReflectionException; /** * The ClassMetadataFactory is used to create ClassMetadata objects that contain all the @@ -50,7 +51,7 @@ abstract class AbstractClassMetadataFactory implements ClassMetadataFactory private $cacheDriver; /** - * @var array + * @var ClassMetadata[] */ private $loadedMetadata = array(); @@ -89,7 +90,7 @@ public function getCacheDriver() /** * Returns an array of all the loaded metadata currently in memory. * - * @return array + * @return ClassMetadata[] */ public function getLoadedMetadata() { @@ -178,7 +179,10 @@ abstract protected function isEntity(ClassMetadata $class); * * @param string $className The name of the class. * - * @return \Doctrine\Common\Persistence\Mapping\ClassMetadata + * @return ClassMetadata + * + * @throws ReflectionException + * @throws MappingException */ public function getMetadataFor($className) { @@ -186,39 +190,49 @@ public function getMetadataFor($className) return $this->loadedMetadata[$className]; } - $realClassName = $className; - // Check for namespace alias if (strpos($className, ':') !== false) { - list($namespaceAlias, $simpleClassName) = explode(':', $className); + list($namespaceAlias, $simpleClassName) = explode(':', $className, 2); + $realClassName = $this->getFqcnFromAlias($namespaceAlias, $simpleClassName); } else { - $realClassName = ClassUtils::getRealClass($realClassName); + $realClassName = ClassUtils::getRealClass($className); } if (isset($this->loadedMetadata[$realClassName])) { // We do not have the alias name in the map, include it - $this->loadedMetadata[$className] = $this->loadedMetadata[$realClassName]; - - return $this->loadedMetadata[$realClassName]; + return $this->loadedMetadata[$className] = $this->loadedMetadata[$realClassName]; } - if ($this->cacheDriver) { - if (($cached = $this->cacheDriver->fetch($realClassName . $this->cacheSalt)) !== false) { - $this->loadedMetadata[$realClassName] = $cached; - $this->wakeupReflection($cached, $this->getReflectionService()); - } else { - foreach ($this->loadMetadata($realClassName) as $loadedClassName) { - $this->cacheDriver->save( - $loadedClassName . $this->cacheSalt, $this->loadedMetadata[$loadedClassName], null - ); + $loadingException = null; + + try { + if ($this->cacheDriver) { + if (($cached = $this->cacheDriver->fetch($realClassName . $this->cacheSalt)) !== false) { + $this->loadedMetadata[$realClassName] = $cached; + + $this->wakeupReflection($cached, $this->getReflectionService()); + } else { + foreach ($this->loadMetadata($realClassName) as $loadedClassName) { + $this->cacheDriver->save( + $loadedClassName . $this->cacheSalt, + $this->loadedMetadata[$loadedClassName], + null + ); + } } + } else { + $this->loadMetadata($realClassName); } - } else { - $this->loadMetadata($realClassName); + } catch (MappingException $loadingException) { + if (! $fallbackMetadataResponse = $this->onNotFoundMetadata($realClassName)) { + throw $loadingException; + } + + $this->loadedMetadata[$realClassName] = $fallbackMetadataResponse; } - if ($className != $realClassName) { + if ($className !== $realClassName) { // We do not have the alias name in the map, include it $this->loadedMetadata[$className] = $this->loadedMetadata[$realClassName]; } @@ -334,6 +348,20 @@ protected function loadMetadata($name) return $loaded; } + /** + * Provides a fallback hook for loading metadata when loading failed due to reflection/mapping exceptions + * + * Override this method to implement a fallback strategy for failed metadata loading + * + * @param string $className + * + * @return \Doctrine\Common\Persistence\Mapping\ClassMetadata|null + */ + protected function onNotFoundMetadata($className) + { + return null; + } + /** * Actually loads the metadata from the underlying metadata. * @@ -367,7 +395,7 @@ public function isTransient($class) // Check for namespace alias if (strpos($class, ':') !== false) { - list($namespaceAlias, $simpleClassName) = explode(':', $class); + list($namespaceAlias, $simpleClassName) = explode(':', $class, 2); $class = $this->getFqcnFromAlias($namespaceAlias, $simpleClassName); } 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 6668e610e060..8bb574d92e93 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 @@ -20,7 +20,6 @@ namespace Doctrine\Common\Persistence\Mapping\Driver; use Doctrine\Common\Annotations\AnnotationReader; -use Doctrine\Common\Annotations\AnnotationRegistry; use Doctrine\Common\Persistence\Mapping\MappingException; /** diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php index 6a9e27647c7f..58a740b57071 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php @@ -51,7 +51,7 @@ class DefaultFileLocator implements FileLocator * documents and operates in the specified operating mode. * * @param string|array $paths One or multiple paths where mapping documents can be found. - * @param string|null $fileExtension The file extension of mapping documents. + * @param string|null $fileExtension The file extension of mapping documents, usually prefixed with a dot. */ public function __construct($paths, $fileExtension = null) { diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php index 5fa9a7a8016f..26a9f3e2cbfd 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php @@ -19,7 +19,6 @@ namespace Doctrine\Common\Persistence\Mapping\Driver; -use Doctrine\Common\Persistence\Mapping\Driver\MappingDriver; use Doctrine\Common\Persistence\Mapping\ClassMetadata; use Doctrine\Common\Persistence\Mapping\MappingException; diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php index 31651f3ea6e2..6df54b0f7a23 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php @@ -35,7 +35,7 @@ class PHPDriver extends FileDriver { /** - * {@inheritDoc} + * @var ClassMetadata */ protected $metadata; diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php index dd4d741507d7..f334265605b7 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php @@ -53,16 +53,30 @@ class SymfonyFileLocator implements FileLocator */ protected $fileExtension; + /** + * Represents PHP namespace delimiters when looking for files + * + * @var string + */ + private $nsSeparator; + /** * Constructor. * * @param array $prefixes * @param string|null $fileExtension + * @param string $nsSeparator String which would be used when converting FQCN to filename and vice versa. Should not be empty */ - public function __construct(array $prefixes, $fileExtension = null) + public function __construct(array $prefixes, $fileExtension = null, $nsSeparator = '.') { $this->addNamespacePrefixes($prefixes); $this->fileExtension = $fileExtension; + + if (empty($nsSeparator)) { + throw new \InvalidArgumentException('Namespace separator should not be empty'); + } + + $this->nsSeparator = (string) $nsSeparator; } /** @@ -121,7 +135,7 @@ public function setFileExtension($fileExtension) */ public function fileExists($className) { - $defaultFileName = str_replace('\\', '.', $className).$this->fileExtension; + $defaultFileName = str_replace('\\', $this->nsSeparator, $className).$this->fileExtension; foreach ($this->paths as $path) { if (!isset($this->prefixes[$path])) { // global namespace class @@ -138,7 +152,7 @@ public function fileExists($className) continue; } - $filename = $path.'/'.strtr(substr($className, strlen($prefix)+1), '\\', '.').$this->fileExtension; + $filename = $path.'/'.strtr(substr($className, strlen($prefix)+1), '\\', $this->nsSeparator).$this->fileExtension; return is_file($filename); } @@ -172,9 +186,17 @@ public function getAllClassNames($globalBasename = null) // NOTE: All files found here means classes are not transient! if (isset($this->prefixes[$path])) { - $classes[] = $this->prefixes[$path].'\\'.str_replace('.', '\\', $fileName); + + // Calculate namespace suffix for given prefix as a relative path from basepath to file path + $nsSuffix = strtr( + substr(realpath($file->getPath()), strlen(realpath($path))), + $this->nsSeparator, + '\\' + ); + + $classes[] = $this->prefixes[$path] . $nsSuffix . '\\' .str_replace($this->nsSeparator, '\\', $fileName); } else { - $classes[] = str_replace('.', '\\', $fileName); + $classes[] = str_replace($this->nsSeparator, '\\', $fileName); } } } @@ -188,7 +210,7 @@ public function getAllClassNames($globalBasename = null) */ public function findMappingFile($className) { - $defaultFileName = str_replace('\\', '.', $className).$this->fileExtension; + $defaultFileName = str_replace('\\', $this->nsSeparator, $className).$this->fileExtension; foreach ($this->paths as $path) { if (!isset($this->prefixes[$path])) { if (is_file($path.DIRECTORY_SEPARATOR.$defaultFileName)) { @@ -204,7 +226,7 @@ public function findMappingFile($className) continue; } - $filename = $path.'/'.strtr(substr($className, strlen($prefix)+1), '\\', '.').$this->fileExtension; + $filename = $path.'/'.strtr(substr($className, strlen($prefix)+1), '\\', $this->nsSeparator ).$this->fileExtension; if (is_file($filename)) { return $filename; } diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php index c8c32b2900bb..6e97485ebe28 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php @@ -30,7 +30,7 @@ class MappingException extends \Exception * @param string $className * @param array $namespaces * - * @return MappingException + * @return self */ public static function classNotFoundInNamespaces($className, $namespaces) { @@ -39,7 +39,7 @@ public static function classNotFoundInNamespaces($className, $namespaces) } /** - * @return MappingException + * @return self */ public static function pathRequired() { @@ -50,7 +50,7 @@ public static function pathRequired() /** * @param string|null $path * - * @return MappingException + * @return self */ public static function fileMappingDriversRequireConfiguredDirectoryPath($path = null) { @@ -68,7 +68,7 @@ public static function fileMappingDriversRequireConfiguredDirectoryPath($path = * @param string $entityName * @param string $fileName * - * @return MappingException + * @return self */ public static function mappingFileNotFound($entityName, $fileName) { @@ -79,7 +79,7 @@ public static function mappingFileNotFound($entityName, $fileName) * @param string $entityName * @param string $fileName * - * @return MappingException + * @return self */ public static function invalidMappingFile($entityName, $fileName) { @@ -89,7 +89,7 @@ public static function invalidMappingFile($entityName, $fileName) /** * @param string $className * - * @return \Doctrine\Common\Persistence\Mapping\MappingException + * @return self */ public static function nonExistingClass($className) { 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 b9acf9c4877b..4598d5aff24c 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 @@ -19,13 +19,11 @@ namespace Doctrine\Common\Persistence\Mapping; +use Doctrine\Common\Reflection\RuntimePublicReflectionProperty; use ReflectionClass; -use ReflectionProperty; -use ReflectionMethod; use ReflectionException; - -use Doctrine\Common\Reflection\RuntimePublicReflectionProperty; -use Doctrine\Common\Persistence\Mapping\MappingException; +use ReflectionMethod; +use ReflectionProperty; /** * PHP Runtime Reflection Service. diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php index 08c69427a288..a35b71a2883a 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php @@ -19,9 +19,9 @@ namespace Doctrine\Common\Persistence; -use Doctrine\Common\Persistence\Mapping\ClassMetadata; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; +use Doctrine\Common\Persistence\Mapping\ClassMetadata; /** * PersistentObject base class that implements getter/setter methods for all mapped fields and associations diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php index dd1ae1b9b697..bc546902e1ba 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php @@ -19,11 +19,11 @@ namespace Doctrine\Common\Proxy; +use Doctrine\Common\Persistence\Mapping\ClassMetadata; use Doctrine\Common\Persistence\Mapping\ClassMetadataFactory; use Doctrine\Common\Proxy\Exception\InvalidArgumentException; use Doctrine\Common\Proxy\Exception\OutOfBoundsException; use Doctrine\Common\Util\ClassUtils; -use Doctrine\Common\Persistence\Mapping\ClassMetadata; /** * Abstract factory for proxy objects. @@ -189,6 +189,8 @@ public function resetUninitializedProxy(Proxy $proxy) /** * Get a proxy definition for the given class name. * + * @param string $className + * * @return ProxyDefinition */ private function getProxyDefinition($className) @@ -232,13 +234,15 @@ private function getProxyDefinition($className) * Determine if this class should be skipped during proxy generation. * * @param \Doctrine\Common\Persistence\Mapping\ClassMetadata $metadata + * * @return bool */ abstract protected function skipClass(ClassMetadata $metadata); /** + * @param string $className + * * @return ProxyDefinition */ abstract protected function createProxyDefinition($className); } - diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php index 24a219430871..dff54d9fd2fa 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php @@ -69,6 +69,8 @@ public static function proxyNamespaceRequired() } /** + * @param Proxy $proxy + * * @return self */ public static function unitializedProxyExpected(Proxy $proxy) diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php index 348cfcb2579f..3c7415c65789 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php @@ -19,7 +19,6 @@ namespace Doctrine\Common\Proxy\Exception; -use Doctrine\Common\Persistence\Proxy; use OutOfBoundsException as BaseOutOfBoundsException; /** diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php index 2b8e6386115e..154b91779956 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php @@ -31,6 +31,8 @@ class UnexpectedValueException extends BaseUnexpectedValueException implements ProxyException { /** + * @param string $proxyDirectory + * * @return self */ public static function proxyDirectoryNotWritable($proxyDirectory) diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php index 83684306a693..bd2b0887478d 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php @@ -19,8 +19,8 @@ namespace Doctrine\Common\Proxy; -use Doctrine\Common\Persistence\Proxy as BaseProxy; use Closure; +use Doctrine\Common\Persistence\Proxy as BaseProxy; /** * Interface for proxy classes. diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php index 4c5a239a4a5e..c9d0e2cf96a3 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php @@ -20,9 +20,9 @@ namespace Doctrine\Common\Proxy; use Doctrine\Common\Persistence\Mapping\ClassMetadata; -use Doctrine\Common\Util\ClassUtils; use Doctrine\Common\Proxy\Exception\InvalidArgumentException; use Doctrine\Common\Proxy\Exception\UnexpectedValueException; +use Doctrine\Common\Util\ClassUtils; /** * This factory is used to generate proxy classes. @@ -37,7 +37,7 @@ class ProxyGenerator * Used to match very simple id methods that don't need * to be decorated since the identifier is known. */ - const PATTERN_MATCH_ID_METHOD = '((public\s)?(function\s{1,}%s\s?\(\)\s{1,})\s{0,}{\s{0,}return\s{0,}\$this->%s;\s{0,}})i'; + const PATTERN_MATCH_ID_METHOD = '((public\s+)?(function\s+%s\s*\(\)\s*)\s*{\s*return\s*\$this->%s;\s*})i'; /** * The namespace that contains all proxy classes. @@ -302,6 +302,7 @@ public function generateProxyClass(ClassMetadata $class, $fileName = false) $tmpFileName = $fileName . '.' . uniqid('', true); file_put_contents($tmpFileName, $proxyCode); + chmod($tmpFileName, 0664); rename($tmpFileName, $fileName); } @@ -776,55 +777,7 @@ private function generateMethods(ClassMetadata $class) $methods .= '&'; } - $methods .= $name . '('; - - $firstParam = true; - $parameterString = ''; - $argumentString = ''; - $parameters = array(); - - foreach ($method->getParameters() as $param) { - if ($firstParam) { - $firstParam = false; - } else { - $parameterString .= ', '; - $argumentString .= ', '; - } - - try { - $paramClass = $param->getClass(); - } catch (\ReflectionException $previous) { - throw UnexpectedValueException::invalidParameterTypeHint( - $class->getName(), - $method->getName(), - $param->getName(), - $previous - ); - } - - // We need to pick the type hint class too - if (null !== $paramClass) { - $parameterString .= '\\' . $paramClass->getName() . ' '; - } elseif ($param->isArray()) { - $parameterString .= 'array '; - } elseif (method_exists($param, 'isCallable') && $param->isCallable()) { - $parameterString .= 'callable '; - } - - if ($param->isPassedByReference()) { - $parameterString .= '&'; - } - - $parameters[] = '$' . $param->getName(); - $parameterString .= '$' . $param->getName(); - $argumentString .= '$' . $param->getName(); - - if ($param->isDefaultValueAvailable()) { - $parameterString .= ' = ' . var_export($param->getDefaultValue(), true); - } - } - - $methods .= $parameterString . ')'; + $methods .= $name . '(' . $this->buildParametersString($class, $method, $method->getParameters()) . ')'; $methods .= "\n" . ' {' . "\n"; if ($this->isShortIdentifierGetter($method, $class)) { @@ -837,10 +790,13 @@ private function generateMethods(ClassMetadata $class) $methods .= ' }' . "\n\n"; } + $invokeParamsString = implode(', ', $this->getParameterNamesForInvoke($method->getParameters())); + $callParamsString = implode(', ', $this->getParameterNamesForParentCall($method->getParameters())); + $methods .= "\n \$this->__initializer__ " . "&& \$this->__initializer__->__invoke(\$this, " . var_export($name, true) - . ", array(" . implode(', ', $parameters) . "));" - . "\n\n return parent::" . $name . '(' . $argumentString . ');' + . ", array(" . $invokeParamsString . "));" + . "\n\n return parent::" . $name . '(' . $callParamsString . ');' . "\n" . ' }' . "\n"; } @@ -928,5 +884,123 @@ private function getLazyLoadedPublicProperties(ClassMetadata $class) return $properties; } -} + /** + * @param ClassMetadata $class + * @param \ReflectionMethod $method + * @param \ReflectionParameter[] $parameters + * + * @return string + */ + private function buildParametersString(ClassMetadata $class, \ReflectionMethod $method, array $parameters) + { + $parameterDefinitions = array(); + + /* @var $param \ReflectionParameter */ + foreach ($parameters as $param) { + $parameterDefinition = ''; + + if ($parameterType = $this->getParameterType($class, $method, $param)) { + $parameterDefinition .= $parameterType . ' '; + } + + if ($param->isPassedByReference()) { + $parameterDefinition .= '&'; + } + + if (method_exists($param, 'isVariadic')) { + if ($param->isVariadic()) { + $parameterDefinition .= '...'; + } + } + + $parameters[] = '$' . $param->getName(); + $parameterDefinition .= '$' . $param->getName(); + + if ($param->isDefaultValueAvailable()) { + $parameterDefinition .= ' = ' . var_export($param->getDefaultValue(), true); + } + + $parameterDefinitions[] = $parameterDefinition; + } + + return implode(', ', $parameterDefinitions); + } + + /** + * @param ClassMetadata $class + * @param \ReflectionMethod $method + * @param \ReflectionParameter $parameter + * + * @return string|null + */ + private function getParameterType(ClassMetadata $class, \ReflectionMethod $method, \ReflectionParameter $parameter) + { + + // We need to pick the type hint class too + if ($parameter->isArray()) { + return 'array'; + } + + if (method_exists($parameter, 'isCallable') && $parameter->isCallable()) { + return 'callable'; + } + + try { + $parameterClass = $parameter->getClass(); + + if ($parameterClass) { + return '\\' . $parameterClass->getName(); + } + } catch (\ReflectionException $previous) { + throw UnexpectedValueException::invalidParameterTypeHint( + $class->getName(), + $method->getName(), + $parameter->getName(), + $previous + ); + } + + return null; + } + + /** + * @param \ReflectionParameter[] $parameters + * + * @return string[] + */ + private function getParameterNamesForInvoke(array $parameters) + { + return array_map( + function (\ReflectionParameter $parameter) { + return '$' . $parameter->getName(); + }, + $parameters + ); + } + + /** + * @param \ReflectionParameter[] $parameters + * + * @return string[] + */ + private function getParameterNamesForParentCall(array $parameters) + { + return array_map( + function (\ReflectionParameter $parameter) { + $name = ''; + + if (method_exists($parameter, 'isVariadic')) { + if ($parameter->isVariadic()) { + $name .= '...'; + } + } + + $name .= '$' . $parameter->getName(); + + return $name; + }, + $parameters + ); + } +} diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php index f155c45d6841..4e8ef5303ab3 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php @@ -19,8 +19,8 @@ namespace Doctrine\Common\Reflection; -use ReflectionProperty; use Doctrine\Common\Proxy\Proxy; +use ReflectionProperty; /** * PHP Runtime Reflection Public Property - special overrides for public properties. diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php index 311e13044e65..8d5380b322ca 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php @@ -19,8 +19,8 @@ namespace Doctrine\Common\Reflection; -use ReflectionMethod; use ReflectionException; +use ReflectionMethod; class StaticReflectionMethod extends ReflectionMethod { diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php index aac1f9090efe..922404d987ff 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php @@ -19,8 +19,8 @@ namespace Doctrine\Common\Reflection; -use ReflectionException; use Doctrine\Common\Annotations\TokenParser; +use ReflectionException; /** * Parses a file for namespaces/use/class declarations. diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php index 1664822033af..79b40d4a0cae 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php @@ -19,8 +19,8 @@ namespace Doctrine\Common\Reflection; -use ReflectionProperty; use ReflectionException; +use ReflectionProperty; class StaticReflectionProperty extends ReflectionProperty { 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 8f25c9ab20c8..0959ce5d5b5d 100644 --- a/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php +++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php @@ -48,10 +48,17 @@ 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) + public static function dump($var, $maxDepth = 2, $stripTags = true, $echo = true) { - ini_set('html_errors', 'On'); + $html = ini_get('html_errors'); + + if ($html !== true) { + ini_set('html_errors', true); + } if (extension_loaded('xdebug')) { ini_set('xdebug.var_display_max_depth', $maxDepth); @@ -61,12 +68,20 @@ public static function dump($var, $maxDepth = 2, $stripTags = true) ob_start(); var_dump($var); + $dump = ob_get_contents(); + ob_end_clean(); - echo ($stripTags ? strip_tags(html_entity_decode($dump)) : $dump); + $dumpText = ($stripTags ? strip_tags(html_entity_decode($dump)) : $dump); - ini_set('html_errors', 'Off'); + ini_set('html_errors', $html); + + if ($echo) { + echo $dumpText; + } + + return $dumpText; } /** diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php index ea1760ad6a6b..80c1fbf76a86 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.4.2'; + const VERSION = '2.6.0-DEV'; /** * Compares a Doctrine version with the current one. diff --git a/core/vendor/doctrine/common/phpunit.xml.dist b/core/vendor/doctrine/common/phpunit.xml.dist index b9d3b3401c47..f6fcf84984b5 100644 --- a/core/vendor/doctrine/common/phpunit.xml.dist +++ b/core/vendor/doctrine/common/phpunit.xml.dist @@ -22,10 +22,4 @@ <directory>./lib/Doctrine/</directory> </whitelist> </filter> - - <groups> - <exclude> - <group>performance</group> - </exclude> - </groups> </phpunit> diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php index 1eb2216b69b7..801a685835b0 100644 --- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php @@ -61,4 +61,73 @@ public function testClassExistsWithSilentAutoloader() spl_autoload_unregister($additionalLoader); spl_autoload_unregister($silentLoader); } + + public function testClassExistsWhenLoaderIsProtected() + { + require_once __DIR__ . '/ClassLoaderTest/ExternalLoader.php'; + + // Test static call + \ClassLoaderTest\ExternalLoader::registerStatic(); + $this->assertFalse(ClassLoader::classExists('ClassLoaderTest\Class\That\Does\Not\Exist')); + \ClassLoaderTest\ExternalLoader::unregisterStatic(); + + // Test object + $loader = new \ClassLoaderTest\ExternalLoader(); + $loader->register(); + $this->assertFalse(ClassLoader::classExists('ClassLoaderTest\Class\That\Does\Not\Exist')); + $loader->unregister(); + } + + public function testLoadNonExistingClass() + { + $classLoader = new ClassLoader('ClassLoaderTest', __DIR__); + + $this->assertFalse($classLoader->loadClass('ClassLoaderTest\Non\Existing\ClassName')); + } + + public function testLoadFileNotContainingClassClass() + { + $classLoader = new ClassLoader('ClassLoaderTest', __DIR__); + + $classLoader->setFileExtension('.class.php'); + + $this->assertFalse($classLoader->loadClass('ClassLoaderTest\EmptyFile')); + } + + public function testSupportsInterfaceAutoloading() + { + $classLoader = new ClassLoader(); + $classLoader->setIncludePath(__DIR__); + $classLoader->setFileExtension('.class.php'); + $classLoader->setNamespaceSeparator('_'); + + $this->assertTrue($classLoader->loadClass('ClassLoaderTest_InterfaceA')); + $this->assertTrue(interface_exists('ClassLoaderTest_InterfaceA', false)); + } + + public function testSupportsTraitAutoloading() + { + if (! function_exists('trait_exists')) { + $this->markTestSkipped('You need a PHP version that supports traits in order to run this test'); + } + + $classLoader = new ClassLoader(); + $classLoader->setIncludePath(__DIR__); + $classLoader->setFileExtension('.class.php'); + $classLoader->setNamespaceSeparator('_'); + + $this->assertTrue($classLoader->loadClass('ClassLoaderTest_TraitA')); + $this->assertTrue(trait_exists('ClassLoaderTest_TraitA', false)); + } + + public function testMultipleAutoloadRequestsWillProduceSameResult() + { + $classLoader = new ClassLoader(); + $classLoader->setIncludePath(__DIR__); + $classLoader->setFileExtension('.class.php'); + $classLoader->setNamespaceSeparator('_'); + + $this->assertTrue($classLoader->loadClass('ClassLoaderTest_ClassA')); + $this->assertTrue($classLoader->loadClass('ClassLoaderTest_ClassA')); + } } diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/EmptyFile.class.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/EmptyFile.class.php new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php new file mode 100644 index 000000000000..782c20860d2d --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php @@ -0,0 +1,38 @@ +<?php + +namespace ClassLoaderTest; + +class ExternalLoader +{ + public static function registerStatic() { + spl_autoload_register(array('ClassLoaderTest\ExternalLoader', 'load1')); + spl_autoload_register(array('ClassLoaderTest\ExternalLoader', 'load2')); + spl_autoload_register('ClassLoaderTest\ExternalLoader::load3'); + } + + public static function unregisterStatic() { + spl_autoload_unregister(array('ClassLoaderTest\ExternalLoader', 'load1')); + spl_autoload_unregister(array('ClassLoaderTest\ExternalLoader', 'load2')); + spl_autoload_unregister('ClassLoaderTest\ExternalLoader::load3'); + } + + public static function load1() {} + + protected static function load2() {} + + protected static function load3() {} + + public function register() { + spl_autoload_register(array($this, 'load4')); + spl_autoload_register(array($this, 'load5')); + } + + public function unregister() { + spl_autoload_unregister(array($this, 'load4')); + spl_autoload_unregister(array($this, 'load5')); + } + + public function load4() {} + + protected function load5() {} +} diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php new file mode 100644 index 000000000000..9cbbb8b1d3a0 --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php @@ -0,0 +1,5 @@ +<?php + +interface ClassLoaderTest_InterfaceA +{ +} diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php new file mode 100644 index 000000000000..e4034ca24edb --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php @@ -0,0 +1,5 @@ +<?php + +trait ClassLoaderTest_TraitA +{ +} diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php new file mode 100644 index 000000000000..7c93290913f3 --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php @@ -0,0 +1,97 @@ +<?php + +namespace Doctrine\Tests\Common\Persistence; + +use Doctrine\Common\Persistence\AbstractManagerRegistry; +use Doctrine\Tests\Common\Persistence\Mapping\TestClassMetadataFactory; +use Doctrine\Tests\DoctrineTestCase; +use PHPUnit_Framework_TestCase; + +/** + * @groups DCOM-270 + * @uses Doctrine\Tests\Common\Persistence\TestObject + */ +class ManagerRegistryTest extends DoctrineTestCase +{ + /** + * @var TestManagerRegistry + */ + private $mr; + + /** + * {@inheritdoc} + */ + public function setUp() + { + $this->mr = new TestManagerRegistry( + 'ORM', + array('default_connection'), + array('default_manager'), + 'default', + 'default', + 'Doctrine\Common\Persistence\ObjectManagerAware' + ); + } + + public function testGetManagerForClass() + { + $this->mr->getManagerForClass('Doctrine\Tests\Common\Persistence\TestObject'); + } + + public function testGetManagerForInvalidClass() + { + $this->setExpectedException( + 'ReflectionException', + 'Class Doctrine\Tests\Common\Persistence\TestObjectInexistent does not exist' + ); + + $this->mr->getManagerForClass('prefix:TestObjectInexistent'); + } + + public function testGetManagerForAliasedClass() + { + $this->mr->getManagerForClass('prefix:TestObject'); + } + + public function testGetManagerForInvalidAliasedClass() + { + $this->setExpectedException( + 'ReflectionException', + 'Class Doctrine\Tests\Common\Persistence\TestObject:Foo does not exist' + ); + + $this->mr->getManagerForClass('prefix:TestObject:Foo'); + } +} + +class TestManager extends PHPUnit_Framework_TestCase +{ + public function getMetadataFactory() + { + $driver = $this->getMock('Doctrine\Common\Persistence\Mapping\Driver\MappingDriver'); + $metadata = $this->getMock('Doctrine\Common\Persistence\Mapping\ClassMetadata'); + + return new TestClassMetadataFactory($driver, $metadata); + } +} + +class TestManagerRegistry extends AbstractManagerRegistry +{ + protected function getService($name) + { + return new TestManager(); + } + + /** + * {@inheritdoc} + */ + protected function resetService($name) + { + + } + + public function getAliasNamespace($alias) + { + return __NAMESPACE__; + } +} \ No newline at end of file diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php index c5a457f6820f..b3815de97cd8 100644 --- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php @@ -78,11 +78,58 @@ public function testCacheGetMetadataFor() public function testGetAliasedMetadata() { - $loadedMetadata = $this->cmf->getMetadataFor('prefix:ChildEntity'); + $this->cmf->getMetadataFor('prefix:ChildEntity'); $this->assertTrue($this->cmf->hasMetadataFor(__NAMESPACE__ . '\ChildEntity')); $this->assertTrue($this->cmf->hasMetadataFor('prefix:ChildEntity')); } + + /** + * @group DCOM-270 + */ + public function testGetInvalidAliasedMetadata() + { + $this->setExpectedException( + 'Doctrine\Common\Persistence\Mapping\MappingException', + 'Class \'Doctrine\Tests\Common\Persistence\Mapping\ChildEntity:Foo\' does not exist' + ); + + $this->cmf->getMetadataFor('prefix:ChildEntity:Foo'); + } + + /** + * @group DCOM-270 + */ + public function testClassIsTransient() + { + $this->assertTrue($this->cmf->isTransient('prefix:ChildEntity:Foo')); + } + + public function testWillFallbackOnNotLoadedMetadata() + { + $classMetadata = $this->getMock('Doctrine\Common\Persistence\Mapping\ClassMetadata'); + + $this->cmf->fallbackCallback = function () use ($classMetadata) { + return $classMetadata; + }; + + $this->cmf->metadata = null; + + $this->assertSame($classMetadata, $this->cmf->getMetadataFor('Foo')); + } + + public function testWillFailOnFallbackFailureWithNotLoadedMetadata() + { + $this->cmf->fallbackCallback = function () { + return null; + }; + + $this->cmf->metadata = null; + + $this->setExpectedException('Doctrine\Common\Persistence\Mapping\MappingException'); + + $this->cmf->getMetadataFor('Foo'); + } } class TestClassMetadataFactory extends AbstractClassMetadataFactory @@ -90,6 +137,9 @@ class TestClassMetadataFactory extends AbstractClassMetadataFactory public $driver; public $metadata; + /** @var callable|null */ + public $fallbackCallback; + public function __construct($driver, $metadata) { $this->driver = $driver; @@ -132,6 +182,20 @@ protected function isEntity(ClassMetadata $class) { return true; } + + protected function onNotFoundMetadata($className) + { + if (! $fallback = $this->fallbackCallback) { + return null; + } + + return $fallback(); + } + + public function isTransient($class) + { + return true; + } } class RootEntity diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php index b51162e6886a..e79b8f45d93f 100644 --- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php @@ -62,6 +62,91 @@ public function testGetAllClassNames() $this->assertEquals(array("Foo\\stdClass"), $locator->getAllClassNames("global")); } + /** + * @expectedException \InvalidArgumentException + * @expectedExceptionMessage Namespace separator should not be empty + */ + public function testInvalidCustomNamespaceSeparator() + { + $path = __DIR__ . "/_files"; + $prefix = "Foo"; + + new SymfonyFileLocator(array($path => $prefix), ".yml", null); + } + + public function customNamespaceSeparatorProvider() + { + return array( + 'directory separator' => array(DIRECTORY_SEPARATOR, "/_custom_ns/dir"), + 'default dot separator' => array('.', "/_custom_ns/dot"), + ); + } + + /** + * @dataProvider customNamespaceSeparatorProvider + * + * @param $separator string Directory separator to test against + * @param $dir string Path to load mapping data from + * + * @throws \Doctrine\Common\Persistence\Mapping\MappingException + */ + public function testGetClassNamesWithCustomNsSeparator($separator, $dir) + { + $path = __DIR__ . $dir; + $prefix = "Foo"; + + $locator = new SymfonyFileLocator(array($path => $prefix), ".yml", $separator); + $classes = $locator->getAllClassNames(null); + sort($classes); + + $this->assertEquals(array("Foo\\stdClass", "Foo\\sub\\subClass", "Foo\\sub\\subsub\\subSubClass"), $classes); + } + + public function customNamespaceLookupQueryProvider() + { + return array( + 'directory separator' => array( + DIRECTORY_SEPARATOR, + "/_custom_ns/dir", + array( + "stdClass.yml" => "Foo\\stdClass", + "sub/subClass.yml" => "Foo\\sub\\subClass", + "sub/subsub/subSubClass.yml" => "Foo\\sub\\subsub\\subSubClass", + ) + ), + 'default dot separator' => array( + '.', + "/_custom_ns/dot", + array( + "stdClass.yml" => "Foo\\stdClass", + "sub.subClass.yml" => "Foo\\sub\\subClass", + "sub.subsub.subSubClass.yml" => "Foo\\sub\\subsub\\subSubClass", + ) + ), + ); + } + + /** @dataProvider customNamespaceLookupQueryProvider + * @param $separator string Directory separator to test against + * @param $dir string Path to load mapping data from + * @param $files array Files to lookup classnames + * + * @throws \Doctrine\Common\Persistence\Mapping\MappingException + */ + public function testFindMappingFileWithCustomNsSeparator($separator, $dir, $files) + { + $path = __DIR__ . $dir; + $prefix = "Foo"; + + $locator = new SymfonyFileLocator(array($path => $prefix), ".yml", $separator); + + foreach ($files as $filePath => $className) { + $this->assertEquals(realpath($path .'/'. $filePath), realpath($locator->findMappingFile($className))); + } + + } + + public function testFindMappingFile() { $path = __DIR__ . "/_files"; diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml new file mode 100644 index 000000000000..9daeafb9864c --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml @@ -0,0 +1 @@ +test diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml new file mode 100644 index 000000000000..9daeafb9864c --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml @@ -0,0 +1 @@ +test diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml new file mode 100644 index 000000000000..9daeafb9864c --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml @@ -0,0 +1 @@ +test diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml new file mode 100644 index 000000000000..9daeafb9864c --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml @@ -0,0 +1 @@ +test diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml new file mode 100644 index 000000000000..9daeafb9864c --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml @@ -0,0 +1 @@ +test diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml new file mode 100644 index 000000000000..9daeafb9864c --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml @@ -0,0 +1 @@ +test diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php index 45d45e5d6a37..5de83a180b1f 100644 --- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php @@ -163,6 +163,27 @@ public function testClassWithCallableTypeHintOnProxiedMethod() $this->assertEquals(1, substr_count($classCode, 'call(callable $foo)')); } + public function testClassWithVariadicArgumentOnProxiedMethod() + { + if (PHP_VERSION_ID < 50600) { + $this->markTestSkipped('`...` is only supported in PHP >=5.6.0'); + } + + if (!class_exists('Doctrine\Tests\Common\ProxyProxy\__CG__\VariadicTypeHintClass', false)) { + $className = 'Doctrine\Tests\Common\Proxy\VariadicTypeHintClass'; + $metadata = $this->createClassMetadata($className, array('id')); + + $proxyGenerator = new ProxyGenerator(__DIR__ . '/generated', __NAMESPACE__ . 'Proxy', true); + $this->generateAndRequire($proxyGenerator, $metadata); + } + + $classCode = file_get_contents(__DIR__ . '/generated/__CG__DoctrineTestsCommonProxyVariadicTypeHintClass.php'); + + $this->assertEquals(1, substr_count($classCode, 'function addType(...$types)')); + $this->assertEquals(1, substr_count($classCode, '__invoke($this, \'addType\', array($types))')); + $this->assertEquals(1, substr_count($classCode, 'parent::addType(...$types)')); + } + public function testClassWithInvalidTypeHintOnProxiedMethod() { $className = 'Doctrine\Tests\Common\Proxy\InvalidTypeHintClass'; diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php index 9a5173c1db26..c97ac79f27b4 100644 --- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php @@ -591,6 +591,62 @@ function () use ($test) { $this->assertSame('newPersistentFieldValue', $this->lazyObject->publicPersistentField); } + public function testCallingVariadicMethodCausesLazyLoading() + { + if (PHP_VERSION_ID < 50600) { + $this->markTestSkipped('Test applies only to PHP 5.6+'); + } + + $proxyClassName = 'Doctrine\Tests\Common\ProxyProxy\__CG__\Doctrine\Tests\Common\Proxy\VariadicTypeHintClass'; + + /* @var $metadata \Doctrine\Common\Persistence\Mapping\ClassMetadata|\PHPUnit_Framework_MockObject_MockObject */ + $metadata = $this->getMock('Doctrine\Common\Persistence\Mapping\ClassMetadata'); + + $metadata + ->expects($this->any()) + ->method('getName') + ->will($this->returnValue('Doctrine\Tests\Common\Proxy\VariadicTypeHintClass')); + $metadata + ->expects($this->any()) + ->method('getReflectionClass') + ->will($this->returnValue(new \ReflectionClass('Doctrine\Tests\Common\Proxy\VariadicTypeHintClass'))); + + // creating the proxy class + if (!class_exists($proxyClassName, false)) { + $proxyGenerator = new ProxyGenerator(__DIR__ . '/generated', __NAMESPACE__ . 'Proxy', true); + $proxyGenerator->generateProxyClass($metadata); + require_once $proxyGenerator->getProxyFileName($metadata->getName()); + } + + /* @var $invocationMock callable|\PHPUnit_Framework_MockObject_MockObject */ + $invocationMock = $this->getMock('stdClass', array('__invoke')); + + /* @var $lazyObject \Doctrine\Tests\Common\Proxy\VariadicTypeHintClass */ + $lazyObject = new $proxyClassName( + function ($proxy, $method, $parameters) use ($invocationMock) { + $invocationMock($proxy, $method, $parameters); + }, + function () {} + ); + + $invocationMock + ->expects($this->at(0)) + ->method('__invoke') + ->with($lazyObject, 'addType', array(array('type1', 'type2'))); + $invocationMock + ->expects($this->at(1)) + ->method('__invoke') + ->with($lazyObject, 'addTypeWithMultipleParameters', array('foo', 'bar', array('baz1', 'baz2'))); + + $lazyObject->addType('type1', 'type2'); + $this->assertSame(array('type1', 'type2'), $lazyObject->types); + + $lazyObject->addTypeWithMultipleParameters('foo', 'bar', 'baz1', 'baz2'); + $this->assertSame('foo', $lazyObject->foo); + $this->assertSame('bar', $lazyObject->bar); + $this->assertSame(array('baz1', 'baz2'), $lazyObject->baz); + } + /** * Converts a given callable into a closure * diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php new file mode 100644 index 000000000000..3333d177acf6 --- /dev/null +++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php @@ -0,0 +1,29 @@ +<?php + +namespace Doctrine\Tests\Common\Proxy; + +/** + * Test asset class + */ +class VariadicTypeHintClass +{ + public $types; + public $foo; + public $bar; + public $baz; + + /** + * @param ...$types + */ + public function addType(...$types) + { + $this->types = $types; + } + + public function addTypeWithMultipleParameters($foo, $bar, ...$baz) + { + $this->foo = $foo; + $this->bar = $bar; + $this->baz = $baz; + } +} 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 f6fc069772d7..66e83376f9d1 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,4 +37,29 @@ 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/annotations/.gitignore b/core/vendor/doctrine/inflector/.gitignore similarity index 75% rename from core/vendor/doctrine/annotations/.gitignore rename to core/vendor/doctrine/inflector/.gitignore index 164c3466290a..f2cb7f83eee2 100644 --- a/core/vendor/doctrine/annotations/.gitignore +++ b/core/vendor/doctrine/inflector/.gitignore @@ -1,3 +1,4 @@ vendor/ composer.lock composer.phar +phpunit.xml diff --git a/core/vendor/doctrine/annotations/.travis.yml b/core/vendor/doctrine/inflector/.travis.yml similarity index 50% rename from core/vendor/doctrine/annotations/.travis.yml rename to core/vendor/doctrine/inflector/.travis.yml index 7f6c0efe4570..6b1d8ffd8ef4 100644 --- a/core/vendor/doctrine/annotations/.travis.yml +++ b/core/vendor/doctrine/inflector/.travis.yml @@ -7,5 +7,5 @@ php: - 5.6 - hhvm -before_script: - - composer --prefer-source --dev install +install: + - composer --prefer-source install diff --git a/core/vendor/doctrine/inflector/LICENSE b/core/vendor/doctrine/inflector/LICENSE new file mode 100644 index 000000000000..5e781fce4bb5 --- /dev/null +++ b/core/vendor/doctrine/inflector/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2006-2013 Doctrine Project + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/core/vendor/doctrine/inflector/README.md b/core/vendor/doctrine/inflector/README.md index f2d18d0f165f..acb55a014bd7 100644 --- a/core/vendor/doctrine/inflector/README.md +++ b/core/vendor/doctrine/inflector/README.md @@ -2,3 +2,5 @@ Doctrine Inflector is a small library that can perform string manipulations with regard to upper-/lowercase and singular/plural forms of words. + +[](https://travis-ci.org/doctrine/inflector) diff --git a/core/vendor/doctrine/inflector/composer.json b/core/vendor/doctrine/inflector/composer.json index 3d3c3f90f35a..a29c68cfb798 100644 --- a/core/vendor/doctrine/inflector/composer.json +++ b/core/vendor/doctrine/inflector/composer.json @@ -2,7 +2,7 @@ "name": "doctrine/inflector", "type": "library", "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "keywords": ["string", "inflection", "singuarlize", "pluarlize"], + "keywords": ["string", "inflection", "singularize", "pluralize"], "homepage": "http://www.doctrine-project.org", "license": "MIT", "authors": [ @@ -15,7 +15,15 @@ "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, "autoload": { "psr-0": { "Doctrine\\Common\\Inflector\\": "lib/" } + }, + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } } } diff --git a/core/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php b/core/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php index f4e38e765f73..b007b2179491 100644 --- a/core/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php +++ b/core/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php @@ -20,23 +20,23 @@ namespace Doctrine\Common\Inflector; /** - * Doctrine inflector has static methods for inflecting text + * Doctrine inflector has static methods for inflecting text. * * The methods in these classes are from several different sources collected * across several different php projects and several different authors. The * original author names and emails are not known. * - * Plurialize & Singularize implementation are borrowed from CakePHP with some modifications. + * Pluralize & Singularize implementation are borrowed from CakePHP with some modifications. * - * @link www.doctrine-project.org - * @since 1.0 - * @author Konsta Vesterinen <kvesteri@cc.hut.fi> - * @author Jonathan H. Wage <jonwage@gmail.com> + * @link www.doctrine-project.org + * @since 1.0 + * @author Konsta Vesterinen <kvesteri@cc.hut.fi> + * @author Jonathan H. Wage <jonwage@gmail.com> */ class Inflector { /** - * Plural inflector rules + * Plural inflector rules. * * @var array */ @@ -77,11 +77,13 @@ class Inflector 'cookie' => 'cookies', 'corpus' => 'corpuses', 'cow' => 'cows', + 'criteria' => 'criterion', 'ganglion' => 'ganglions', 'genie' => 'genies', 'genus' => 'genera', 'graffito' => 'graffiti', 'hoof' => 'hoofs', + 'human' => 'humans', 'loaf' => 'loaves', 'man' => 'men', 'money' => 'monies', @@ -100,12 +102,12 @@ class Inflector 'soliloquy' => 'soliloquies', 'testis' => 'testes', 'trilby' => 'trilbys', - 'turf' => 'turfs' + 'turf' => 'turfs', ) ); /** - * Singular inflector rules + * Singular inflector rules. * * @var array */ @@ -144,20 +146,28 @@ class Inflector '/(n)ews$/i' => '\1\2ews', '/eaus$/' => 'eau', '/^(.*us)$/' => '\\1', - '/s$/i' => '' + '/s$/i' => '', ), 'uninflected' => array( - '.*[nrlm]ese', '.*deer', '.*fish', '.*measles', '.*ois', '.*pox', '.*sheep', '.*ss' + '.*[nrlm]ese', + '.*deer', + '.*fish', + '.*measles', + '.*ois', + '.*pox', + '.*sheep', + '.*ss', ), 'irregular' => array( + 'criterion' => 'criteria', + 'curves' => 'curve', 'foes' => 'foe', 'waves' => 'wave', - 'curves' => 'curve' ) ); /** - * Words that should not be inflected + * Words that should not be inflected. * * @var array */ @@ -171,9 +181,9 @@ class Inflector 'mews', 'moose', 'mumps', 'Nankingese', 'news', 'nexus', 'Niasese', 'Pekingese', 'Piedmontese', 'pincers', 'Pistoiese', 'pliers', 'Portuguese', 'proceedings', 'rabies', 'rice', 'rhinoceros', 'salmon', 'Sarawakese', 'scissors', - 'sea[- ]bass', 'series', 'Shavese', 'shears', 'siemens', 'species', 'swine', 'testes', - 'trousers', 'trout', 'tuna', 'Vermontese', 'Wenchowese', 'whiting', 'wildebeest', - 'Yengeese' + 'sea[- ]bass', 'series', 'Shavese', 'shears', 'siemens', 'species', 'staff', 'swine', + 'testes', 'trousers', 'trout', 'tuna', 'Vermontese', 'Wenchowese', 'whiting', + 'wildebeest', 'Yengeese' ); /** @@ -191,10 +201,11 @@ class Inflector private static $initialState = array(); /** - * Convert word in to the format for a Doctrine table name. Converts 'ModelName' to 'model_name' + * Converts a word into the format for a Doctrine table name. Converts 'ModelName' to 'model_name'. * - * @param string $word Word to tableize - * @return string $word Tableized word + * @param string $word The word to tableize. + * + * @return string The tableized word. */ public static function tableize($word) { @@ -202,10 +213,11 @@ public static function tableize($word) } /** - * Convert a word in to the format for a Doctrine class name. Converts 'table_name' to 'TableName' + * Converts a word into the format for a Doctrine class name. Converts 'table_name' to 'TableName'. + * + * @param string $word The word to classify. * - * @param string $word Word to classify - * @return string $word Classified word + * @return string The classified word. */ public static function classify($word) { @@ -213,10 +225,11 @@ public static function classify($word) } /** - * Camelize a word. This uses the classify() method and turns the first character to lowercase + * Camelizes a word. This uses the classify() method and turns the first character to lowercase. + * + * @param string $word The word to camelize. * - * @param string $word - * @return string $word + * @return string The camelized word. */ public static function camelize($word) { @@ -224,7 +237,7 @@ public static function camelize($word) } /** - * Clears Inflectors inflected value caches. And resets the inflection + * Clears Inflectors inflected value caches, and resets the inflection * rules to the initial values. * * @return void @@ -233,8 +246,10 @@ public static function reset() { if (empty(self::$initialState)) { self::$initialState = get_class_vars('Inflector'); + return; } + foreach (self::$initialState as $key => $val) { if ($key != 'initialState') { self::${$key} = $val; @@ -256,44 +271,50 @@ public static function reset() * )); * }}} * - * @param string $type The type of inflection, either 'plural' or 'singular' - * @param array $rules Array of rules to be added. + * @param string $type The type of inflection, either 'plural' or 'singular' + * @param array $rules An array of rules to be added. * @param boolean $reset If true, will unset default inflections for all - * new rules that are being defined in $rules. + * new rules that are being defined in $rules. + * * @return void */ public static function rules($type, $rules, $reset = false) { foreach ($rules as $rule => $pattern) { - if (is_array($pattern)) { - if ($reset) { - self::${$type}[$rule] = $pattern; - } else { - if ($rule === 'uninflected') { - self::${$type}[$rule] = array_merge($pattern, self::${$type}[$rule]); - } else { - self::${$type}[$rule] = $pattern + self::${$type}[$rule]; - } - } - unset($rules[$rule], self::${$type}['cache' . ucfirst($rule)]); - if (isset(self::${$type}['merged'][$rule])) { - unset(self::${$type}['merged'][$rule]); - } - if ($type === 'plural') { - self::$cache['pluralize'] = self::$cache['tableize'] = array(); - } elseif ($type === 'singular') { - self::$cache['singularize'] = array(); - } + if ( ! is_array($pattern)) { + continue; + } + + if ($reset) { + self::${$type}[$rule] = $pattern; + } else { + self::${$type}[$rule] = ($rule === 'uninflected') + ? array_merge($pattern, self::${$type}[$rule]) + : $pattern + self::${$type}[$rule]; + } + + unset($rules[$rule], self::${$type}['cache' . ucfirst($rule)]); + + if (isset(self::${$type}['merged'][$rule])) { + unset(self::${$type}['merged'][$rule]); + } + + if ($type === 'plural') { + self::$cache['pluralize'] = self::$cache['tableize'] = array(); + } elseif ($type === 'singular') { + self::$cache['singularize'] = array(); } } + self::${$type}['rules'] = $rules + self::${$type}['rules']; } /** - * Return $word in plural form. + * Returns a word in plural form. * - * @param string $word Word in singular - * @return string Word in plural + * @param string $word The word in singular form. + * + * @return string The word in plural form. */ public static function pluralize($word) { @@ -311,32 +332,36 @@ public static function pluralize($word) if (!isset(self::$plural['cacheUninflected']) || !isset(self::$plural['cacheIrregular'])) { self::$plural['cacheUninflected'] = '(?:' . implode('|', self::$plural['merged']['uninflected']) . ')'; - self::$plural['cacheIrregular'] = '(?:' . implode('|', array_keys(self::$plural['merged']['irregular'])) . ')'; + self::$plural['cacheIrregular'] = '(?:' . implode('|', array_keys(self::$plural['merged']['irregular'])) . ')'; } if (preg_match('/(.*)\\b(' . self::$plural['cacheIrregular'] . ')$/i', $word, $regs)) { self::$cache['pluralize'][$word] = $regs[1] . substr($word, 0, 1) . substr(self::$plural['merged']['irregular'][strtolower($regs[2])], 1); + return self::$cache['pluralize'][$word]; } if (preg_match('/^(' . self::$plural['cacheUninflected'] . ')$/i', $word, $regs)) { self::$cache['pluralize'][$word] = $word; + return $word; } foreach (self::$plural['rules'] as $rule => $replacement) { if (preg_match($rule, $word)) { self::$cache['pluralize'][$word] = preg_replace($rule, $replacement, $word); + return self::$cache['pluralize'][$word]; } } } /** - * Return $word in singular form. + * Returns a word in singular form. * - * @param string $word Word in plural - * @return string Word in singular + * @param string $word The word in plural form. + * + * @return string The word in singular form. */ public static function singularize($word) { @@ -365,21 +390,26 @@ public static function singularize($word) if (preg_match('/(.*)\\b(' . self::$singular['cacheIrregular'] . ')$/i', $word, $regs)) { self::$cache['singularize'][$word] = $regs[1] . substr($word, 0, 1) . substr(self::$singular['merged']['irregular'][strtolower($regs[2])], 1); + return self::$cache['singularize'][$word]; } if (preg_match('/^(' . self::$singular['cacheUninflected'] . ')$/i', $word, $regs)) { self::$cache['singularize'][$word] = $word; + return $word; } foreach (self::$singular['rules'] as $rule => $replacement) { if (preg_match($rule, $word)) { self::$cache['singularize'][$word] = preg_replace($rule, $replacement, $word); + return self::$cache['singularize'][$word]; } } + self::$cache['singularize'][$word] = $word; + return $word; } } diff --git a/core/vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php b/core/vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php index 487c2cd449bd..a8a075daa7c7 100644 --- a/core/vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php +++ b/core/vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php @@ -7,14 +7,15 @@ class InflectorTest extends DoctrineTestCase { - /** * Singular & Plural test data. Returns an array of sample words. * * @return array */ - public function dataSampleWords() { + public function dataSampleWords() + { Inflector::reset(); + // in the format array('singular', 'plural') return array( array('categoria', 'categorias'), @@ -57,6 +58,9 @@ public function dataSampleWords() { array('roof', 'roofs'), array('foe', 'foes'), array('cookie', 'cookies'), + array('identity', 'identities'), + array('criteria', 'criterion'), + array('curve', 'curves'), array('', ''), ); } @@ -67,8 +71,13 @@ public function dataSampleWords() { * @dataProvider dataSampleWords * @return void */ - public function testInflectingSingulars($singular, $plural) { - $this->assertEquals($singular, Inflector::singularize($plural), "'$plural' should be singularized to '$singular'"); + public function testInflectingSingulars($singular, $plural) + { + $this->assertEquals( + $singular, + Inflector::singularize($plural), + "'$plural' should be singularized to '$singular'" + ); } /** @@ -77,8 +86,13 @@ public function testInflectingSingulars($singular, $plural) { * @dataProvider dataSampleWords * @return void */ - public function testInflectingPlurals($singular, $plural) { - $this->assertEquals($plural, Inflector::pluralize($singular), "'$singular' should be pluralized to '$plural'"); + public function testInflectingPlurals($singular, $plural) + { + $this->assertEquals( + $plural, + Inflector::pluralize($singular), + "'$singular' should be pluralized to '$plural'" + ); } /** @@ -86,12 +100,15 @@ public function testInflectingPlurals($singular, $plural) { * * @return void */ - public function testCustomPluralRule() { + public function testCustomPluralRule() + { Inflector::reset(); Inflector::rules('plural', array('/^(custom)$/i' => '\1izables')); + $this->assertEquals(Inflector::pluralize('custom'), 'customizables'); Inflector::rules('plural', array('uninflected' => array('uninflectable'))); + $this->assertEquals(Inflector::pluralize('uninflectable'), 'uninflectable'); Inflector::rules('plural', array( @@ -99,6 +116,7 @@ public function testCustomPluralRule() { 'uninflected' => array('noflect', 'abtuse'), 'irregular' => array('amaze' => 'amazable', 'phone' => 'phonezes') )); + $this->assertEquals(Inflector::pluralize('noflect'), 'noflect'); $this->assertEquals(Inflector::pluralize('abtuse'), 'abtuse'); $this->assertEquals(Inflector::pluralize('alert'), 'alertables'); @@ -111,7 +129,8 @@ public function testCustomPluralRule() { * * @return void */ - public function testCustomSingularRule() { + public function testCustomSingularRule() + { Inflector::reset(); Inflector::rules('singular', array('/(eple)r$/i' => '\1', '/(jente)r$/i' => '\1')); @@ -135,20 +154,24 @@ public function testCustomSingularRule() { * * @return void */ - public function testRulesClearsCaches() { + public function testRulesClearsCaches() + { Inflector::reset(); + $this->assertEquals(Inflector::singularize('Bananas'), 'Banana'); $this->assertEquals(Inflector::pluralize('Banana'), 'Bananas'); Inflector::rules('singular', array( 'rules' => array('/(.*)nas$/i' => '\1zzz') )); + $this->assertEquals('Banazzz', Inflector::singularize('Bananas'), 'Was inflected with old rules.'); Inflector::rules('plural', array( 'rules' => array('/(.*)na$/i' => '\1zzz'), 'irregular' => array('corpus' => 'corpora') )); + $this->assertEquals(Inflector::pluralize('Banana'), 'Banazzz', 'Was inflected with old rules.'); $this->assertEquals(Inflector::pluralize('corpus'), 'corpora', 'Was inflected with old irregular form.'); } @@ -158,8 +181,10 @@ public function testRulesClearsCaches() { * * @return void */ - public function testCustomRuleWithReset() { + public function testCustomRuleWithReset() + { Inflector::reset(); + $uninflected = array('atlas', 'lapis', 'onibus', 'pires', 'virus', '.*x'); $pluralIrregular = array('as' => 'ases'); diff --git a/core/vendor/doctrine/instantiator/.gitignore b/core/vendor/doctrine/instantiator/.gitignore index 9a639322c557..e3e368dd9d58 100644 --- a/core/vendor/doctrine/instantiator/.gitignore +++ b/core/vendor/doctrine/instantiator/.gitignore @@ -2,4 +2,4 @@ phpunit.xml composer.lock build vendor -coverage.clover \ No newline at end of file +coverage.clover diff --git a/core/vendor/doctrine/instantiator/.travis.install.sh b/core/vendor/doctrine/instantiator/.travis.install.sh index e4f1cb2db82d..2819188c936a 100755 --- a/core/vendor/doctrine/instantiator/.travis.install.sh +++ b/core/vendor/doctrine/instantiator/.travis.install.sh @@ -1,3 +1,4 @@ +#!/bin/sh set -x if [ "$TRAVIS_PHP_VERSION" = 'hhvm' ] || [ "$TRAVIS_PHP_VERSION" = 'hhvm-nightly' ] ; then curl -sS https://getcomposer.org/installer > composer-installer.php diff --git a/core/vendor/doctrine/instantiator/.travis.yml b/core/vendor/doctrine/instantiator/.travis.yml index 0f686a9c7269..7f1ec5f98d3d 100644 --- a/core/vendor/doctrine/instantiator/.travis.yml +++ b/core/vendor/doctrine/instantiator/.travis.yml @@ -7,20 +7,16 @@ php: - 5.5 - 5.6 - hhvm - - hhvm-nightly before_script: - ./.travis.install.sh + - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then PHPUNIT_FLAGS="--coverage-clover coverage.clover"; else PHPUNIT_FLAGS=""; fi script: - - sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.3.3' ]; then phpunit; fi" - - sh -c "if [ '$TRAVIS_PHP_VERSION' != '5.3.3' ]; then ./vendor/bin/phpunit; fi" - - sh -c "if [ '$TRAVIS_PHP_VERSION' != '5.3.3' ]; then ./vendor/bin/phpcs --standard=PSR2 ./src/ ./tests/; fi" - - sh -c "if [[ '$TRAVIS_PHP_VERSION' != '5.3.3' && '$TRAVIS_PHP_VERSION' != '5.4.29' && '$TRAVIS_PHP_VERSION' != '5.5.13' ]]; then php -n ./vendor/bin/athletic -p ./tests/DoctrineTest/InstantiatorPerformance/ -f GroupedFormatter; fi" + - if [ $TRAVIS_PHP_VERSION = '5.3.3' ]; then phpunit; fi + - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpunit $PHPUNIT_FLAGS; fi + - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpcs --standard=PSR2 ./src/ ./tests/; fi + - if [[ $TRAVIS_PHP_VERSION != '5.3.3' && $TRAVIS_PHP_VERSION != '5.4.29' && $TRAVIS_PHP_VERSION != '5.5.13' ]]; then php -n ./vendor/bin/athletic -p ./tests/DoctrineTest/InstantiatorPerformance/ -f GroupedFormatter; fi after_script: - - sh -c "if [ '$TRAVIS_PHP_VERSION' != '5.3.3' ]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi" - -matrix: - allow_failures: - - php: hhvm-nightly + - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi diff --git a/core/vendor/doctrine/instantiator/composer.json b/core/vendor/doctrine/instantiator/composer.json index 89d59f600d31..4823890b4c70 100644 --- a/core/vendor/doctrine/instantiator/composer.json +++ b/core/vendor/doctrine/instantiator/composer.json @@ -22,12 +22,12 @@ "ext-phar": "*", "ext-pdo": "*", "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA", + "squizlabs/php_codesniffer": "~2.0", "athletic/athletic": "~0.1.8" }, "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "autoload-dev": { diff --git a/core/vendor/doctrine/instantiator/phpunit.xml.dist b/core/vendor/doctrine/instantiator/phpunit.xml.dist index 178ba17fe42b..0a8d5709b7ea 100644 --- a/core/vendor/doctrine/instantiator/phpunit.xml.dist +++ b/core/vendor/doctrine/instantiator/phpunit.xml.dist @@ -19,7 +19,4 @@ <directory suffix=".php">./src</directory> </whitelist> </filter> - <logging> - <log type="coverage-clover" target="./coverage.clover"/> - </logging> </phpunit> diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php b/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php index 98868cfa1956..6d5b3b656750 100644 --- a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php +++ b/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php @@ -65,11 +65,22 @@ public function instantiate($className) return $factory(); } - $factory = self::$cachedInstantiators[$className] = $this->buildFactory($className); - $instance = $factory(); - $reflection = new ReflectionClass($instance); + return $this->buildAndCacheFromFactory($className); + } - if ($this->isSafeToClone($reflection)) { + /** + * Builds the requested object and caches it in static properties for performance + * + * @param string $className + * + * @return object + */ + private function buildAndCacheFromFactory($className) + { + $factory = self::$cachedInstantiators[$className] = $this->buildFactory($className); + $instance = $factory(); + + if ($this->isSafeToClone(new ReflectionClass($instance))) { self::$cachedCloneables[$className] = clone $instance; } @@ -77,19 +88,14 @@ public function instantiate($className) } /** - * @internal - * @private - * * Builds a {@see \Closure} capable of instantiating the given $className without * invoking its constructor. - * This method is only exposed as public because of PHP 5.3 compatibility. Do not - * use this method in your own code * * @param string $className * * @return Closure */ - public function buildFactory($className) + private function buildFactory($className) { $reflectionClass = $this->getReflectionClass($className); @@ -106,7 +112,7 @@ public function buildFactory($className) $className ); - $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString); + $this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString); return function () use ($serializedString) { return unserialize($serializedString); @@ -143,7 +149,7 @@ private function getReflectionClass($className) * * @return void */ - private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString) + private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, $serializedString) { set_error_handler(function ($code, $message, $file, $line) use ($reflectionClass, & $error) { $error = UnexpectedValueException::fromUncleanUnSerialization( @@ -155,6 +161,25 @@ private function attemptInstantiationViaUnSerialization(ReflectionClass $reflect ); }); + $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString); + + restore_error_handler(); + + if ($error) { + throw $error; + } + } + + /** + * @param ReflectionClass $reflectionClass + * @param string $serializedString + * + * @throws UnexpectedValueException + * + * @return void + */ + private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString) + { try { unserialize($serializedString); } catch (Exception $exception) { @@ -162,12 +187,6 @@ private function attemptInstantiationViaUnSerialization(ReflectionClass $reflect throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception); } - - restore_error_handler(); - - if ($error) { - throw $error; - } } /** @@ -178,7 +197,7 @@ private function attemptInstantiationViaUnSerialization(ReflectionClass $reflect private function isInstantiableViaReflection(ReflectionClass $reflectionClass) { if (\PHP_VERSION_ID >= 50600) { - return ! ($reflectionClass->isInternal() && $reflectionClass->isFinal()); + return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal()); } return \PHP_VERSION_ID >= 50400 && ! $this->hasInternalAncestors($reflectionClass); diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php index e7f6e944bf80..0a2cb9313d29 100644 --- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php +++ b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php @@ -165,8 +165,11 @@ public function getInstantiableClasses() array('stdClass'), array(__CLASS__), array('Doctrine\\Instantiator\\Instantiator'), + array('Exception'), array('PharException'), array('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset'), + array('DoctrineTest\\InstantiatorTestAsset\\ExceptionAsset'), + array('DoctrineTest\\InstantiatorTestAsset\\FinalExceptionAsset'), array('DoctrineTest\\InstantiatorTestAsset\\PharExceptionAsset'), array('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset'), array('DoctrineTest\\InstantiatorTestAsset\\XMLReaderAsset'), diff --git a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Annotation/TargetTest.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php similarity index 54% rename from core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Annotation/TargetTest.php rename to core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php index 7627f76368de..43bbe46b715d 100644 --- a/core/vendor/doctrine/annotations/tests/Doctrine/Tests/Common/Annotations/Annotation/TargetTest.php +++ b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php @@ -17,31 +17,25 @@ * <http://www.doctrine-project.org>. */ -namespace Doctrine\Tests\Common\Annotations\Annotation; +namespace DoctrineTest\InstantiatorTestAsset; -use Doctrine\Common\Annotations\Annotation\Target; +use BadMethodCallException; +use Exception; /** - * Tests for {@see \Doctrine\Common\Annotations\Annotation\Target} + * Test asset that extends an internal PHP base exception * - * @covers \Doctrine\Common\Annotations\Annotation\Target + * @author Marco Pivetta <ocramius@gmail.com> */ -class TargetTest extends \PHPUnit_Framework_TestCase +class ExceptionAsset extends Exception { /** - * @group DDC-3006 + * Constructor - should not be called + * + * @throws BadMethodCallException */ - public function testValidMixedTargets() + public function __construct() { - $target = new Target(array("value" => array("ALL"))); - $this->assertEquals(Target::TARGET_ALL, $target->targets); - - $target = new Target(array("value" => array("METHOD", "METHOD"))); - $this->assertEquals(Target::TARGET_METHOD, $target->targets); - $this->assertNotEquals(Target::TARGET_PROPERTY, $target->targets); - - $target = new Target(array("value" => array("PROPERTY", "METHOD"))); - $this->assertEquals(Target::TARGET_METHOD | Target::TARGET_PROPERTY, $target->targets); + throw new BadMethodCallException('Not supposed to be called!'); } } - diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php new file mode 100644 index 000000000000..7d268f5b3b7f --- /dev/null +++ b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php @@ -0,0 +1,41 @@ +<?php +/* + * 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. + * + * This software consists of voluntary contributions made by many individuals + * and is licensed under the MIT license. For more information, see + * <http://www.doctrine-project.org>. + */ + +namespace DoctrineTest\InstantiatorTestAsset; + +use BadMethodCallException; +use Exception; + +/** + * Test asset that extends an internal PHP base exception + * + * @author Marco Pivetta <ocramius@gmail.com> + */ +final class FinalExceptionAsset extends Exception +{ + /** + * Constructor - should not be called + * + * @throws BadMethodCallException + */ + public function __construct() + { + throw new BadMethodCallException('Not supposed to be called!'); + } +} -- GitLab