From 836cfc64da116304fd8f8cdbbea2b47b4171d156 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Wed, 9 Apr 2014 18:20:40 +1200 Subject: [PATCH] Refs #472 Add metadata for Custom Events reports (for scheduled reports, piwik mobile) --- plugins/Events/API.php | 49 +++- plugins/Events/Events.php | 64 +++- plugins/Events/lang/en.json | 9 +- .../ApiGetReportMetadata_yearTest.php | 3 - .../PHPUnit/Integration/CustomEventsTest.php | 29 +- ...tion_lastN__API.getProcessedReport_day.xml | 177 ++++++++++- ...gory_lastN__API.getProcessedReport_day.xml | 89 ++++++ ...Name_lastN__API.getProcessedReport_day.xml | 129 ++++++++ ...egoryOrNameMatch__Events.getAction_day.xml | 275 ++++++++++++++++++ ...oryOrNameMatch__Events.getCategory_day.xml | 169 +++++++++++ ...ategoryOrNameMatch__Events.getName_day.xml | 240 +++++++++++++++ ...ntActionPlay__Actions.getPageUrls_day.xml} | 0 ...sEventActionPlay__Events.getAction_day.xml | 197 +++++++++++++ ...ventActionPlay__Events.getCategory_day.xml | 124 ++++++++ ...hesEventActionPlay__Events.getName_day.xml | 164 +++++++++++ tests/PHPUnit/UI | 2 +- 16 files changed, 1682 insertions(+), 38 deletions(-) create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml rename tests/PHPUnit/Integration/expected/{test_CustomEvents_eventSegmentMatchNoAction__Actions.getPageUrls_day.xml => test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml} (100%) create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml create mode 100644 tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml diff --git a/plugins/Events/API.php b/plugins/Events/API.php index 2d8b24919e..241d0bf915 100644 --- a/plugins/Events/API.php +++ b/plugins/Events/API.php @@ -22,6 +22,37 @@ use Piwik\Piwik; */ class API extends \Piwik\Plugin\API { + protected $mappingApiToApiLoadsubtables = array( + 'getCategory' => 'getActionFromCategoryId', + 'getAction' => 'getNameFromActionId', + 'getName' => 'getActionFromNameId', + ); + + protected $mappingApiToRecord = array( + 'getCategory' => Archiver::EVENTS_CATEGORY_ACTION_RECORD_NAME, + 'getAction' => Archiver::EVENTS_ACTION_NAME_RECORD_NAME, + 'getName' => Archiver::EVENTS_NAME_ACTION_RECORD_NAME, + 'getActionFromCategoryId' => Archiver::EVENTS_CATEGORY_ACTION_RECORD_NAME, + 'getNameFromCategoryId' => Archiver::EVENTS_CATEGORY_NAME_RECORD_NAME, + 'getCategoryFromActionId' => Archiver::EVENTS_ACTION_CATEGORY_RECORD_NAME, + 'getNameFromActionId' => Archiver::EVENTS_ACTION_NAME_RECORD_NAME, + 'getActionFromNameId' => Archiver::EVENTS_NAME_ACTION_RECORD_NAME, + 'getCategoryFromNameId' => Archiver::EVENTS_NAME_CATEGORY_RECORD_NAME, + ); + + /** + * @ignore + */ + public function getSubtableAction($api) + { + return $this->mappingApiToApiLoadsubtables[$api]; + } + + protected function getRecordNameForAction($method) + { + return $this->mappingApiToRecord[$method]; + } + protected function getDataTable($name, $idSite, $period, $date, $segment, $expanded = false, $idSubtable = null) { Piwik::checkUserHasViewAccess($idSite); @@ -40,46 +71,46 @@ class API extends \Piwik\Plugin\API public function getCategory($idSite, $period, $date, $segment = false, $expanded = false) { - return $this->getDataTable(Archiver::EVENTS_CATEGORY_ACTION_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded); } public function getAction($idSite, $period, $date, $segment = false, $expanded = false) { - return $this->getDataTable(Archiver::EVENTS_ACTION_NAME_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded); } public function getName($idSite, $period, $date, $segment = false, $expanded = false) { - return $this->getDataTable(Archiver::EVENTS_NAME_ACTION_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded); } public function getActionFromCategoryId($idSite, $period, $date, $idSubtable, $segment = false) { - return $this->getDataTable(Archiver::EVENTS_CATEGORY_ACTION_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded = false, $idSubtable); } public function getNameFromCategoryId($idSite, $period, $date, $idSubtable, $segment = false) { - return $this->getDataTable(Archiver::EVENTS_CATEGORY_NAME_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded = false, $idSubtable); } public function getCategoryFromActionId($idSite, $period, $date, $idSubtable, $segment = false) { - return $this->getDataTable(Archiver::EVENTS_ACTION_CATEGORY_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded = false, $idSubtable); } public function getNameFromActionId($idSite, $period, $date, $idSubtable, $segment = false) { - return $this->getDataTable(Archiver::EVENTS_ACTION_NAME_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded = false, $idSubtable); } public function getActionFromNameId($idSite, $period, $date, $idSubtable, $segment = false) { - return $this->getDataTable(Archiver::EVENTS_NAME_ACTION_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded = false, $idSubtable); } public function getCategoryFromNameId($idSite, $period, $date, $idSubtable, $segment = false) { - return $this->getDataTable(Archiver::EVENTS_NAME_CATEGORY_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + return $this->getDataTable($this->getRecordNameForAction(__FUNCTION__), $idSite, $period, $date, $segment, $expanded = false, $idSubtable); } } \ No newline at end of file diff --git a/plugins/Events/Events.php b/plugins/Events/Events.php index dde5adf5ee..66b3dd6d56 100644 --- a/plugins/Events/Events.php +++ b/plugins/Events/Events.php @@ -21,19 +21,34 @@ class Events extends \Piwik\Plugin { return array( 'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata', - 'Metrics.getDefaultMetricTranslations' => 'getDefaultMetricTranslations', + 'Metrics.getDefaultMetricTranslations' => 'addMetricTranslations', + 'API.getReportMetadata' => 'getReportMetadata', ); } - public function getDefaultMetricTranslations(&$translations) + public function addMetricTranslations(&$translations) { - $eventTranslations = array( - 'nb_events' => 'Events_TotalEvents', - 'sum_event_value' => 'Events_TotalValue', - 'min_event_value' => 'Events_MinValue', - 'max_event_value' => 'Events_MaxValue', + $translations = array_merge($translations, $this->getMetricTranslations()); + } + + public function getMetricDocumentation() + { + return array( + 'nb_events' => 'Events_TotalEventsDocumentation', + 'sum_event_value' => 'Events_TotalValueDocumentation', + 'min_event_value' => 'Events_MinValueDocumentation', + 'max_event_value' => 'Events_MaxValueDocumentation', + ); + } + + protected function getMetricTranslations() + { + return array( + 'nb_events' => 'Events_TotalEvents', + 'sum_event_value' => 'Events_TotalValue', + 'min_event_value' => 'Events_MinValue', + 'max_event_value' => 'Events_MaxValue', ); - $translations = array_merge($translations, $eventTranslations); } public function getSegmentsMetadata(&$segments) @@ -92,4 +107,37 @@ class Events extends \Piwik\Plugin // 'bind' => $valueToMatch // ); // } + + public function getReportMetadata(&$reports) + { + $metrics = $this->getMetricTranslations(); + $documentation = $this->getMetricDocumentation(); + + // Translate + $callback = array('\\Piwik\\Piwik', 'translate'); + $metrics = array_map($callback, $metrics); + $documentation = array_map($callback, $documentation); + + $reportsMetadata = array( + array('Events_EventCategories', 'Events_EventCategory', 'getCategory'), + array('Events_EventActions', 'Events_EventAction', 'getAction'), + array('Events_EventNames', 'Events_EventName', 'getName'), + ); + + foreach($reportsMetadata as $order => $reportMeta) { + $reports[] = array( + 'category' => Piwik::translate('Events_Events'), + 'name' => Piwik::translate($reportMeta[0]), + 'module' => 'Events', + 'action' => $reportMeta[2], + 'dimension' => Piwik::translate($reportMeta[1]), + 'metrics' => $metrics, + 'metricsDocumentation' => $documentation, + 'processedMetrics' => false, + 'actionToLoadSubTables' => API::getInstance()->getSubtableAction($reportMeta[2]), + 'order' => $order + ); + + } + } } diff --git a/plugins/Events/lang/en.json b/plugins/Events/lang/en.json index 262fed0e91..62b63ceb27 100644 --- a/plugins/Events/lang/en.json +++ b/plugins/Events/lang/en.json @@ -3,13 +3,20 @@ "Events": "Events", "Event": "Event", "EventCategory": "Event Category", + "EventCategories": "Event Categories", "EventAction": "Event Action", + "EventActions": "Event Actions", "EventName": "Event Name", + "EventNames": "Event Names", "EventValue": "Event Value", - "TotalValue": "Total value", "TotalEvents": "Total events", + "TotalValue": "Total value", "MinValue": "Minimum value", "MaxValue": "Maximum value", + "TotalEventsDocumentation": "Total number of events", + "TotalValueDocumentation": "Total value of events (sum of event values)", + "MinValueDocumentation": "Minimum value for this event", + "MaxValueDocumentation": "Maximum value for this event", "NameNotSet": "(event name not set)" } } \ No newline at end of file diff --git a/tests/PHPUnit/Integration/ApiGetReportMetadata_yearTest.php b/tests/PHPUnit/Integration/ApiGetReportMetadata_yearTest.php index 61c14c5495..1a3ec47620 100755 --- a/tests/PHPUnit/Integration/ApiGetReportMetadata_yearTest.php +++ b/tests/PHPUnit/Integration/ApiGetReportMetadata_yearTest.php @@ -22,9 +22,6 @@ class Test_Piwik_Integration_ApiGetReportMetadata_Year extends IntegrationTestCa 'language' => 'fr'); return array( array('API.getProcessedReport', $params), - // Removed as time consuming to fix after french translations were changed... - //array('API.getReportMetadata', $params), - //array('LanguagesManager.getTranslationsForLanguage', $params), array('LanguagesManager.getAvailableLanguageNames', $params), array('SitesManager.getJavascriptTag', $params) ); diff --git a/tests/PHPUnit/Integration/CustomEventsTest.php b/tests/PHPUnit/Integration/CustomEventsTest.php index ab9c07a66c..7cd9583753 100644 --- a/tests/PHPUnit/Integration/CustomEventsTest.php +++ b/tests/PHPUnit/Integration/CustomEventsTest.php @@ -25,7 +25,9 @@ class Test_Piwik_Integration_CustomEvents extends IntegrationTestCase protected function getApiToCall() { return array( - 'Events', + 'Events.getCategory', + 'Events.getAction', + 'Events.getName', 'Actions.get', 'Live.getLastVisitsDetails', 'Actions.getPageUrls', @@ -42,20 +44,21 @@ class Test_Piwik_Integration_CustomEvents extends IntegrationTestCase $dateTime = self::$fixture->dateTime; $idSite1 = self::$fixture->idSite; - $apiToCall = $this->getApiToCall(); + $apiToCallProcessedReportMetadata = $this->getApiToCall(); $dayPeriod = 'day'; $periods = array($dayPeriod, 'month'); + $apiEventAndAction = array('Events', 'Actions.getPageUrls'); $result = array( - array($apiToCall, array( + array($apiToCallProcessedReportMetadata, array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $periods, 'setDateLastN' => false, 'testSuffix' => '')), - array('Actions.getPageUrls', array( + array($apiEventAndAction, array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, @@ -63,8 +66,7 @@ class Test_Piwik_Integration_CustomEvents extends IntegrationTestCase 'setDateLastN' => false, 'testSuffix' => '') ), - // FIXMEA: Add Events.get* here - array('Actions.getPageUrls', array( + array($apiEventAndAction, array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, @@ -74,13 +76,13 @@ class Test_Piwik_Integration_CustomEvents extends IntegrationTestCase ), // eventAction should not match any page view - array('Actions.getPageUrls', array( + array($apiEventAndAction, array( 'idSite' => $idSite1, 'date' => $dateTime, 'periods' => $dayPeriod, 'segment' => "eventAction=@play", 'setDateLastN' => false, - 'testSuffix' => '_eventSegmentMatchNoAction') + 'testSuffix' => '_segmentMatchesEventActionPlay') ), // eventValue should not match any page view @@ -94,10 +96,13 @@ class Test_Piwik_Integration_CustomEvents extends IntegrationTestCase // ), ); - // testing metadata API for one metadata report - $apiToCall = array ( end($apiToCall) ); - - foreach ($apiToCall as $api) { + $apiToCallProcessedReportMetadata = array( + 'Events.getCategory', + 'Events.getAction', + 'Events.getName', + ); + // testing metadata API for Events reports + foreach ($apiToCallProcessedReportMetadata as $api) { list($apiModule, $apiAction) = explode(".", $api); $result[] = array( diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml index 25b3270c07..a48d203260 100644 --- a/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getAction_lastN__API.getProcessedReport_day.xml @@ -1,7 +1,176 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <error message="Requested report Events.getAction for Website id=1 not found in the list of available reports. - - - --> To temporarily debug this error further, set const PIWIK_PRINT_ERROR_BACKTRACE=true; in index.php" /> + <website>Piwik test</website> + <prettyDate>3 Jan 10 - 9 Jan 10</prettyDate> + <metadata> + <category>Events</category> + <name>Event Actions</name> + <module>Events</module> + <action>getAction</action> + <dimension>Event Action</dimension> + <metrics> + <nb_events>Total events</nb_events> + <sum_event_value>Total value</sum_event_value> + <min_event_value>Minimum value</min_event_value> + <max_event_value>Maximum value</max_event_value> + </metrics> + <metricsDocumentation> + <nb_events>Total number of events</nb_events> + <sum_event_value>Total value of events (sum of event values)</sum_event_value> + <min_event_value>Minimum value for this event</min_event_value> + <max_event_value>Maximum value for this event</max_event_value> + </metricsDocumentation> + <actionToLoadSubTables>getNameFromActionId</actionToLoadSubTables> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getAction&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> + <uniqueId>Events_getAction</uniqueId> + </metadata> + <columns> + <label>Event Action</label> + <nb_events>Total events</nb_events> + <sum_event_value>Total value</sum_event_value> + <min_event_value>Minimum value</min_event_value> + <max_event_value>Maximum value</max_event_value> + </columns> + <reportData> + <result prettyDate="Sunday 3 January 2010"> + <row> + <label>playTrailer</label> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Search</label> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>rating</label> + <nb_events>6</nb_events> + <sum_event_value>57.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + </row> + <row> + <label>clickBuyNow</label> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---> SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED <---</label> + <nb_events>2</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + <row> + <label>play</label> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playStart</label> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Purchase</label> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </result> + <result prettyDate="Monday 4 January 2010" /> + <result prettyDate="Tuesday 5 January 2010" /> + <result prettyDate="Wednesday 6 January 2010" /> + <result prettyDate="Thursday 7 January 2010" /> + <result prettyDate="Friday 8 January 2010" /> + <result prettyDate="Saturday 9 January 2010" /> + </reportData> + <reportMetadata> + <result prettyDate="Sunday 3 January 2010"> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + </result> + <result prettyDate="Monday 4 January 2010" /> + <result prettyDate="Tuesday 5 January 2010" /> + <result prettyDate="Wednesday 6 January 2010" /> + <result prettyDate="Thursday 7 January 2010" /> + <result prettyDate="Friday 8 January 2010" /> + <result prettyDate="Saturday 9 January 2010" /> + </reportMetadata> + <reportTotal> + <nb_visits>42</nb_visits> + <nb_uniq_visitors>40</nb_uniq_visitors> + </reportTotal> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml new file mode 100644 index 0000000000..65d282a171 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getCategory_lastN__API.getProcessedReport_day.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <website>Piwik test</website> + <prettyDate>3 Jan 10 - 9 Jan 10</prettyDate> + <metadata> + <category>Events</category> + <name>Event Categories</name> + <module>Events</module> + <action>getCategory</action> + <dimension>Event Category</dimension> + <metrics> + <nb_events>Total events</nb_events> + <sum_event_value>Total value</sum_event_value> + <min_event_value>Minimum value</min_event_value> + <max_event_value>Maximum value</max_event_value> + </metrics> + <metricsDocumentation> + <nb_events>Total number of events</nb_events> + <sum_event_value>Total value of events (sum of event values)</sum_event_value> + <min_event_value>Minimum value for this event</min_event_value> + <max_event_value>Maximum value for this event</max_event_value> + </metricsDocumentation> + <actionToLoadSubTables>getActionFromCategoryId</actionToLoadSubTables> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getCategory&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> + <uniqueId>Events_getCategory</uniqueId> + </metadata> + <columns> + <label>Event Category</label> + <nb_events>Total events</nb_events> + <sum_event_value>Total value</sum_event_value> + <min_event_value>Minimum value</min_event_value> + <max_event_value>Maximum value</max_event_value> + </columns> + <reportData> + <result prettyDate="Sunday 3 January 2010"> + <row> + <label>Movie</label> + <nb_events>28</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + <row> + <label>Music</label> + <nb_events>14</nb_events> + <sum_event_value>38</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + </row> + <row> + <label>event category Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---> SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED <---</label> + <nb_events>2</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + </result> + <result prettyDate="Monday 4 January 2010" /> + <result prettyDate="Tuesday 5 January 2010" /> + <result prettyDate="Wednesday 6 January 2010" /> + <result prettyDate="Thursday 7 January 2010" /> + <result prettyDate="Friday 8 January 2010" /> + <result prettyDate="Saturday 9 January 2010" /> + </reportData> + <reportMetadata> + <result prettyDate="Sunday 3 January 2010"> + <row> + + </row> + <row> + + </row> + <row> + + </row> + </result> + <result prettyDate="Monday 4 January 2010" /> + <result prettyDate="Tuesday 5 January 2010" /> + <result prettyDate="Wednesday 6 January 2010" /> + <result prettyDate="Thursday 7 January 2010" /> + <result prettyDate="Friday 8 January 2010" /> + <result prettyDate="Saturday 9 January 2010" /> + </reportMetadata> + <reportTotal> + <nb_visits>42</nb_visits> + <nb_uniq_visitors>40</nb_uniq_visitors> + </reportTotal> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml new file mode 100644 index 0000000000..ca3272c4d4 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_Events.getName_lastN__API.getProcessedReport_day.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <website>Piwik test</website> + <prettyDate>3 Jan 10 - 9 Jan 10</prettyDate> + <metadata> + <category>Events</category> + <name>Event Names</name> + <module>Events</module> + <action>getName</action> + <dimension>Event Name</dimension> + <metrics> + <nb_events>Total events</nb_events> + <sum_event_value>Total value</sum_event_value> + <min_event_value>Minimum value</min_event_value> + <max_event_value>Maximum value</max_event_value> + </metrics> + <metricsDocumentation> + <nb_events>Total number of events</nb_events> + <sum_event_value>Total value of events (sum of event values)</sum_event_value> + <min_event_value>Minimum value for this event</min_event_value> + <max_event_value>Maximum value for this event</max_event_value> + </metricsDocumentation> + <actionToLoadSubTables>getActionFromNameId</actionToLoadSubTables> + <imageGraphUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=range&date=2010-01-03,2010-01-09</imageGraphUrl> + <imageGraphEvolutionUrl>index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=Events&apiAction=getName&period=day&date=2010-01-03,2010-01-09</imageGraphEvolutionUrl> + <uniqueId>Events_getName</uniqueId> + </metadata> + <columns> + <label>Event Name</label> + <nb_events>Total events</nb_events> + <sum_event_value>Total value</sum_event_value> + <min_event_value>Minimum value</min_event_value> + <max_event_value>Maximum value</max_event_value> + </columns> + <reportData> + <result prettyDate="Sunday 3 January 2010"> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_events>16</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_events>14</nb_events> + <sum_event_value>38</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + </row> + <row> + <label>(event name not set)</label> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>event name Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---> SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED <---</label> + <nb_events>2</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + <row> + <label>Ponyo (å´–ã®ä¸Šã®ãƒãƒ‹ãƒ§)</label> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Princess Mononoke (ã‚‚ã®ã®ã‘姫)</label> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Search query here</label> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </result> + <result prettyDate="Monday 4 January 2010" /> + <result prettyDate="Tuesday 5 January 2010" /> + <result prettyDate="Wednesday 6 January 2010" /> + <result prettyDate="Thursday 7 January 2010" /> + <result prettyDate="Friday 8 January 2010" /> + <result prettyDate="Saturday 9 January 2010" /> + </reportData> + <reportMetadata> + <result prettyDate="Sunday 3 January 2010"> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + <row> + + </row> + </result> + <result prettyDate="Monday 4 January 2010" /> + <result prettyDate="Tuesday 5 January 2010" /> + <result prettyDate="Wednesday 6 January 2010" /> + <result prettyDate="Thursday 7 January 2010" /> + <result prettyDate="Friday 8 January 2010" /> + <result prettyDate="Saturday 9 January 2010" /> + </reportMetadata> + <reportTotal> + <nb_visits>42</nb_visits> + <nb_uniq_visitors>40</nb_uniq_visitors> + </reportTotal> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml new file mode 100644 index 0000000000..35e643b9c5 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml @@ -0,0 +1,275 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>6</nb_uniq_visitors> + <nb_visits>6</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Ponyo (å´–ã®ä¸Šã®ãƒãƒ‹ãƒ§)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Princess Mononoke (ã‚‚ã®ã®ã‘姫)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Search</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>6</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Search query here</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>rating</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>57.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>38</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + </subtable> + </row> + <row> + <label>clickBuyNow</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>playStart</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Purchase</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml new file mode 100644 index 0000000000..af586f29b8 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <row> + <label>Movie</label> + <nb_uniq_visitors>26</nb_uniq_visitors> + <nb_visits>28</nb_visits> + <nb_events>28</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + <subtable> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>6</nb_uniq_visitors> + <nb_visits>6</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Search</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>6</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>clickBuyNow</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playStart</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Purchase</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>rating</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Music</label> + <nb_uniq_visitors>12</nb_uniq_visitors> + <nb_visits>12</nb_visits> + <nb_events>14</nb_events> + <sum_event_value>38</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + <subtable> + <row> + <label>play</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>rating</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>38</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + </row> + </subtable> + </row> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml new file mode 100644 index 0000000000..cf25a9e575 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>16</nb_uniq_visitors> + <nb_visits>16</nb_visits> + <nb_events>16</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + <subtable> + <row> + <label>clickBuyNow</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playStart</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>rating</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>19.32</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>9.66</max_event_value> + </row> + </subtable> + </row> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>12</nb_uniq_visitors> + <nb_visits>12</nb_visits> + <nb_events>14</nb_events> + <sum_event_value>38</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + <subtable> + <row> + <label>play</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>rating</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>38</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>10</max_event_value> + </row> + </subtable> + </row> + <row> + <label>(event name not set)</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>6</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Search</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Purchase</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Ponyo (å´–ã®ä¸Šã®ãƒãƒ‹ãƒ§)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Princess Mononoke (ã‚‚ã®ã®ã‘姫)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Search query here</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Search</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_eventSegmentMatchNoAction__Actions.getPageUrls_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml similarity index 100% rename from tests/PHPUnit/Integration/expected/test_CustomEvents_eventSegmentMatchNoAction__Actions.getPageUrls_day.xml rename to tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml new file mode 100644 index 0000000000..6bb325b1a4 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>6</nb_uniq_visitors> + <nb_visits>6</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Ponyo (å´–ã®ä¸Šã®ãƒãƒ‹ãƒ§)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Princess Mononoke (ã‚‚ã®ã®ã‘姫)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>4</nb_uniq_visitors> + <nb_visits>4</nb_visits> + <nb_events>4</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>play</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>playStart</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml new file mode 100644 index 0000000000..02585c99f3 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <row> + <label>Movie</label> + <nb_uniq_visitors>16</nb_uniq_visitors> + <nb_visits>16</nb_visits> + <nb_events>16</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>6</nb_uniq_visitors> + <nb_visits>6</nb_visits> + <nb_events>6</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playStart</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Music</label> + <nb_uniq_visitors>10</nb_uniq_visitors> + <nb_visits>10</nb_visits> + <nb_events>10</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>play</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml new file mode 100644 index 0000000000..f4ff4498f0 --- /dev/null +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="utf-8" ?> +<result> + <row> + <label>Spirited Away (åƒã¨åƒå°‹ã®ç¥žéš ã—)</label> + <nb_uniq_visitors>12</nb_uniq_visitors> + <nb_visits>12</nb_visits> + <nb_events>12</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playStart</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>La fiancée de l&#039;eau</label> + <nb_uniq_visitors>10</nb_uniq_visitors> + <nb_visits>10</nb_visits> + <nb_events>10</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>play</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play25%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play50%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>play75%</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + <row> + <label>playEnd</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Ponyo (å´–ã®ä¸Šã®ãƒãƒ‹ãƒ§)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> + <row> + <label>Princess Mononoke (ã‚‚ã®ã®ã‘姫)</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + <subtable> + <row> + <label>playTrailer</label> + <nb_uniq_visitors>2</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_events>2</nb_events> + <sum_event_value>0</sum_event_value> + <min_event_value>0</min_event_value> + <max_event_value>0</max_event_value> + </row> + </subtable> + </row> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI index a9e6950442..36945e4779 160000 --- a/tests/PHPUnit/UI +++ b/tests/PHPUnit/UI @@ -1 +1 @@ -Subproject commit a9e6950442ead5676bd0e72b4fb85edec0faff3b +Subproject commit 36945e47797cf32b6a6135be1496399bccfaa84a -- GitLab