Commit Graph

47 Commits

Author SHA1 Message Date
Fabien Potencier
a5c65c1786 Merge branch '2.8'
* 2.8:
  [Console] Add domain exceptions to replace generic exceptions
  Implement service-based Resource (cache) validation
2015-09-25 12:59:21 +02:00
Fabien Potencier
d60428c9ca feature #15738 Implement service-based Resource (cache) validation (mpdude)
This PR was squashed before being merged into the 2.8 branch (closes #15738).

Discussion
----------

Implement service-based Resource (cache) validation

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #7230, #15692, #7782
| License       | MIT
| Doc PR        | symfony/symfony-docs#5136

### Overview

Currently, any metadata passed to `ConfigCache` (namely implementations of `ResourceInterface`) is serialized to disk. When the `ConfigCache` is validated, the metadata is unserialized and queried through `ResourceInterface::isFresh()` to determine whether the cache is fresh. That way, `ResourceInterface` implementations cannot interact with services, for example a database connection.

This PR introduces the new concept of `ResourceCheckers`. Services implementing `ResourceCheckerInterface` can be tagged as `config_cache.resource_checker` with an optional priority.

Clients that wish to use `ConfigCache` can then obtain an instance from the `config_cache_factory` service (which implements `ConfigCacheFactoryInterface`). The factory will take care of injecting resource checkers into the `ConfigCache` instance so that they can be used for cache validation.

Checking cache metadata is easy for `ResourceCheckers`:
* First, the `ResourceCheckerInterface::supports()` implementation is passed the metadata object in question. If the checker cannot handle the type of resource passed, `supports()` should return `false`.
* Otherwise, the `ResourceCheckerInterface::isFresh()` method will be called and given the resource as well as the timestamp at which the cache was initialized. If that method returns `false`, the cache is considered stale. If it returns `true`, the resource is considered unchanged and will *not* be passed to any additional checkers.

### BC and migration path

This PR does not (intend to) break BC but it comes with deprecations. The main reason is that `ResourceInterface` contains an `isFresh()` method that does not make sense in the general case of resources.

Thus, `ResourceInterface::isFresh()` is marked as deprecated and should be removed in Symfony 3.0. Resource implementations that can (or wish to) be validated in that simple manner can implement the `SelfCheckingResourceInterface` sub-interface that still contains (and will keep) the `isFresh()` method. The change should be as simple as changing the `extends` list.

Apart from that, `ResourceInterface` will be kept as the base interface for resource implementations. It is used in several `@api` interfaces and thus cannot easily be substituted.

For the Symfony 2.x series, a `BCResourceInterfaceChecker` will be kept that performs validation through `ResourceInterface::isFresh()` but will trigger a deprecation warning. The remedy is to either implement a custom ResourceChecker with a priority higher than -1000; or to switch to the aforementioned `SelfCheckingResourceInterface` which is used at a priority of -990 (without deprecation warning).

The `ConfigCache` and `ConfigCacheFactory` classes can be used as previously but do not feature checker-based cache validation.

### Outlook and closing remarks:

This PR supersedes #7230, #15692 and works at least in parts towards the goal of #7176.

The `ResourceCheckerInterface`, `...ConfigCache` and `...ConfigCacheFactory` no longer need to be aware of the `debug` flag. The different validation rules applied previously are now just a matter of `ResourceChecker` configuration (i. e. "no checkers" in `prod`).

It might be possible to remove the `debug` flag from Symfony's `Router` and/or `Translator` classes in the future as well because it was only passed on to the `ConfigCache` there.

Commits
-------

20d3722 Implement service-based Resource (cache) validation
2015-09-25 08:33:07 +02:00
Matthias Pigulla
20d3722120 Implement service-based Resource (cache) validation 2015-09-25 08:31:17 +02:00
Fabien Potencier
538a71d76f Merge branch '2.8'
* 2.8: (31 commits)
  [DomCrawler] Invalid uri created from forms if base tag present
  [VarDumper] Add caster for OuterIterator objects
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  Use stderr by default when a specific output is not injected
  fixed bad merge
  [Debug] Fix case mismatch detection
  [HttpKernel] Add entry point to more easily create/configure the DI extension
  [DX] Added a logout link in the security panel of the web debug toolbar
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  fixed CS
  removed non-working tests
  [WIP] #15502 Make template shortcuts be usable without Templating component
  Redesigned the Symfony Profiler
  [Yaml] Fix the parsing of float keys
  Make the exception output visible even in quiet mode, fixes #15680
  Convert Output::write's type to an options arg where verbosity can be passed in as well
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  ...
2015-09-14 16:15:24 +02:00
Abdellatif Ait boudad
cade651915 [Translator][warmup][fallback locales] fixed missing cache file generation. 2015-09-09 14:57:38 +00:00
Abdellatif Ait boudad
94de779296 [Translator] changed the visibility of the locale from protected to private. 2015-06-18 12:28:38 +00:00
Matthias Pigulla
c0300f57d5 Remaining tweaks for translator tests on 2.7
This are the remaining changes on the 2.7 branch after #14437 merged most of the improvements into 2.6.
2015-04-24 23:23:51 +02:00
Nicolas Grekas
bf8f70607a Merge branch '2.6' into 2.7
* 2.6:
  [2.6][Translation] fix legacy tests.
  [EventDispatcher] make listeners removable from an executed listener

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php
2015-04-20 13:53:55 +02:00
Abdellatif Ait boudad
189313caee [2.6][Translation] fix legacy tests. 2015-04-19 14:17:37 +01:00
Nicolas Grekas
8cf0613ead Merge branch '2.6' into 2.7
* 2.6:
  [Routing][DependencyInjection] Support .yaml extension in YAML loaders
  [DX] improve file loader error for router/other resources in bundle
  [FrameworkBundle] Initialize translator with the default locale.
  [FrameworkBundle] Fix Routing\DelegatingLoader resiliency to fatal errors
  [2.6][Translation] remove duplicate code for loading catalogue.
  [HttpKernel] Cleanup ExceptionListener
  CS fixes
  [DependencyInjection] Show better error when the Yaml component is not installed
  [2.3] SCA for Components - reference mismatches
  [Debug] Scream as LogLevel::DEBUG (but for fatal errors / uncaught exceptions)
  [2.3] Static Code Analysis for Components
  [WebProfilerBundle] Fix resiliency to exceptions thrown by the url generator
  [Translation] LoggingTranslator simplifications
  [Translation][fixed test] refresh cache when resources are no longer fresh.
  [FrameworkBundle] Fixed server:start --router relative path issue #14124
  [FrameworkBundle] improve usage of Table helper
  [Validator] Added missing Simplified Chinese (zh_CN) translations
  [FrameworkBundle] Workaround php -S ignoring auto_prepend_file

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/Console/Helper/Table.php
	src/Symfony/Component/Translation/LoggingTranslator.php
2015-04-18 17:11:06 +02:00
Abdellatif Ait boudad
04b8e4e77e [Translation][fixed test] refresh cache when resources are no longer fresh. 2015-04-14 08:53:08 +01:00
Fabien Potencier
bab6db59b5 Merge branch '2.6' into 2.7
* 2.6:
  renamed some confusing tests
  [2.3] Fix @link annotations
  [2.6] Fix @link annotations
  Fix javascript
  [2.3][Translation] test refresh cache when resources File change.
  [Translator] Cache does not take fallback locales into consideration

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
	src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php
	src/Symfony/Component/Validator/ValidatorInterface.php
2015-04-11 09:21:47 +02:00
Fabien Potencier
234cebd087 Merge branch '2.3' into 2.6
* 2.3:
  renamed some confusing tests
  [2.3] Fix @link annotations
  Fix javascript
  [2.3][Translation] test refresh cache when resources File change.
  [Translator] Cache does not take fallback locales into consideration

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
2015-04-11 09:16:15 +02:00
Abdellatif Ait boudad
4d01fab152 [2.3][Translation] test refresh cache when resources File change. 2015-04-09 16:12:29 +01:00
Abdellatif Ait boudad
f9939d80f3 [Translation] avoid freshness check based on content *inside* the cache. 2015-04-09 15:04:27 +01:00
Matthias Pigulla
0f84f3adfa [Translator] Cache does not take fallback locales into consideration
As we're dumping entire catalogues including their fallbacks (standalone or inlined in ~2.7), we need to use different cache files for different sets of fallback locales.
2015-04-08 15:33:16 +02:00
Xavier Leune
94d3876c4c FIX #13919 added TranslationsCacheWarmer to generate catalogues at warmup 2015-03-31 14:07:52 +02:00
Abdellatif Ait boudad
aa70a94146 [Translation] keep old array structure of resourcesFiles to avoid BC. 2015-03-23 11:10:33 +00:00
Abdellatif Ait boudad
e36f1a70e1 [FrameworkBundle][Translation][debug mode] refresh cache when resources is changed. 2015-03-21 21:32:48 +00:00
Fabien Potencier
027a747736 feature #13897 [translation][performances] move loading resources into Translator initialize. (aitboudad)
This PR was squashed before being merged into the 2.7 branch (closes #13897).

Discussion
----------

[translation][performances] move loading resources into Translator initialize.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Fixed tickets  | #13556
| Tests pass?   | yes
| License       | MIT

Commits
-------

bf5c583 [translation][performances] move loading resources into Translator initialize.
2015-03-13 13:42:25 +01:00
Abdellatif Ait boudad
bf5c583fe6 [translation][performances] move loading resources into Translator initialize. 2015-03-13 13:42:22 +01:00
Nicolas Grekas
fc009c16d7 Merge branch '2.3' into 2.6
* 2.3:
  Changed visibility of setUp() and tearDown to protected
  fixed XSS in the exception handler
  Php Inspections (EA Extended) - static code analysis includes:
  [2.3] Remove most refs uses
  Test with local components instead of waiting for the subtree-splitter when possible

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Component/Config/Util/XmlUtils.php
	src/Symfony/Component/Console/Helper/ProgressHelper.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/OptionsResolver/Options.php
	src/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.php
	src/Symfony/Component/Yaml/Inline.php
2015-03-12 11:28:44 +01:00
sarah khalil
1e64220b95 Changed visibility of setUp() and tearDown to protected 2015-03-11 19:52:02 +01:00
Fabien Potencier
842cba1d0c Merge branch '2.5'
* 2.5:
  Remove aligned '=>' and '='
  Break infinite loop while resolving aliases
  [Security][listener] change priority of switchuser
  Improved the phpdoc for security token classes
  bumped Symfony version to 2.5.7
  updated VERSION for 2.5.6
  updated CHANGELOG for 2.5.6
  bumped Symfony version to 2.3.22
  updated VERSION for 2.3.21
  update CONTRIBUTORS for 2.3.21
  updated CHANGELOG for 2.3.21

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/AbstractFactory.php
	src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/Form/Extension/Core/Type/BaseType.php
	src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
	src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
	src/Symfony/Component/Form/Extension/Core/Type/DateType.php
	src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
	src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Core/SecurityContextInterface.php
	src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php
	src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php
	src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
	src/Symfony/Component/Serializer/Serializer.php
	src/Symfony/Component/Validator/Constraints/File.php
2014-10-26 08:46:28 +01:00
Fabien Potencier
b5b12a54f7 Merge branch '2.3' into 2.5
* 2.3:
  Remove aligned '=>' and '='
  Break infinite loop while resolving aliases
  [Security][listener] change priority of switchuser
  Improved the phpdoc for security token classes
  bumped Symfony version to 2.3.22
  updated VERSION for 2.3.21
  update CONTRIBUTORS for 2.3.21
  updated CHANGELOG for 2.3.21

Conflicts:
	src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php
	src/Symfony/Bridge/Propel1/Form/Type/ModelType.php
	src/Symfony/Bridge/Propel1/Logger/PropelLogger.php
	src/Symfony/Bridge/Propel1/Tests/Fixtures/ItemQuery.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
	src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php
	src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FormLoginBundle/Controller/LocalizedController.php
	src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FormLoginBundle/Controller/LoginController.php
	src/Symfony/Component/Console/Descriptor/JsonDescriptor.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/Console/Helper/ProgressHelper.php
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/Finder/Shell/Command.php
	src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
	src/Symfony/Component/Form/Extension/Core/Type/CollectionType.php
	src/Symfony/Component/Form/Extension/Core/Type/FormType.php
	src/Symfony/Component/Form/Extension/Core/Type/IntegerType.php
	src/Symfony/Component/Form/Extension/Core/Type/NumberType.php
	src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
	src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php
	src/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php
	src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
	src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php
	src/Symfony/Component/Routing/Route.php
	src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php
	src/Symfony/Component/Security/Tests/Core/Validator/Constraints/UserPasswordValidatorTest.php
	src/Symfony/Component/Templating/PhpEngine.php
	src/Symfony/Component/Validator/Constraints/ImageValidator.php
	src/Symfony/Component/Validator/Constraints/TypeValidator.php
2014-10-26 08:41:27 +01:00
Disquedur
51312d31cc Remove aligned '=>' and '=' 2014-10-26 08:30:58 +01:00
Christian Flothmann
80d52c73dc remove invalid tests
With #12046, the `getLocale()` method isn't overriden anymore by the
`Translator` from the FrameworkBundle, but the locale is set by the
new `TranslatorListener`. Therefore, the tests ensuring the old
behavior are removed.
2014-09-29 15:13:53 +02:00
Fabien Potencier
b91866f6c1 Merge branch '2.4' into 2.5
* 2.4:
  fixed CS
  [Process] fixed some volatile tests
  [HttpKernel] fixed a volatile test
  [HttpFoundation] fixed some volatile tests
  [Tests] PHPUnit Optimizations
  Use getPathname() instead of string casting to get BinaryFileReponse file path

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/full.php
	src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/SessionController.php
	src/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
	src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
	src/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
	src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
	src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
	src/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.php
	src/Symfony/Component/Security/Core/Authentication/Provider/PreAuthenticatedAuthenticationProvider.php
	src/Symfony/Component/Security/Http/Tests/Firewall/SwitchUserListenerTest.php
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
	src/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php
	src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
	src/Symfony/Component/Validator/Constraints/CollectionValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php
	src/Symfony/Component/Validator/Tests/ValidationVisitorTest.php
	src/Symfony/Component/Yaml/Parser.php
2014-09-22 11:14:18 +02:00
Fabien Potencier
369aebf431 fixed CS 2014-09-22 10:32:35 +02:00
Fabien Potencier
c1b1b109b4 Merge branch '2.4' into 2.5
* 2.4: (21 commits)
  [HttpKernel] fixed some unit tests for 2.4 (signature now uses SHA256 instead of MD5)
  [HttpKernel] simplified code
  [HttpKernel] fixed internal fragment handling
  fixing yaml indentation
  [WebProfiler] replaced the import/export feature from the web interface to a CLI tool
  Forced all fragment uris to be signed, even for ESI
  Add tests and more assertions
  [FrameworkBundle][Translator] Validate locales.
  [HttpFoundation] added some missing tests
  [HttpFoundation] Improve string values in test codes
  [Security] Add more tests for StringUtils::equals
  fix comment: not fourth but sixth argument
  fixing typo in a comment
  [FrameworkBundle] fixed CS
  [FrameworkBundle] PhpExtractor bugfix and improvements
  [Finder] Fix findertest readability
  [Filesystem] Add FTP stream wrapper context option to enable overwrite (override)
  fix parsing of Authorization header
  Test examples from Drupal SA-CORE-2014-003
  Fix potential DoS when parsing HOST
  ...

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
2014-09-03 11:00:14 +02:00
Jérémy Derussé
9e1bc22388 Add tests and more assertions 2014-09-02 09:12:49 +02:00
Fabien Potencier
feb4f5cdb6 Merge branch '2.4' into 2.5
* 2.4:
  [Translator] Use quote to surround invalid locale
  Optimize assertLocale regexp
  [ExpressionLanguage] Fixed an issue with # characters in double quoted string literals
  Add some tweaks to the pt_BR translations
  [Validator] Backported #11410 to 2.3: Object initializers are called only once per object
  [Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator
  [Process] Reduce I/O load on Windows platform
  [Form] Check if IntlDateFormatter constructor returned a valid object before using it

Conflicts:
	src/Symfony/Component/Validator/Tests/ValidationVisitorTest.php
2014-07-24 19:01:56 +02:00
Rafał Muszyński
3176f8bb98 [Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator 2014-07-17 12:20:11 +02:00
Fabien Potencier
cd8927017f Merge branch '2.4' into 2.5
* 2.4:
  Remove Spaceless Blocks From Twig Templates
  Validate locales sets intos translator
  Fix UserPassword validator translation
  Remove Spaceless Blocks from Twig Form Templates
  fixed typo
  [HttpFoundation] Fix to prevent magic bytes injection in JSONP responses (Prevents CVE-2014-4671)
  added regression test
  fix issue #8171 on configuration tree for twig extension -- pairing up with @cordoval
  [HttpFoundation] Fix wrong assertion in Response test
  [Upgrade] Fixed markdown syntax
  [2.3][Form] Cleanup & fix phpdocs
  Added verbosity methods

Conflicts:
	src/Symfony/Component/Form/FormError.php
2014-07-15 16:15:12 +02:00
Jérémy Derussé
06a80fbdbe Validate locales sets intos translator 2014-07-15 15:44:49 +02:00
Fabien Potencier
d638369e2a removed as many usage of the request service as possible without breaking BC 2014-02-28 16:35:07 +01:00
Wouter J
a6562b36c4 Fixed deprecated method calls 2013-12-28 17:01:14 +01:00
Cédric Girard
b272419ab9 Fixed variable name used in translation cache 2013-06-24 09:44:05 +02:00
Fabien Potencier
be27ccf961 [FrameworkBundle] removed duplicated line 2012-06-28 16:05:05 +02:00
Martin Hasoň
8ae0fa2178 [FrameworkBundle] Fixed locale detection from request 2012-06-25 11:49:17 +02:00
Fabien Potencier
fea6b79acd moved component and bridge unit tests to the src/ directory
This is the first step to make each Symfony Component and Bridge self-contained.
2012-03-29 08:37:22 +02:00
William DURAND
818a3321c0 [Component] Moved Filesystem class to its own component 2011-12-22 19:36:46 +01:00
Fabien Potencier
ebc84a76eb fixed tests 2011-12-08 08:28:11 +01:00
Fabien Potencier
4dc5953100 merged 2.0 2011-10-15 00:56:57 +02:00
Fabien Potencier
d01b29e9f6 [FrameworkBundle] added some unit tests 2011-10-11 12:54:11 +02:00
Fabien Potencier
fa57912351 [Translator] fixed merge with 2.0 2011-09-28 17:13:00 +02:00
Fabien Potencier
c13b4e2b55 fixed fallback catalogue mechanism in Framework bundle 2011-09-27 17:18:11 +02:00