[root]/Tests/Unit/Reflection
Fixture
(0 files, 0 lines)
Model
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 54 (100.0%) | 1649 (100.0%) | 30.5 |
| robert | 10 (18.5%) | 892 (54.1%) | 89.2 |
| k-fish | 40 (74.1%) | 688 (41.7%) | 17.2 |
| sebastian | 4 (7.4%) | 69 (4.2%) | 17.2 |
Removed everything in trunk after move to git.
0 lines of code changed in 12 files:
[-TASK] FLOW3: Removed @version keyword from files, resolves #8835.
0 lines of code changed in 7 files:
[~TASK] FLOW3 (Persistence): When persisting NULL values are now recorded and collection (array, SplObjectStorage) properties are restored as NULL if they contained NULL, resolves #6520.
[~TASK] FLOW3 (Persistence): Equality comparison in a query now works correctly when comparing against NULL, relates to #8299.
[+API] FLOW3 (Persistence): Query::isEmpty() has been added and can check for empty collection properties, relates to #8299.
[~TASK] FLOW3 (Persistence): The like() constraint now can be used case-insensitive (like equals); constraints do stricter checks on property and operand types.
1 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Reflection): ObjectAccess:setProperty() now also supports arrays as a subject. Resolves #8133.
[~TASK] Fluid (Tests): Removed one test in the TemplateVariableContainerTest - it checks something which would result in a fatal error anyway.
8 lines of code changed in 1 file:
[~TASK] FLOW3: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, resolves #7682.
[~TASK] Fluid: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] Kickstart: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] Testing: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] TypoScript: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682. Renamed on exception to follow CGL.
[~TASK] TYPO3: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682. Renamed existing exceptions to follow CGL.
2 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Followup to ObjectAccess changes, now really works as expected with stdClass instances when looking for settable property names.
3 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): ObjectAccess now works as expected with stdClass instances, i.e. it sees all defined properties as gettable and settable.
63 lines of code changed in 1 file:
[~TASK] TYPO3: Various fixes to code and documentation, added new unit tests.
[~TASK] TypoScript: Non-functional comment fixes.
[+BUGFIX] FLOW3 (Reflection): ObjectAccess now handles ArrayAccess implementations correctly.
11 lines of code changed in 1 file:
[~TASK] FLOW3 (Core): The bootstrap now omits classes whose name ends with "Exception" when initializing the ReflectionService. Resolves #7688
[+BUGFIX] FLOW3 (Reflection): ObjectAccess->getProperty() now allows numeric indexes and supports \ArrayAccess objects. Resolves #7687
2 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): Introduced a new parameter for ObjectAccess::getPropertyPath so the caller of the method can decide if closures should be evaluated or not. Related to #7588 and r4256.
18 lines of code changed in 1 file:
[!!!][+FEATURE] FLOW3 (Reflection): If an object on the path given to ObjectAccess::getPropertyPath() is a Closure, it is executed and the result is processed further. This means it is currently NOT possible to the closure itself, as it is directly executed. Resolves #7588.
[+BUGFIX] FLOW3 (Reflection): ObjectAccess::getPropertyPath now also works with classes implementing ArrayAccess.
40 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Reflection): ObjectAccess::getPropertyPath does support Arrays now, resolves #6390, relates to #7203.
10 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): When building class schemata properties pointing to objects not being declared entity or valueobject are skipped now.
1 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Reflection): When building class schemata the ReflectionService now checks value objects for a constructor and no setters, resolves #6868.
[~TASK] Party: PersonName now has a constructor and no longer any setters.
52 lines of code changed in 2 files:
[+FEATURE] FLOW3 (Persistence): Reimplemented lazy loading, resolves #6120. See updated manual for details.
[+FEATURE] FLOW3 (Persistence): Lazy loaded SplObjectStorage can now be counted without triggering activation, resolves #3337.
[~API] FLOW3 (Persistence): Moved the BackendInterface into the Backend namespace.
[-API] FLOW3 (Persistence): Removed the DataMapperInterface. Backends should follow the defined data structure.
[~TASK] FLOW3 (Persistence): Optimized clean data handling while dirty checking, reducing memory usage.
2 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): ObjectAccess know correctly recognizes isFoo() getter methods for boolean properties. Fixes #6647
12 lines of code changed in 1 file:
[~TASK] Fluid (Unit Tests): Fixed TemplateParserTest and ViewHelperNodeComparatorTest by what counts as a rewrite.
[~TASK] FLOW3 (Unit Tests): Fixed some test failures with recent changes as well as when using vanilla PHPUnit.
1 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Object): Implemented a static object container which is automatically built. It's essentially a hardcoded version of the autowired and configured object dependencies - just a lot faster. Many tests are still missing, but the version in this commit should be mostly functional. Addresses #3740 and resolves #2123.
[!!!][~API] FLOW3 (Object): Heavily refactored the Object Manager and its tests. The most important change is the removal of the Object Factory whose create() method is now located in the Object Manager. Furthermore, the getObject() method has been renamed to get() and a few minor important API functions within the Object Manager have been modified. This commit also contains a script which allows for semi automatically migrating existing code to the new API (see ./flow3 migrate objectmanagerusage). Resolves #6562
[~TASK] FLOW3 (Configuration): The Configuration Manager and its YAML source now doesn't depend on the YAML package anymore but refers to a YAML parser class within the FLOW3 package. Resolves #6564.
15 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Property): The PropertyMapper now only maps to settable properties and no longer relies on the class schema to determine the type for the target property - it uses the setter parameter's type if available and falls back to the class schema if needed. Resolves #5612.
[+FEATURE] FLOW3 (Reflection): When reflecting classes entities and value objects are checked for being declared prototype, resolves #6141.
[+FEATURE] FLOW3 (Reflection): ClassSchema now enforces consistency when it comes to value objects and identity/identifier properties, resolves #6140, resolves #6142.
[+BUGFIX] FLOW3 (Persistence): Fixed left over JCR constant in AbstractSqlBackend, fixes #6153.
85 lines of code changed in 3 files:
[+BUGFIX] FLOW3 (Reflection): ObjectAccess::getProperty() now throws an exception when a property does not exist, fixes #6005.
[~TASK] FLOW3 (Reflection): GenericObjectValidator now checks properties even if they are not accessible normally.
19 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Renamed some testcases to match their test subjects, removed an outdated todo annotation in PropertyReflection.
379 lines of code changed in 4 files:
[+BUGFIX] FLOW3 (Reflection): Fixed a bug that would occur if an array with a non-existing key would be passed to ObjectAccess::getProperty(), fixes #6073
9 lines of code changed in 1 file:
[~TASK] FLOW3 (Documentation): Updated the Coding Guidelines: removed inconsistent exceptions from the general class naming rules. Also added the rule that names of aspect classes must end with "Aspect". Relates to #5658
[~TASK] Global: Renamed many classes and interfaces in order to be consistent with FLOW3's naming rules. A migration script to update third-party applications will follow soon. Resolves #5658
784 lines of code changed in 3 files:
[~TASK] FLOW3 (AOP): Removed the "Resource" sub package from the blacklisted sub packages because it now contains a class (Resource) which needs to be persistable.
[-FEATURE][!!!] FLOW3 (MVC): For now removed the request hash feature (HMAC) because it mocks a level of security for incoming data which it doesn't provide. The current mechanism effectively puts control over content security into Fluid templates and it doesn't belong there. Although there might be a need for a request hash, the content security must be implemented by other means. Relates to #4960 and relates to #5659.
[+FEATURE] FLOW3 (MVC): Implemented support for file uploads. Uploading files is cooperation between the Web Request Builder, the Property Mapper and the Resource sub package. The solution included in this commit provides handling of incoming files (including nested arguments) and transparent conversion into Resource objects. Resources (files) are only stored once, no matter how often they are uploaded or what original filename they carried. Still missing: view helper, documentation and automatic purging of unused resource files. Addresses #342.
[~API][!!!] FLOW3 (Property): Renamed the property mapper class to "PropertyMapper" (was just "Mapper" before). Relates to #5658
[+FEATURE] FLOW3 (Property): The Property Mapper now supports a mechanism called Object Converters. These convertes enable the mapper to convert strings, arrays or numbers to certain objects, for example a unix time stamp to a DateTime object. Resolves #5660.
[+FEATURE] FLOW3 (Reflection): Implemented the methods "isPropertySettable" and "isPropertyGettable" for the ObjectAccess class.
[~TASK] FLOW3 (Resource): Renamed the StreamWrapper class to StreamWrapperAdapter
[+FEATURE] FLOW3 (Resource): Implemented a ResourceObjectConverter which is capable of converting arrays or strings to Resource objects.
[+FEATURE] FLOW3 (Utility): Implemented a setValueByPath() method for the Array utilities class.
[+FEATURE] FLOW3 (Utility): Added support for the _FILES super global to the Environment class. The array of information about uploaded files can be obtained in a much cleaner way than PHP provides it by the new getUploadedFiles() method.
24 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Split the cache in two parts, one using the VariableFrontend (for reflection data) and one using the StringFrontend (for simple status data).
[~TASK] FLOW3 (Core): The cache used to cache revision data is now using the StringFrontend.
50 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): If a parent class was modified, the Reflection Service will now also flush the reflection cache of classes inheriting this class. Fixes #4952
47 lines of code changed in 2 files:
[+TASK] FLOW3 (Reflection): ObjectAccess->getProperty now supports not only ArrayObjects, but also simple arrays.
11 lines of code changed in 2 files: