if ($targetClassSchema !== NULL && $targetClassSchema->hasProperty($propertyName)) {
$propertyMetaData = $targetClassSchema->getProperty($propertyName);
- if (in_array($propertyMetaData['type'], array('array', 'ArrayObject', 'Tx_Extbase_Persistence_ObjectStorage')) && strpos($propertyMetaData['elementType'], '_') !== FALSE) {
+ if (in_array($propertyMetaData['type'], array('array', 'ArrayObject', 'Tx_Extbase_Persistence_ObjectStorage')) && (strpos($propertyMetaData['elementType'], '_') !== FALSE || $propertyValue === '')) {
$objects = array();
- foreach ($propertyValue as $value) {
- $objects[] = $this->transformToObject($value, $propertyMetaData['elementType'], $propertyName);
+ if (is_array($propertyValue)) {
+ foreach ($propertyValue as $value) {
+ $objects[] = $this->transformToObject($value, $propertyMetaData['elementType'], $propertyName);
+ }
}
// make sure we hand out what is expected
--- /dev/null
+<?php
+/***************************************************************
+* Copyright notice
+*
+* (c) 2010 Bastian Waidelich <bastian@typo3.org>
+* All rights reserved
+*
+* This script is part of the TYPO3 project. The TYPO3 project is
+* free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 2 of the License, or
+* (at your option) any later version.
+*
+* The GNU General Public License can be found at
+* http://www.gnu.org/copyleft/gpl.html.
+*
+* This script is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+
+require_once(t3lib_extMgm::extPath('phpunit') . 'class.tx_phpunit_selenium_testcase.php');
+
+/**
+ * Base Selenium testcase for the Extbase extension.
+ */
+abstract class Tx_Extbase_SeleniumBaseTestCase extends tx_phpunit_selenium_testcase {
+
+}
+?>
$extensionTestsPath = t3lib_extMgm::extPath('extbase') . 'Tests/';
return array(
'tx_extbase_basetestcase' => $extensionTestsPath . 'BaseTestCase.php',
+ 'tx_extbase_seleniumbasetestcase' => $extensionTestsPath . 'SeleniumBaseTestCase.php',
'tx_extbase_dispatcher' => $extensionClassesPath . 'Dispatcher.php',
'tx_extbase_exception' => $extensionClassesPath . 'Exception.php',
'tx_extbase_configuration_abstractconfigurationmanager' => $extensionClassesPath . 'Configuration/AbstractConfigurationManager.php',