Commit Graph

688 Commits

Author SHA1 Message Date
Maxime Rainville
25bba49923 [SS-2018-021] Fix potential SQL vulnerability in non-scalar value hyrdation 2019-02-19 12:20:24 +13:00
Maxime Rainville
95505db7d6 [SS-2018-021] Fix potential SQL vulnerability in non-scalar value hyrdation 2019-02-12 21:08:09 +13:00
Maxime Rainville
fd90cf6ceb [SS-2018-021] Fix potential SQL vulnerability in non-scalar value hyrdation 2019-02-12 20:44:17 +13:00
Loz Calver
7c5b73881b FIX: Prevent null->null being flagged as a value change (fixes #8774) 2019-02-06 13:24:18 +13:00
Robbie Averill
d116b9a8d2 Add test for shortcode parsing with querystring and anchor 2019-01-29 13:15:17 +02:00
Maxime Rainville
a589bcb092
Merge pull request #8729 from emteknetnz/bugfix/htmlvalue-getcontent
Ensure document is not falsey before attempting to clone it
2019-01-29 09:11:04 +13:00
Robbie Averill
d00c59c383 Fix tests not loading fixtures and loading themes in CWP recipe kitchen sink 2019-01-28 13:34:52 +02:00
Steve Boyd
d28552915d Add unit test for an invalid HTMLValue 2019-01-25 15:55:03 +13:00
Robbie Averill
d8cd085190 Merge branch '4.3' into 4 2019-01-24 17:14:09 +02:00
Robbie Averill
e087e564e1 Fix tests not loading fixtures and loading themes in CWP recipe kitchen sink 2019-01-24 16:45:38 +02:00
Maxime Rainville
13486ca80e MINOR Add unit test for Requirements::add_i18n_javascript() 2019-01-16 10:36:53 +13:00
Damian Mooyman
34ac228029
BUG Fix issue with assertListEquals() ignoring field getters 2019-01-11 11:35:11 +13:00
Maxime Rainville
1e01deea39 NEW Make resources dir configurable (#8519)
* NEW Make resources dir configurable.

* Removing reference to old `resources` and updating doc #8519

* Rrtarget to 4.4 release.

* DOC Reference SS_RESOURCES_DIR in Environment doc.

* API Add a Resources method to SilverStripe\Core\Manifest\Module to read the resources-dir from composer.json

* Clean up reference to SS_RESOURCES_DIR env var

* Set default resources-dir

* Update test to use RESOURCES_DIR const in expected resource url method

* Correcting typos

Co-Authored-By: maxime-rainville <maxime@rainville.me>

* MINOR Correctubg minor typos

* DOCS Document the intricacies of exposing static assets.
2019-01-09 15:35:45 +13:00
Robbie Averill
7c96feef37 Merge branch '4.3' into 4 2019-01-08 12:27:48 +01:00
Robbie Averill
394dd4765c NEW Scaffolded field labels now only have an uppercased first word 2019-01-07 17:52:28 +01:00
Maxime Rainville
7d1aa44786
Merge pull request #8654 from creative-commoners/pulls/4.3/password-complexity-test-fixes
Update tests to pass in CWP kitchen sink context
2018-12-13 16:50:25 +13:00
Robbie Averill
470093de2f
Merge pull request #8650 from sminnee/nested-vendor
FIX: Manifest should ignore vendor folders within packages contained in vendor
2018-12-12 19:52:03 +00:00
Robbie Averill
5d7c5ffb07 Merge branch '4.3' into 4 2018-12-06 09:40:40 +00:00
Robbie Averill
08866f89d9 Merge branch '4.2' into 4.3 2018-12-06 09:40:05 +00:00
Robbie Averill
96bd17d469 Merge branch '4.1' into 4.2 2018-12-06 09:38:45 +00:00
Robbie Averill
3f532466d1 Merge branch '4.0' into 4.1 2018-12-06 09:37:52 +00:00
Guy Marriott
6edcbe9086
Merge pull request #8592 from open-sausages/pulls/4.0/tree-multiselect-null
FIX TreeMultiselectField passes value 'unchanged' as null to ORM
2018-12-06 14:23:48 +13:00
Robbie Averill
1ac36611a6 Update tests to pass in CWP kitchen sink context 2018-12-02 23:04:34 +00:00
Sam Minnee
0c17ffc944 FIX: Manifest should ignore vendor folders within packages contained in vendor
Without this change vendor/silverstripe/framework/vendor/silverstripe/config
will be pick up by the manifest, which is inappropriate.

Although this doesn’t happen often, it can occur if you have run
“composer install” within vendor/silverstripe/framework, which can be
done either accidentally or (in my case) as part of running the
framework tests isolated from the rest of your project (which is closer
to the execution model on Travis)

Note that the presence of the ‘nestedvendor.txt’ file tests that this
works without any explicit changes to the PHP of the tests, since it’s
merely confirming that such a file is *not* picked up.
2018-11-30 13:52:25 +13:00
Serge Latyntcev
4ee63eb4e7 TreeMultiselectFieldTest / make scrutinizer happy 2018-11-29 12:13:56 +13:00
Serge Latyntcev
38f8217f01 TreeMultiselectFieldTest / setUp is protected in PHPUnit5 2018-11-29 09:55:28 +13:00
Loz Calver
3f8551df41
Merge pull request #8462 from sminnee/nondestructive-enum
FIX: Make all enums non-destructive, not just ClassName
2018-11-28 16:42:12 +01:00
Robbie Averill
1f1c344272 Merge branch '4.3' into 4
# Conflicts:
 #	tests/php/Forms/ConfirmedPasswordFieldTest.php
2018-11-26 12:15:17 +01:00
Robbie Averill
41dc9229bf FIX Reverting ExtensionTestState and Extensible extra methods modifications to prevent PHP 5.6 segfault (#8581)
* API Revert addition of Extensible::flush_extra_methods_cache() and change to ExtensionTestState

This reverts the changes from #8465 and #8505 that relate to ExtensionTestState and the
tracking of extra methods between unit tests. The existing test from #8465 testing
overloaded Extensions after extra_methods are populated has been updated to show that you
must re-add the extension to flush the extra_methods cache if you need this behaviour.

* Revert change to InjectorTest::testExtendedExtensions

* Revert "Add failing test to show that overloaded extensions are broken in Extensible"

This reverts commit 55e79ffdfd.

* DOCS Add docs for extending extensions, and upgrade guide note to 4.3 to avoid using PHP config to do so
2018-11-26 12:00:02 +13:00
Serge Latyntcev
f526c794fc Minor / Refactor php tests for TreeMultiselectField 2018-11-23 16:03:44 +13:00
Serge Latyntcev
9ce6d91b76 FIX / TreeMultiselectField::objectForKey handles list of IDs correctly 2018-11-22 12:11:18 +13:00
Maxime Rainville
d74af1c17e FIX Explicity mark nodes when searching nodes in TreeDropdownField #8621 2018-11-21 11:43:21 +13:00
Serge Latyntcev
80885fc231 ADD php test TreeMultiselectField::testEmptyChoiceReadonly 2018-11-20 16:45:23 +13:00
Robbie Averill
3b1e91eb59 Merge branch '4.2' into 4.3 2018-11-15 13:41:23 +02:00
Robbie Averill
ef0f9dff8a Merge branch '4.1' into 4.2 2018-11-15 13:41:00 +02:00
Robbie Averill
c6e3a398c7 Merge branch '4.0' into 4.1 2018-11-15 13:40:08 +02:00
Loz Calver
b5bae137bd FIX: Redirect loop with multiple confirmation tokens present (fixes #8607) 2018-11-15 10:59:42 +00:00
Robbie Averill
7d1d6d0f7b FIX Ensure that tests setting passwords have stubbed configuration 2018-11-14 11:54:17 +02:00
Robbie Averill
0bb94b018b FIX Remove default password validation rules before running unit tests 2018-11-13 14:09:08 +02:00
Robbie Averill
8854f053c8 Fix rebase conflicts 2018-11-13 11:09:33 +02:00
Robbie Averill
a8853504b4 API API MonologErrorHandler::setLogger is deprecated, use MonologErrorHandler::pushLogger instead 2018-11-13 11:08:27 +02:00
Guy Marriott
b2dd22fb50
Merge pull request #8506 from creative-commoners/pulls/4.3/all-the-unit-tests
NEW Adding a stack more unit tests for logging and some form fields
2018-11-11 10:31:24 +13:00
Robbie Averill
bab84f31dc Remove underscores from variable test class names 2018-11-10 14:55:11 +02:00
Robbie Averill
eba92d77df Rename CheckboxFieldReadonlyTest for future PSR-2 compatibility 2018-11-10 10:04:17 +02:00
Sam Minnee
a8d3b95175 FIX: Make test work with utf8mb4 2018-11-10 12:10:25 +13:00
Sam Minnee
bd5a815909 FIX: Make all enums non-destructive, not just ClassName
This change also renders a portion of DBSchemaManager irrelevant, that
destructively “fixes” old values. This is in keeping with the
non-destructive principle of dev/build, and some suggestions to move
away from enum fields altogether.

Fixes https://github.com/silverstripe/silverstripe-framework/issues/1387
2018-11-10 12:10:25 +13:00
Robbie Averill
0f2eebe5d4 NEW Change to variadic calls in ListDecorator and add unit tests 2018-11-09 13:59:14 +02:00
Loz Calver
bbb208e1dd
Merge pull request #8499 from sminnee/fix-1489
FIX: CheckboxSetField can now save into DBMultiEnum
2018-11-09 10:40:55 +01:00
Robbie Averill
24d6527845 Merge branch '4.3' into 4 2018-11-09 11:39:27 +02:00
Robbie Averill
10f502f0c7 Merge branch '4.2' into 4.3 2018-11-09 11:39:05 +02:00
Robbie Averill
5b7723df7f Merge branch '4.1' into 4.2
# Conflicts:
 #	lang/fi.yml
 #	lang/nl.yml
2018-11-09 11:38:04 +02:00
Robbie Averill
df4d2bd838 Merge branch '4.0' into 4.1
# Conflicts:
 #	lang/da.yml
 #	lang/eo.yml
 #	lang/fi.yml
 #	lang/it.yml
 #	lang/nl.yml
 #	lang/sv.yml
2018-11-09 11:36:34 +02:00
Sam Minnee
5531baa87f FIX: Introduce readonly transaction test to all database.
This should work on MySQL and PDO; let’s test this.
2018-11-09 10:57:26 +13:00
Sam Minnee
2615399535 FIX: Use PDO’s built-in transaction support in MySQLDatabase. 2018-11-09 10:31:19 +13:00
Sam Minnee
0111b98b18 FIX: Ensure that types are preserved fetching from database
This ensures that numeric fields appear in PHP as int/float values
rather than strings, which allows the development of more type-safe PHP
code.

This doesn’t work on the legacy mysql driver and this will now throw
a notice-level error. It requires mysqlnd.
2018-11-09 10:31:19 +13:00
Werner M. Krauß
bc0f17fb09 Cleanup Convert
* remove unneeded parenthesis and double quotes
* simplify flow / remove unneeded else
2018-11-07 17:45:01 +01:00
Werner M. Krauß
3f321f935a Convert::memstring2bytes should return integer value
bytes are by nature an integer

fixes #8572
2018-11-07 17:01:36 +01:00
Aaron Carlino
76936d863d Merge branch '4.3' into 4 2018-11-07 23:20:44 +13:00
Loz Calver
11fe5b3adf Implement ConfirmationTokenChain to handle multiple tokens at once 2018-11-07 11:33:24 +13:00
Loz Calver
8d7c2dafab [SS-2018-019] Add confirmation token to dev/build 2018-11-07 11:33:24 +13:00
Loz Calver
02ad0f44aa Implement ConfirmationTokenChain to handle multiple tokens at once 2018-11-07 11:32:55 +13:00
Loz Calver
af000bea9b [SS-2018-019] Add confirmation token to dev/build 2018-11-07 11:32:55 +13:00
Loz Calver
5563537cc8 Implement ConfirmationTokenChain to handle multiple tokens at once 2018-11-07 11:31:33 +13:00
Loz Calver
0610f76da0 [SS-2018-019] Add confirmation token to dev/build 2018-11-07 11:31:33 +13:00
Loz Calver
0877442c64 Implement ConfirmationTokenChain to handle multiple tokens at once 2018-11-07 11:24:51 +13:00
Loz Calver
3dbb10625c [SS-2018-019] Add confirmation token to dev/build 2018-11-07 11:24:51 +13:00
Robbie Averill
64c2938c96 Merge branch '4.3' into 4 2018-11-06 11:05:22 +01:00
Robbie Averill
3c58ae009e Merge branch '4.2' into 4.3 2018-11-06 11:05:08 +01:00
Robbie Averill
22c7fa2bc9 Merge branch '4.1' into 4.2 2018-11-06 11:04:43 +01:00
Robbie Averill
6d2665d687 Merge branch '4.0' into 4.1 2018-11-06 11:04:28 +01:00
Werner M. Krauß
adafd73943 Convert::memstring2bytes should preserve -1
fixes #8570
2018-11-06 10:22:13 +01:00
Aaron Carlino
0ba275cb40 Merge branch '4.2' into 4.3 2018-11-06 15:09:01 +13:00
Aaron Carlino
e60cea8561 Merge branch '4.1' into 4.2 2018-11-06 15:08:42 +13:00
Sam Minnee
67fe41d00b FIX: Ensure that repeated setting/unsetting doesn’t corrode forceChange() 2018-11-05 23:09:24 +13:00
Sam Minnee
5bb2d9484a FIX: Update “original” DataObject data to be the content of the last write
FIX: Compare to original when determining fields changes

This fixes a number of edge-case issues relating to change detection.

Fixes #8443
Fixes #3821
Fixes #4561
2018-11-05 23:09:24 +13:00
Sam Minnee
76255c9fb5 FIX: CheckboxSetField can now save into DBMultiEnum
Fixes https://github.com/silverstripe/silverstripe-framework/issues/1489
2018-11-05 17:40:28 +13:00
Sam Minnee
78ceca6934 MINOR: Add test for defaults on subclasses
This was raised in https://github.com/silverstripe/silverstripe-framework/issues/8567
and wasn’t covered by a test.
2018-11-05 16:09:49 +13:00
Luke Edwards
8866e7674a BUG: Fix duplicate plugins on HTML editor fields (#8559)
* BUG: Fix duplicate plugins on HTML editor fields

* Add new test
2018-11-02 12:26:53 +13:00
Michael Strong
55f95b7bc8 BUGFIX many many through not sorting by join table (#8534)
* BUGFIX many many through not sorting by join table

* #8534 added docs to support many many sorting fix

* #8534 added test cases for many_many default sorting
2018-11-01 14:17:15 +13:00
Michael Strong
7086f2ea3a BUGFIX many many through not sorting by join table (#8534)
* BUGFIX many many through not sorting by join table

* #8534 added docs to support many many sorting fix

* #8534 added test cases for many_many default sorting
2018-11-01 13:42:27 +13:00
Robbie Averill
b02a6fa02d FIX Replace usage of Convert JSON methods with json_encode 2018-10-28 21:15:29 +00:00
Sam Minnée
e72fc9e3d0 FIX DataObject singleton creation (#8516)
Ensure DataObject instances are aware they are singletons so functions like populateDefaults() can be skipped. (fixes #4878)

Correctly applies https://github.com/silverstripe/silverstripe-framework/pull/7850 to the 4.x line
This has already been fixed in 3.x
2018-10-25 11:42:45 +13:00
Robbie Averill
bea4101e21 Add tests for DisabledTransformation, PrintableTransformation and PrintableTransformation_TabSet 2018-10-20 20:06:02 +02:00
Robbie Averill
449b2cf291 Add tests for DefaultFormFactory 2018-10-20 19:47:11 +02:00
Robbie Averill
fd50ce6295 Add more edge case tests for disabled DateFields and DatetimeField 2018-10-20 18:29:07 +02:00
Robbie Averill
97209bc919 Add edge case unit tests for DateField 2018-10-20 18:15:42 +02:00
Robbie Averill
0e2847e289 Add tests for DatalessField 2018-10-20 17:59:55 +02:00
Robbie Averill
c06cf4820e BUG Readonly and disabled CurrencyFields no longer always returns dollar currency sign, now respect config 2018-10-20 17:47:16 +02:00
Robbie Averill
d56bad7568 Add tests for edge cases in CurrencyField 2018-10-20 17:33:59 +02:00
Robbie Averill
8929b8204f More validation tests for ConfirmedPasswordField 2018-10-20 17:21:25 +02:00
Robbie Averill
c418ee2915 NEW Add getters and setters for public properties in ConfirmPasswordField, add tests
Some of the validation parts of ConfirmPasswordField are previously untested, this adds tests
2018-10-20 16:43:49 +02:00
Robbie Averill
60b375d995 Add more tests for CheckboxField_Readonly and CompositeField, improve PHPDocs 2018-10-20 15:44:23 +02:00
Robbie Averill
3cdb73bd44 NEW Add getLogger() to MonologErrorHandler and add test for exception without one 2018-10-20 15:00:08 +02:00
Robbie Averill
5bd05a2deb Reduce setUp visibility and remove check for CLI - tests always run on CLI now 2018-10-20 14:51:53 +02:00
Robbie Averill
2694a47c45 Add more tests for DetailedErrorFormatter 2018-10-20 14:41:45 +02:00
Robbie Averill
e211e27470 Add more unit tests for DebugViewFriendlyErrorFormatter, tidy up Director::is_ajax() return 2018-10-20 14:27:57 +02:00
Robbie Averill
c18e9b1298
Merge pull request #8439 from sminnee/consistent-limit
FIX: Make ArrayList::limit() consistent with DataList::limit()
2018-10-16 12:05:11 +02:00
Aaron Carlino
7d201309ad Merge branch '4.2' into 4 2018-10-15 13:42:55 +13:00
Robbie Averill
7215637673
Merge pull request #8460 from open-sausages/pulls/4/lazy-loadable-gidfield
API Add a new GridFieldLazyLoader component
2018-10-11 13:43:10 +02:00
Robbie Averill
46c50577a4 Expect BEM class names in tests, fix PSR-2 line lengths, add ArrayList import 2018-10-11 12:04:23 +02:00