/** * Checks if the references of the source object is correctly set after validation */ public function testObjectValidator() { $objModule = class_module_system_module::getModuleByName("news"); if ($objModule == null) { return; } $objNews = new class_module_news_news(); $objForm = new class_admin_formgenerator("news", $objNews); $objForm->generateFieldsFromObject(); $objSourceObjectBefore = $objForm->getObjSourceobject(); $arrFieldsBefore = $objForm->getArrFields(); $objForm->validateForm(); $objSourceObjectAfter = $objForm->getObjSourceobject(); $arrFieldsAfter = $objForm->getArrFields(); //Now check if the reference to the source object before validation is the same as after foreach ($objForm->getArrFields() as $intIndex => $objField) { if ($arrFieldsAfter != null) { $this->assertTrue($arrFieldsBefore[$intIndex]->getObjSourceObject() === $arrFieldsAfter[$intIndex]->getObjSourceObject()); if ($arrFieldsBefore[$intIndex]->getObjSourceObject() != null) { $this->assertTrue($arrFieldsBefore[$intIndex]->getObjSourceObject() === $objSourceObjectBefore); $this->assertTrue($arrFieldsBefore[$intIndex]->getObjSourceObject() === $objSourceObjectAfter); } if ($arrFieldsAfter[$intIndex]->getObjSourceObject() != null) { $this->assertTrue($arrFieldsAfter[$intIndex]->getObjSourceObject() === $objSourceObjectBefore); $this->assertTrue($arrFieldsAfter[$intIndex]->getObjSourceObject() === $objSourceObjectAfter); } } } $this->assertTrue($objSourceObjectAfter === $objSourceObjectBefore); }