silverstripe-framework/tests
Hamish Friedlander 27113f82c3 API Make DataList and ArrayList immutable
In 3.0 there was some confusion about whether DataLists and ArrayLists
were mutable or not. If DataLists were immutable, they'd return the result, and your code
would look like

  $list = $list->filter(....);

If DataLists were mutable, they'd operate on themselves, returning nothing, and your code
would look like

 $list->filter(....);

This makes all DataLists and ArrayList immutable for all _searching_ operations.
Operations on DataList that modify the underlying SQL data store remain mutating.

- These functions no longer mutate the existing object, and if you do not capture the value
returned by them will have no effect:

  ArrayList#reverse
  ArrayList#sort
  ArrayList#filter
  ArrayList#exclude

  DataList#dataQuery (use DataList#alterDataQuery to modify dataQuery in a safe manner)
  DataList#where
  DataList#limit
  DataList#sort
  DataList#addFilter
  DataList#applyFilterContext
  DataList#innerJoin
  DataList#leftJoin
  DataList#find
  DataList#byIDs
  DataList#reverse

- DataList#setDataQueryParam has been added as syntactic sugar around the most common
cause of accessing the dataQuery directly - setting query parameters

- RelationList#setForeignID has been removed. Always use RelationList#forForeignID
when querying, and overload RelationList#foreignIDList when subclassing.

- Relatedly,the protected variable RelationList->foreignID has been removed, as the ID is
now stored on a query parameter. Use RelationList#getForeignID to read it.
2012-12-14 13:30:35 +13:00
..
api Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
behat Merge remote-tracking branch 'origin/3.0' into 3.1 2012-12-12 10:11:56 +01:00
cache Method visibility according to coding conventions 2012-09-20 10:46:59 +02:00
control Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
core Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
dev Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
filesystem BUG GD::greyscale did not correctly preserve alpha component of images Added test cases to test greyscale operation across various image formats Replaced various magic numbers with IMAGETYPE_XXX definitions 2012-12-04 09:47:26 +01:00
forms Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
i18n API Explicitly load project template files after modules 2012-12-04 10:47:37 +01:00
injector Merge pull request #1019 from nyeholt/injector_convert_service_params 2012-12-12 01:07:47 -08:00
integration BUG Fixing regression in 26d70d6fca with formatted output in SS_HTMLValue 2012-10-16 11:59:30 +13:00
javascript Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
model API Make DataList and ArrayList immutable 2012-12-14 13:30:35 +13:00
oembed FIX Remove instances of lines longer than 120c 2012-09-30 17:18:13 +13:00
parsers FIX Remove instances of lines longer than 120c 2012-09-30 17:18:13 +13:00
phpcs Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
search Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
security API Removed methods previously deprecated in 3.0 2012-12-14 01:16:47 +01:00
tasks Method visibility according to coding conventions 2012-09-20 10:46:59 +02:00
templates BUG Only include processed requirements at the top level. (Fixes #7847) 2012-11-04 17:54:09 +13:00
testing NEW FixtureFactory separated out from YamlFixture 2012-12-11 17:06:27 +01:00
travis Merge remote-tracking branch 'origin/3.0' 2012-11-28 16:36:21 +01:00
view Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
Bare.yml MINOR: Added small fixture YML that just lets you log in, for bootstrapping browser automation tests. 2011-02-02 14:17:57 +13:00
bootstrap.php Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
FakeController.php FIX Remove instances of lines longer than 120c 2012-09-30 17:18:13 +13:00
MemoryLimitTest.php Method visibility according to coding conventions 2012-09-20 10:46:59 +02:00
PhpSyntaxTest.php FIX Remove instances of lines longer than 120c 2012-09-30 17:18:13 +13:00