Co-auhored by David Persson Tests by HamidReza Koushki Closes #1189 Refs #1162 - Misc. cleanup and refactoring - Remove result caching from database iterators. - Implement `peek()` - Fix incorrectly setup tests that expected `Result` to be endless. - Finalize "forward-only" behavior in `Result`, makes rewind a noop. Tests updated accordingly. - Change `Result`, to eager load first result. - Fix `Result` to correctly behave when iterating over it (next doesn't get called before first iteration). Update all tests and parts that relied upon the incorrect behavior. - Refactor `RecordSet` and `Result`. - Cleanup and documentation. - Adding test to prove non-sequential record issue. - Updating has many tests to explictly use main key order.
Removes treatment of `'all'` finder as a special case, by actually adding it as a finder. Normalize all finders as closures when being added using `finder()`. These changes reduces the amount of code in `find()` and cases in `__callStatic()`. Renamed to `_finders()` for clarity. Finders are a special class of filters. Users may not know about filters, but know of finders. Brings `_finders()` method closer to `find()` and `finder()`, where it is actually used. Adds thorough API documentation. Makes method static, so we can later directly call, without using $self.
… singularized to 'sleefe' incorrectly
The correct error reporting level should be set in the php.ini.
- Minor formatting. - Improve Database::_formatters docblock. - Split db value tests. - Document bypass feature in database value. - Do not import Closure class when used for doc purposes. Fully namespaced class names should be used for documentation purposes. The use block at the top is for "real" dependencies. Partially reverts 798ac5d. - Set nested list doc type for closures from closure to \Closure. - Fix type in net\http\Media::scope(). - Document test error to exception conversion. - Document filter methods. - Remove 'This method can be filtered.', default message are added in li3_docs. - Mini refactor Locale::lookup(). - Refactor Locale::_preferredAction. - Better deprecation message.
- Use spaces instead of tabs in .json files. - Tune some settings (authors, keywords)
The calculation logic now uses HMAC which requires a secret key. Such a unique key must be set in userland before starting to use form signature generation or verification. The new logic is basically modelled after message signatures and its purpose is to ensure integrity of the compiled form signature string. Adding test to prove overflowing is prevented. Adding changelog entries.
- Move in-memory caching of _parseAccept into parent method. - Rename _acceptContent to _accept to match header name. - Remove dep on app and dir in test.