assertEquals(array(), $out); } public function test_oneArray() { $out = helper::getData('page', array('tag' => 'value')); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => 'value', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } public function test_nestedArrays() { $out = helper::getData('page', array('tag' => array('nested_tag' =>'value'))); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => array ( array ( '#name' => 'nested_tag', '#value' => 'value', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } public function test_twoNestedArrays() { $out = helper::getData('page', array('tag' => array(array('nested_tag' =>'value1'), array('nested_tag' =>'value2')))); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => array ( 0 => array ( '#name' => 'nested_tag', '#value' => 'value1', '#attrs' => array(), '#type' => '' ), 1 => array ( '#name' => 'nested_tag', '#value' => 'value2', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } public function test_twoNestedArraysWithNested() { $out = helper::getData('page', array('tag' => array(array('nested_tag' => array('nested' => 'value1')), array('nested_tag' =>'value2')))); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => array ( 0 => array ( '#name' => 'nested_tag', '#value' => array ( 0 => array ( '#name' => 'nested', '#value' => 'value1', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ), 1 => array ( '#name' => 'nested_tag', '#value' => 'value2', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); /*echo '++'; var_dump($mustBe); echo '++';*/ $this->assertEquals($mustBe, $out); return $out; } public function test_oneComplexArray() { $out = helper::getData('page', array('#name' => 'tag', '#value' => 'value')); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => 'value', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } public function test_nestedComplexArrays() { $out = helper::getData('page', array('#name' => 'tag', '#value' => array('#name' => 'nested_tag', '#value' => 'value'))); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => array ( array ( '#name' => 'nested_tag', '#value' => 'value', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } public function test_twoComplexNestedArrays() { $out = helper::getData('page', array('#name' => 'tag', '#value' => array(array('#name' => 'nested_tag', '#value' => 'value1'), array('#name' => 'nested_tag', '#value' => 'value2')))); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => array ( 0 => array ( '#name' => 'nested_tag', '#value' => 'value1', '#attrs' => array(), '#type' => '' ), 1 => array ( '#name' => 'nested_tag', '#value' => 'value2', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } public function test_nestedMixedArrays() { $out = helper::getData('page', array('tag' => array('#name' => 'nested_tag', '#value' => 'value'))); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => array ( array ( '#name' => 'nested_tag', '#value' => 'value', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } public function test_twoMixedNestedArrays() { $out = helper::getData('page', array('#name' => 'tag', '#value' => array(array('nested_tag' => 'value1'), array('#name' => 'nested_tag', '#value' => 'value2')))); $mustBe = array ( array ( '#name' => 'page', '#value' => array ( array ( '#name' => 'tag', '#value' => array ( 0 => array ( '#name' => 'nested_tag', '#value' => 'value1', '#attrs' => array(), '#type' => '' ), 1 => array ( '#name' => 'nested_tag', '#value' => 'value2', '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ), '#attrs' => array(), '#type' => '' ) ); $this->assertEquals($mustBe, $out); return $out; } } class helper { public static function getData($name, $value) { $a2x = new array2xml(); $a2x->assign($name, $value); /*echo '--'; var_dump($a2x->getData()); echo '--';*/ return $a2x->getData(); } } ?>