diff options
Diffstat (limited to 'plugins/API/tests/Unit/HtmlRendererTest.php')
-rw-r--r-- | plugins/API/tests/Unit/HtmlRendererTest.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/plugins/API/tests/Unit/HtmlRendererTest.php b/plugins/API/tests/Unit/HtmlRendererTest.php index 22b492e10d..d1370432ff 100644 --- a/plugins/API/tests/Unit/HtmlRendererTest.php +++ b/plugins/API/tests/Unit/HtmlRendererTest.php @@ -9,7 +9,9 @@ namespace Piwik\Plugins\API\tests\Unit; use Piwik\DataTable; +use Piwik\Date; use Piwik\Plugins\API\Renderer\Html; +use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite; /** * @group Plugin @@ -258,6 +260,52 @@ message', $response); ', $response); } + public function test_renderDataTable_shouldRenderDataTableWithComplexMetadata() + { + $dataTable = new DataTable\Simple(); + $row = new DataTable\Row(); + $row->setColumn('nb_visits', 3); + $row->setColumn('nb_random', 6); + $row->setMetadata('processedRows', [ + new AverageTimeOnSite(), + new \stdClass(), + Date::factory('2016-01-01 00:00:00') + ]); + $dataTable->addRow($row); + + $response = $this->builder->renderDataTable($dataTable); + + $this->assertEquals('<table id="MultiSites_getAll" border="1"> +<thead> + <tr> + <th>nb_visits</th> + <th>nb_random</th> + <th>_metadata</th> + </tr> +</thead> +<tbody> + <tr> + <td>3</td> + <td>6</td> + <td>\'processedRows\' => array ( + 0 => + Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite::__set_state(array( + )), + 1 => + stdClass::__set_state(array( + )), + 2 => + Piwik\Date::__set_state(array( + \'timestamp\' => 1451606400, + \'timezone\' => \'UTC\', + )), +)</td> + </tr> +</tbody> +</table> +', $response); + } + public function test_renderArray_ShouldConvertSimpleArrayToJson() { $input = array(1, 2, 5, 'string', 10); |