From 2a59b1b3879cbfbd068313a3901f98c7f794a9bc Mon Sep 17 00:00:00 2001 From: Jackson Darlow Date: Wed, 17 Jun 2020 11:22:44 +1200 Subject: [PATCH] Excluded TestOnly classes from field conflict check --- src/ORM/DataObject.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ORM/DataObject.php b/src/ORM/DataObject.php index 112070d54..9d40d7b5b 100644 --- a/src/ORM/DataObject.php +++ b/src/ORM/DataObject.php @@ -12,6 +12,7 @@ use SilverStripe\Core\Injector\Injector; use SilverStripe\Core\Resettable; use SilverStripe\Dev\Debug; use SilverStripe\Dev\Deprecation; +use SilverStripe\Dev\TestOnly; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\FormField; use SilverStripe\Forms\FormScaffolder; @@ -3453,7 +3454,7 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity // Sanity check for fields that conflict with parent foreach (array_keys($fields) as $fieldName) { - if (method_exists(get_parent_class($this), $fieldName)) { + if (method_exists(get_parent_class($this), $fieldName) && !($this instanceof TestOnly)) { throw new LogicException(sprintf( '\'%s\' has a $db field named "%s" that coincides with an inherited method of the same name.', static::class,