Skip to content
Extraits de code Groupes Projets
Valider f6a038b7 rédigé par Thomas Steur's avatar Thomas Steur
Parcourir les fichiers

Merge pull request #9778 from piwik/fixmetadataformergedsubtables

Reuse datatable's metadata when merging subtables
parents 63a41072 2a9a998f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -1714,6 +1714,7 @@ class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess ...@@ -1714,6 +1714,7 @@ class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess
public function mergeSubtables($labelColumn = false, $useMetadataColumn = false) public function mergeSubtables($labelColumn = false, $useMetadataColumn = false)
{ {
$result = new DataTable(); $result = new DataTable();
$result->setAllTableMetadata($this->getAllTableMetadata());
foreach ($this->getRowsWithoutSummaryRow() as $row) { foreach ($this->getRowsWithoutSummaryRow() as $row) {
$subtable = $row->getSubtable(); $subtable = $row->getSubtable();
if ($subtable !== false) { if ($subtable !== false) {
......
...@@ -898,6 +898,14 @@ class DataTableTest extends \PHPUnit_Framework_TestCase ...@@ -898,6 +898,14 @@ class DataTableTest extends \PHPUnit_Framework_TestCase
$this->assertNull($unserialized[0][3], "found the id sub table in the serialized, not expected"); $this->assertNull($unserialized[0][3], "found the id sub table in the serialized, not expected");
} }
public function testMergeSubtablesKeepsMetadata()
{
$dataTable = $this->_getDataTable1ForTest();
$dataTable->setMetadata('additionalMetadata', 'test');
$dataTable = $dataTable->mergeSubtables();
$this->assertEquals('test', $dataTable->getMetadata('additionalMetadata'));
}
private function createDataTable($rows) private function createDataTable($rows)
{ {
$useless1 = new DataTable; $useless1 = new DataTable;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter