/** * @expectedException InvalidCoefficientException */ public function testInvalidCoefficientType() { $FGC = new DOMDocument('1.0', 'UTF-8'); $FGC->load(FGCInvalidCoefficientType, LIBXML_NOBLANKS); $FGCXPath = new DOMXPath($FGC); $FGCXPath->registerNamespace('fg', 'http://keg.vse.cz/ns/fieldgroupconfig0_1'); $FGCNode = $FGCXPath->evaluate('//FieldGroupConfig[1]')->item(0); $FG = new FieldGroup($FGCNode, $FGCXPath, 'en', true, $this->attributes, $this->coefficients); $FG->parse(); }
protected function parseFieldGroupConfig($id, $config) { $FGCNode = $this->XPath->evaluate('//FieldGroupConfig[@id="' . $id . '"]')->item(0); if ($FGCNode === null) { throw new InvalidFieldGroupConfigException('Invalid field group config structure.'); } $FG = new FieldGroup($FGCNode, $this->XPath, $this->lang, $this->rootConfigID === $id, $this->attributes, $this->coefficients); $FG->parse(); $config = array_merge_recursive($config, $FG->toArray()); if ($FG->hasChildGroups() === true) { foreach ($FG->getChildGroups() as $chg) { $config = $this->parseFieldGroupConfig($chg, $config); } } return $config; }