/** * Test hydration of each tag type * * @dataProvider provideTagNames * * @param string $tagName */ public function testHydration($tagName) { $ivr = new Ivr(); $dialplan = $ivr->getDialplan(); $tag = $dialplan->{$tagName}(); $hydrator = $tag->getHydrator(); $fields = $hydrator->extract($tag); foreach ($fields as &$value) { $value = ' '; } $hydrator->hydrate($fields, $tag); $idempotentFields = $hydrator->extract($tag); $this->assertEquals($fields, $idempotentFields); }
/** * Test loading an existing IVR * * @dataProvider provideIvrFixtures * * @param string filename */ public function testLoad($filename) { $this->markTestIncomplete('IVR loading not implemented properly'); $ivr = new Ivr(); $ivr->load($filename); $result = $ivr->saveXML(); $this->assertXmlStringEqualsXmlFile($filename, $result); $tagList = $ivr->getTagList(); $xpath = new DOMXPath($ivr); foreach ($xpath->query('//*') as $tag) { if ($tagName = array_search($tag->nodeName, $tagList)) { $this->assertInstanceOf(Ivr\Dialplan::ns() . '\\' . $tagName, $tag); } } }