Commit Graph

1328 Commits

Author SHA1 Message Date
Ingo Schommer
11b409aac8 MINOR Using SQLQuery wrapper in DbDatetimeTest to provide better cross-db support, specifically correct LIMIT syntax in MSSQL (previously broken in a9b13509) 2011-05-19 11:38:43 +12:00
Ingo Schommer
a2d334ca0c MINOR Fixed fixture ordering in RestfulServerTest to work with PostgreSQL 2011-05-19 11:09:06 +12:00
ajshort
1f6f7f0862 API CHANGE: Deprecated CompositeField->FieldSet() in favour of CompositeField->FieldList().
MINOR: Replaced usage of FieldSet with FieldList.
MINOR: Renamed FieldSetTest to FieldListTest.
2011-05-11 17:51:54 +10:00
ajshort
f0676c7d56 API CHANGE: Updated FieldSet to use ArrayList rather then DataObjectSet.
MINOR: Updated FieldSetTest since position information is no longer available on iterated objects.
2011-05-06 08:30:54 +10:00
ajshort
2294ef5820 API CHANGE: Deprecated DataObjectSet in favour of DataList or ArrayList.
MINOR: Moved DataObjectSet tests to ArrayListTest.
2011-05-06 00:52:50 +10:00
ajshort
b3fc458101 ENHANCEMENT: Made it possible to sort by multiple fields in ArrayList::sort(). 2011-05-06 00:24:33 +10:00
ajshort
462689a4e6 ENHANCEMENT: Added ArrayList->removeDuplicates(). 2011-05-05 20:53:07 +10:00
ajshort
99a2baf3f8 MINOR: Updated ArrayList->getRange() to return an ArrayList instance. 2011-05-05 20:41:06 +10:00
ajshort
3f132a105b API CHANGE: Replaced DataObjectSet instances with ArrayList. 2011-05-05 20:40:24 +10:00
ajshort
9f87294427 ENHANCEMENT: Added exists(), replace(), merge(), push(), pop(), unshift() and shift() methods to ArrayList. 2011-05-05 17:48:12 +10:00
ajshort
7e7677bbba FEATURE: Added ArrayList to allow an array of arrays or objects to be handled as a list. 2011-05-04 00:06:42 +10:00
ajshort
577be1e6fc MINOR: Explicitly sort objects in DataListTest to prevent test failures across different DB's. 2011-05-03 21:59:51 +10:00
ajshort
c025ce7a4a MINOR: Replaced usage of deprecated toDropdownMap() with map(). 2011-05-03 13:05:27 +10:00
ajshort
04e30243d0 MINOR: Updated MemberTest to work with a standard array iterator. 2011-05-03 12:16:40 +10:00
ajshort
54a5fc6a74 BUGFIX: Fixed the manifest not parsing interfaces which extended from multiple interfaces. 2011-05-02 10:37:26 +10:00
Ingo Schommer
37774d4103 ENHANCEMENT Added ClassManifest->getModules(), and removed limitation to toplevel modules in ClassManifest->handleFile() (necessary to detect new sapphire/admin/ "submodule") 2011-05-01 20:23:07 +12:00
Sam Minnee
2f79961988 MINOR: Moved tests for DataList into DataListTest. 2011-05-01 17:12:50 +12:00
ajshort
2365bfc652 MINOR: Moved model tests into the tests/model directory. 2011-05-01 15:26:30 +12:00
ajshort
3fbb29a6c5 FEATURE: Added PaginatedList, which wraps around a data list or set to provide pagination functionality. This replaces the pagination functionality baked into DataObjectSet.
API CHANGE: Removed pagination related methods from DataObjectSet and implemented them on PaginatedList.
API CHANGE: Removed DataObjectSet::parseQueryLimit(), this is now implemented as PaginatedList::setPaginationFromQuery().
API CHANGE: Deprecated DataObjectSet::TotalItems in favour of Count().
ENHANCEMENT: Added FirstLink and LastLink to PaginatedList.
MINOR: Updated documentation, and added a how-to on paginating items.
2011-05-01 15:26:29 +12:00
Sam Minnee
6915e58a39 BUGFIX: Fix SQLQuery::queriedTables() and added test. 2011-05-01 15:26:29 +12:00
Sam Minnee
0de6dbc848 BUGFIX: Fixed Permission::add_to_hidden_permissions() and Permission::remove_from_hidden_permissions() 2011-05-01 15:26:28 +12:00
Sam Minnee
7efd19e7cb BUGFIX: Fixed DataList arrayaccess. 2011-05-01 15:26:28 +12:00
Sam Minnee
4a061fd071 ENHANCEMENT: Refactored MemberTableList field to make better use of DataList and ManyManyList. Refactored ComplexTableField and TableListField to, stripping out as much model logic as possible. 2011-05-01 15:26:28 +12:00
Sam Minnee
3a17d5c427 API CHANGE: Add removeByID(), canSortBy(), and byID() to DataList and its subclasses. 2011-05-01 15:26:01 +12:00
Sam Minnee
c615c4eb91 ENHANCEMENT: First cut of running SearchContext through DataList/DataQuery. Note that the eventual goal is probably to ditch SearchContext entirely. 2011-05-01 15:25:58 +12:00
Sam Minnee
319d2f4952 ENHANCEMENT: Refactored TableListField and subclasses to rely on the DataList to handle data manipulatation.
API CHANGE: A DataList can be passed as the 2nd argument to the constructor; this is the recommended approach for editing non-relations.
API CHANGE: You can't set a custom query; only a custom DataList.
API CHANGE: You can't have one of these fields editing data that doesn't correspond to a DataList - there must be some kind of DataObject behind it.
API CHANGE: If the field's name corresponds to a relation on the object being edited, then the relation is used as the data set - all the source* parameters are ignored.
API CHANGE: relationAutoSetting only works if your form has had the corresponding data object loaded with $form->loadDataFrom().
API CHANGE: relationAutoSetting can't be turned off; attach a non-relation DataList instead.
2011-05-01 15:25:45 +12:00
Sam Minnee
de1494e3a8 ENHANCEMENT: Implemented DataList as the successor of DataObjectSet. DataList doesn't execute the query until it's actually needed, allowing for a more flexible ORM.
API CHANGE: augmentSQL is now passed a DataQuery object from which query parameters can be extracted.
API CHANGE: DataObjectDecorators that manipulate the query can now define augmentDataQueryCreation().
API CHANGE: The container class argument for DataObject::get() is deprecated.
API CHANGE: DataObject::buildSQL() and DataObject::extendedSQL() are deprecated; just use DataObject::get() now.
API CHANGE: DataObject::instance_get() and DataObject::instance_get_one() are deprecated, and can no longer be overloaded.
API CHANGE: DataObject::buildDataObjectSet() is deprecated.
API CHANGE: Cant't call manual manipulation methods on DataList such as insertFirst()
2011-05-01 15:25:45 +12:00
Sam Minnee
5dd03ca9fb MINOR: Added additional tests for the ORM. 2011-05-01 15:25:14 +12:00
Sam Minnee
3619eae9eb MINOR: Don't couple GroupTest to the Member_GroupSet object. 2011-05-01 15:25:14 +12:00
Ingo Schommer
79e0634537 Merge branch 'cms-ui-preparation' 2011-04-28 22:48:02 +12:00
ajshort
3a1c2df4e7 API CHANGE: Renamed DataObjectDecorator to DataExtension.
API CHANGE: Renamed LeftAndMainDecorator to LeftAndMainExtension.
MINOR: Replaced all references to decorators with extension.
2011-04-26 11:01:38 +10:00
Ingo Schommer
583f669c68 API CHANGE Adjusting to split of SiteTree->getCMSFields() into getSettingsFields(), and new tab paths ("Root.Content" instead of "Root.Content.Main") 2011-04-24 11:46:49 +12:00
Ingo Schommer
d5efacbf56 BUGFIX Less fragile 'newness' check on Group->Code in Group->onBeforeWrite() (fixes #6595) 2011-04-14 21:38:07 +12:00
Ingo Schommer
fcca1d454d MINOR Moved TransactionTest->testReadonlyTransaction() to PostgreSQLDatabase driver, which is the only one that actually supports it. We can't have tests failing for all other databases by default for this optional feature which can't be detected through the Database API. 2011-04-06 23:18:31 +12:00
Ingo Schommer
9b29616710 API CHANGE Rearranged files in sapphire to reflect core dependencies more accurately, and have the tests/ folder mirror its folder structure 2011-03-31 09:56:21 +13:00
Ingo Schommer
f4a16d3c77 MINOR Making HTTPTest less fragile around global state. Improved test readability. 2011-03-31 08:37:48 +13:00
Ingo Schommer
2870eb9212 MINOR Changed $fixture_path to relative filenames in all sapphire test cases in order to allow easier file moving and less verbosity in tests 2011-03-30 23:04:48 +13:00
Ingo Schommer
14e1341df6 ENHANCEMENT Added support for SapphireTest::$fixture_file paths relative to current class location ('MyTest.yml' or '../otherfolder/MyTest.yml'). Added SapphireTest->getCurrentAbsolutePath() and getCurrentRelativePath() for easy access within unit tests 2011-03-30 20:05:22 +13:00
Julian Seidenberg
eaa6c6c49d API-CHANGE: removing protected object_to_array method (use get_object_vars instead) 2011-03-30 18:16:17 +13:00
Julian Seidenberg
dec5c0ae60 API CHANGE: TextareaField doesn't have hidden value on read-only transformation. Added hidden fields in a way that doesn't break unit tests too severely (fixes #5056, thanks jshipman) 2011-03-30 18:16:17 +13:00
Julian Seidenberg
0b93a8f7cf API-CHANGE: Allowing non-standard path for session store 2011-03-30 18:16:16 +13:00
Julian Seidenberg
5efdc60029 API-CHANGE: Renaming a folder did not update the folder's filename on the disk. This is now fixed. There is now a one-to-one mapping between a folder and its "Title" label. Files still can have a Title that is different from the Filename (fixes #6088, thanks Pike) 2011-03-30 18:16:16 +13:00
Julian Seidenberg
a204c136fe API CHANGE: JSONDataFormatter builds JSON itself, changing it to use Convert::array2json() instead (fixes #5162, thanks sharvey) 2011-03-30 18:16:12 +13:00
Julian Seidenberg
f94be66cb2 BUGFIX: HTMLText.Summary() will return nothing if there's an image at the beginning. Regex to strip out the image and unit tests (fixes #6436, thanks webbower) 2011-03-30 18:12:31 +13:00
Julian Seidenberg
341245dd4a ENHANCEMENT Allowing custom HTMLCleaner implementations via Diff:: and new TidyHTMLCleaner and PurifierHTMLCleaner classes 2011-03-30 18:02:25 +13:00
Ingo Schommer
0d39a888a1 MINOR Removed references to ContentController from documentatin 2011-03-29 18:20:14 +13:00
Ingo Schommer
95dcc74c10 MINOR Removed reliance of sapphire/admin unit tests on SiteTree and CMSMain 2011-03-29 18:20:10 +13:00
Ingo Schommer
65e7b83421 MINOR Made login form redirection test in SecurityTest explicit, rather than implicit through testLogInAsSomeoneElse() 2011-03-29 18:08:33 +13:00
Ingo Schommer
29afbea69d BUGFIX Fixed ComplexTableFieldTest to work without a valid root url (which breaks the AddForm() redirection) 2011-03-29 18:07:59 +13:00
Ingo Schommer
b78b1309c9 MINOR Removing SiteTree dependency from FulltextSearchableTest 2011-03-29 18:07:58 +13:00
Ingo Schommer
67cc18f5bf MINOR Optional dependency on ThumbnailStripField in HtmlEditorField, preparing the split of this field into a "basic" and "cms" version 2011-03-29 18:07:58 +13:00
Ingo Schommer
41e51abd9a MINOR Made HtmlEditorField dependency to SiteTree optional (to be moved into separate aspect, or down to DBField/model layer) 2011-03-29 18:07:58 +13:00
Ingo Schommer
a9b13509d2 MINOR Removed dependency on SiteTree in various unit tests 2011-03-29 18:07:58 +13:00
Ingo Schommer
ecc28cb565 MINOR Moved MigrateSiteTreeLinkingTask from 'sapphire' to 'cms' module 2011-03-29 18:07:57 +13:00
Ingo Schommer
764c5a842b MINOR Moved Widget, WidgetArea and related files from 'sapphire' to 'cms' module 2011-03-29 18:07:57 +13:00
Ingo Schommer
1c213906cb MINOR Removed unnecessary SiteTree dependency from TransactionTest 2011-03-29 18:07:57 +13:00
Ingo Schommer
d93025d668 MINOR Moved File->BackLinkTracking feature from 'sapphire' to 'cms' 2011-03-29 18:07:57 +13:00
Ingo Schommer
d61444e976 API CHANGE Moved Translatable class into new 'translatable' module 2011-03-29 18:07:56 +13:00
Ingo Schommer
8847beded2 MINOR Moved SearchFormTest and ContentControllerSearchExtensionTest into 'cms' module 2011-03-29 18:07:56 +13:00
Paul Meyrick
251c1df63a MINOR Fixed SSViewerTest->testCurrentTheme() not to rely on SiteConfig 2011-03-29 18:07:55 +13:00
Paul Meyrick
dc36725869 MINOR Using BlankPage template in SecurityTest, BasicAuthTest to remove ContentController dependency
MINOR Checking for SiteTree class existence in Security, Translatable
MINOR Checking for ContentController existence in FulltextSearchable
MINOR Removed unnecessary ContentController tests from ObjectTest
MINOR Replaced CMS specific examples in PermissionCheckboxSetFieldTest, DataObjectTest
MINOR Changed SecurityTest to make assertions against Security/login rather than relying on redirection from admin/cms
2011-03-29 18:07:55 +13:00
Ingo Schommer
7f06f97761 MINOR Moved WidgetArea (and related tests) to "cms" module 2011-03-29 18:07:55 +13:00
Ingo Schommer
204fd2c4ce MINOR Moved SiteTree, SiteTreeDecorator, SiteConfig, ErrorPage, RedirectorPage, VirtualPage (and related tests) to "cms" module 2011-03-29 18:07:55 +13:00
Ingo Schommer
5bf5b744d8 MINOR Moved ContentController, ModelAsController, NestedController, RootURLController (and related tests) to "cms" module 2011-03-29 18:07:55 +13:00
Ingo Schommer
1a598fe39e MINOR Removed obsolete 'usetestmanifest' flag from documentation and RestfulServiceTest 2011-03-28 08:14:03 +13:00
ajshort
bd2a54769c MINOR: Updated WebserverRoutingTest to use Security/ping to test if the server is accesible, since ?usetestmanifest is no longer available. 2011-03-25 14:59:34 +11:00
Hamish Friedlander
2f1ffe2f6f BUGFIX: Manifest test fixtures were interfering with other tests 2011-03-25 14:07:18 +13:00
ajshort
eb1a3fe75a API CHANGE: Separated the actual CURL request generation code from RestfulService::request() into RestfulService::curlRequest().
MINOR: Updated RestfulServiceTest to use a mock service rather than the actual site. This eliminates the need for ?usetestmanifesst.
2011-03-24 21:31:00 +11:00
ajshort
1a0ced4adc MINOR: Updated the i18n tests to use mock template and class manifests. 2011-03-24 21:31:00 +11:00
ajshort
c34105438c FEATURE: Replaced the template manifest with SS_TemplateLoader, which finds templates from a stack of SS_TemplateManifest objects. 2011-03-24 21:30:57 +11:00
ajshort
76f0fc0c92 FEATURE: Added SS_TemplateManifest, which finds all templates within a directory organised by theme and type. 2011-03-24 21:30:20 +11:00
ajshort
07b1308cd4 MINOR: Made it possible to disable caching on a class manifest via a constructor parameter, and used this in ClassManifestTest. 2011-03-24 20:14:43 +11:00
ajshort
bc0a1b7a05 MINOR: Updated various methods to use new manifest methods rather than ManifestBuilder functions or globals. 2011-03-24 20:14:43 +11:00
ajshort
0c78935db4 API CHANGE: Replaced ManifestBuilder::load_test_manifest() calls with new function TestRunner::use_test_manifest(), which pushes a test manifest onto the class loader. 2011-03-24 20:14:43 +11:00
ajshort
184da5bbcc FEATURE: Replaced ManifestBuilder (and related bootstrap code) with a new SS_ClassLoader class which loads classes and interfaces from a stack of SS_ClassManifest instances. 2011-03-24 20:14:42 +11:00
ajshort
c685893251 ENHANCEMENT: Added a SS_ClassManifest class which finds all config files, classes and interfaces in a directory, as well as constructing descendant and implementor information. 2011-03-24 20:14:42 +11:00
ajshort
ecc6840344 ENHANCEMENT: Added a ManifestFileFinder class, which is an extension to SS_FileFinder which takes into account modules, exclude files and lang/test/themes/assets dirs. 2011-03-24 20:14:42 +11:00
ajshort
852920237e MINOR: Updated ClassInfo::allClasses() and ::exists() to use $_CLASS_MANIFEST rather than $_ALL_CLASSES. This means results from ClassInfo::allClasses() are now lowercase. 2011-03-24 20:14:42 +11:00
ajshort
a0f66099ed FEATURE: Added the SS_FileFinder class for finding files within a directory true that match a set of rules. 2011-03-24 20:14:42 +11:00
ajshort
5c972b231d API CHANGE: Moved ManifestBuilder::get_themes() to SSViewer::get_themes(). 2011-03-24 20:14:41 +11:00
ajshort
803e67b87d API CHANGE: Refactored ClassInfo::subclassesFor() to traverse the child tree, rather than needing to store a list of every classes descendants.
API CHANGE: Updated ClassInfo::subclassesFor() so all the array keys are consistently the same as the values.
2011-03-24 20:14:41 +11:00
ajshort
f55cc7ec67 MINOR: Refactored ClassInfo::dataClassesFor() to use existing methods rather than creating the class array itself. 2011-03-24 20:14:41 +11:00
ajshort
eba1a85ead MINOR: Refactored ClassInfo::ancestry() to use inbuilt PHP methods rather than the parent manifest. 2011-03-24 20:14:41 +11:00
ajshort
0d03348926 API CHANGE: Refactored ClassInfo::baseDataClass() to use inbuilt PHP methods, and throw an exception if the passed class is not a subclass of DataObject. 2011-03-24 20:14:38 +11:00
Ingo Schommer
0b40bda1cc MINOR Changed TreeDropdownField markup from <div href="..."> to <div data-url-tree="..."> in order to support other URLs (e.g. reordering) - important for the main CMS tree 2011-03-22 18:15:03 +13:00
Ingo Schommer
35100c3e11 ENHANCEMENT Allow submitting form data alongside TreeDropdownField ajax request, which can be used to retain state 2011-03-22 18:13:13 +13:00
Ingo Schommer
7bda1ecab6 ENHANCEMENT Allowing JSTestDriver execution in tests/javascript/ by adding bash scripts and new Makefile command ("make jasmine") 2011-03-22 18:05:43 +13:00
Ingo Schommer
aefc60e406 MINOR Removed fixtures for TreeDropdownField, inlining them instead: loading files doesn't work with JSTestDriver 2011-03-22 18:05:43 +13:00
Ingo Schommer
4591503da6 BUGFIX Getting TreeDropdownField.js javascript tests to work with async jstree events 2011-03-22 18:05:42 +13:00
Ingo Schommer
e7ad682cf2 MINOR Added javascript tests for TreeDropdownField.js 2011-03-22 18:05:22 +13:00
Ingo Schommer
d099c7e5ba BUGFIX Unregistering custom Authenticators in SecurityTest->setUp() 2011-03-21 18:13:01 +13:00
Ingo Schommer
09283fba88 BUGFIX Fixed DataObject->isEmpty() to only inspect custom fields (excluding "ClassName" etc), and use DBField->hasValue() for more type-specific emptyness checks 2011-03-21 18:13:01 +13:00
Ingo Schommer
2b6357737b MINOR Added DataObjectTest->testToMap() 2011-03-21 18:13:01 +13:00
Ingo Schommer
a7e9be3bc4 BUGFIX Fixing SecurityTest to clear any custom settings in Security::$force_database_is_ready before making assertions 2011-03-21 18:12:59 +13:00
phalkun
8fd309a5ea BUGFIX: In some circumstances, parts of the entities were cut off thus display the LimitCharacters-ed text incorrectly 2011-03-21 17:49:27 +13:00
Hamish Friedlander
88535a43c5 BUGFIX: Clean up escaped character handling in SSViewer, and rework the Text rule to avoid a segfault problem with pcre regular expressions 2011-03-17 13:31:56 +13:00
Ingo Schommer
dd6f9ed005 MINOR Moved readonly section of TransactionTest into postgresql/ module 2011-03-14 16:45:52 +13:00
Ingo Schommer
2184acf17d Revert "MINOR Replaced assertType() calls with assertInstanceOf(), deprecated in PHPUnit 3.6 (throws warnings as of 3.5.10)" - cased too many problems with mixed build environments that require PHP 3.4
This reverts commit 65f6104cd6.
2011-03-11 15:06:09 +13:00
Ingo Schommer
0a4aa9dc17 BUGFIX Renamed MySQLDatabase->clear_cached_fieldlist() to clearCachedFieldList() and moved to parent Database class in order to avoid breaking other database drivers (broken in 360176d2 by gmunn) 2011-03-11 14:22:59 +13:00
Hamish Friedlander
f5b867a35d Merge branch 'ssviewer-rewrite' 2011-03-10 17:52:10 +13:00