deleteAll(); } /** * DATA TESTS * ----------------------- * for each renderer we test the case * - datatableSimple * - normal datatable with 2 row (including columns and metadata) */ protected function _getDataTableTest() { $dataTable = new DataTable(); $arraySubTableForRow2 = array( array(Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), array(Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), ); $subDataTableForRow2 = new DataTable(); $subDataTableForRow2->addRowsFromArray($arraySubTableForRow2); $array = array( array(Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, ) ); $dataTable->addRowsFromArray($array); return $dataTable; } protected function _getDataTableSimpleTest() { $array = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0, 'nb_visits' => 66.0, 'nb_actions' => 151.0, 'sum_visit_length' => 5118.0, 'bounce_count' => 44.0,); $table = new Simple; $table->addRowsFromArray($array); return $table; } protected function _getDataTableSimpleOneRowTest() { $array = array('nb_visits' => 14.0); $table = new Simple; $table->addRowsFromArray($array); return $table; } protected function _getDataTableEmpty() { $table = new DataTable; return $table; } protected function _getDataTableSimpleOneZeroRowTest() { $array = array('nb_visits' => 0); $table = new Simple; $table->addRowsFromArray($array); return $table; } protected function _getDataTableSimpleOneFalseRowTest() { $array = array('is_excluded' => false); $table = new Simple; $table->addRowsFromArray($array); return $table; } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLTest1() { $dataTable = $this->_getDataTableTest(); $render = new Xml(); $render->setTable($dataTable); $render->setRenderSubTables(true); $expected = ' 0 5.5 10 11 11 17 5 517 9 http://www.google.com/display"and,properly ./plugins/Referers/images/searchEngines/www.google.com.png 15 1 151 147 50 517 90 http://www.yahoo.com ./plugins/Referers/images/searchEngines/www.yahoo.com.png 2 1 0 2 1 '; $rendered = $render->render(); $this->assertEquals($expected, $rendered); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLTest2() { $dataTable = $this->_getDataTableSimpleTest(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 14 57 66 151 5118 44 '; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLTest3() { $dataTable = $this->_getDataTableSimpleOneRowTest(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 14'; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLTest4() { $dataTable = $this->_getDataTableEmpty(); $render = new Xml(); $render->setTable($dataTable); $expected = ' '; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLTest5() { $dataTable = $this->_getDataTableSimpleOneZeroRowTest(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 0'; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLTest6() { $dataTable = $this->_getDataTableSimpleOneFalseRowTest(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 0'; $this->assertEquals($expected, $render->render()); } /** * DATA OF DATATABLE_ARRAY * ------------------------- */ protected function _getDataTableArrayTest() { $array1 = array( array(Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), ) ); $table1 = new DataTable(); $table1->addRowsFromArray($array1); $array2 = array( array(Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), ), array(Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), ) ); $table2 = new DataTable(); $table2->addRowsFromArray($array2); $table3 = new DataTable(); $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'date1'); $table->addTable($table2, 'date2'); $table->addTable($table3, 'date3'); return $table; } protected function _getDataTableSimpleArrayTest() { $array1 = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0,); $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('max_actions' => 140.0, 'nb_uniq_visitors' => 570.0,); $table2 = new Simple; $table2->addRowsFromArray($array2); $table3 = new Simple; $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); $table->addTable($table3, 'row3'); return $table; } protected function _getDataTableSimpleOneRowArrayTest() { $array1 = array('nb_visits' => 14.0); $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('nb_visits' => 15.0); $table2 = new Simple; $table2->addRowsFromArray($array2); $table3 = new Simple; $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); $table->addTable($table3, 'row3'); return $table; } protected function _getDataTableArray_containsDataTableArray_normal() { $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableArrayTest(), 'idSite'); return $table; } protected function _getDataTableArray_containsDataTableArray_simple() { $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleArrayTest(), 'idSite'); return $table; } protected function _getDataTableArray_containsDataTableArray_simpleOneRow() { $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleOneRowArrayTest(), 'idSite'); return $table; } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLArrayTest1() { $dataTable = $this->_getDataTableArrayTest(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 11 11 http://www.google.com ./plugins/Referers/images/searchEngines/www.google.com.png 15 151 http://www.yahoo.com ./plugins/Referers/images/searchEngines/www.yahoo.com.png 110 110 http://www.google.com1 ./plugins/Referers/images/searchEngines/www.google.com.png1 150 1510 http://www.yahoo.com1 ./plugins/Referers/images/searchEngines/www.yahoo.com.png1 '; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLArrayIsMadeOfArrayTest1() { $dataTable = $this->_getDataTableArray_containsDataTableArray_normal(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 11 11 http://www.google.com ./plugins/Referers/images/searchEngines/www.google.com.png 15 151 http://www.yahoo.com ./plugins/Referers/images/searchEngines/www.yahoo.com.png 110 110 http://www.google.com1 ./plugins/Referers/images/searchEngines/www.google.com.png1 150 1510 http://www.yahoo.com1 ./plugins/Referers/images/searchEngines/www.yahoo.com.png1 '; $rendered = $render->render(); $this->assertEquals($expected, $rendered); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLArrayTest2() { $dataTable = $this->_getDataTableSimpleArrayTest(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 14 57 140 570 '; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLArrayIsMadeOfArrayTest2() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simple(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 14 57 140 570 '; $rendered = $render->render(); $this->assertEquals($expected, $rendered); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLArrayTest3() { $dataTable = $this->_getDataTableSimpleOneRowArrayTest(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 14 15 '; $rendered = $render->render(); $this->assertEquals($expected, $rendered); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testXMLArrayIsMadeOfArrayTest3() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simpleOneRow(); $render = new Xml(); $render->setTable($dataTable); $expected = ' 14 15 '; $rendered = $render->render(); $this->assertEquals($expected, $rendered); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testRenderArray1() { $data = array(); $render = new Xml(); $render->setTable($data); $expected = ' '; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testRenderArray2() { $data = array("firstElement", array("firstElement", "secondElement"), "thirdElement"); $render = new Xml(); $render->setTable($data); $expected = ' firstElement firstElement secondElement thirdElement '; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testRenderArray3() { $data = array('a' => 'b', 'c' => 'd', 'e' => 'f', 5 => 'g'); $render = new Xml(); $render->setTable($data); $expected = ' b d f g '; $this->assertEquals($expected, $render->render()); } /** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_XML */ public function testRenderArray4() { $data = array('c' => array(1, 2, 3, 4), 'e' => array('f' => 'g', 'h' => 'i', 'j' => 'k')); $render = new Xml(); $render->setTable($data); $expected = ' 1 2 3 4 g i k '; $this->assertEquals($expected, $render->render()); } }