Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/API/DataTablePostProcessor.php6
-rw-r--r--core/DataTable/Filter/AddSegmentByLabel.php (renamed from core/DataTable/Filter/AddSegmentFilter.php)10
-rw-r--r--core/DataTable/Filter/AddSegmentByLabelMapping.php (renamed from core/DataTable/Filter/AddSegmentFilterByLabelMapping.php)6
-rw-r--r--core/DataTable/Filter/AddSegmentBySegmentValue.php (renamed from core/DataTable/Filter/AddSegmentFilterBySegmentValue.php)8
-rw-r--r--core/DataTable/Filter/PrependSegment.php34
-rw-r--r--core/DataTable/Filter/PrependSegmentFilter.php34
-rw-r--r--core/Date.php21
-rw-r--r--plugins/DevicesDetection/API.php6
-rw-r--r--plugins/Referrers/API.php10
-rw-r--r--plugins/UserCountry/API.php4
-rw-r--r--plugins/VisitTime/API.php22
-rw-r--r--plugins/VisitTime/DataTable/Filter/AddSegmentByLabelInUTC.php55
-rw-r--r--plugins/VisitTime/tests/Unit/AddSegmentByLabelInUTCTest.php114
-rw-r--r--tests/PHPUnit/System/BackwardsCompatibility1XTest.php2
-rw-r--r--tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterByLabelMappingTest.php6
-rw-r--r--tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterBySegmentValueTest.php40
-rw-r--r--tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterTest.php6
-rw-r--r--tests/PHPUnit/Unit/DataTable/Filter/PrependSegmentFilterTest.php6
-rw-r--r--tests/PHPUnit/Unit/DateTest.php8
19 files changed, 277 insertions, 121 deletions
diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php
index e62387f451..59be19285e 100644
--- a/core/API/DataTablePostProcessor.php
+++ b/core/API/DataTablePostProcessor.php
@@ -100,14 +100,14 @@ class DataTablePostProcessor
$dataTable = $this->applyLabelFilter($dataTable);
$dataTable = $this->applyMetricsFormatting($dataTable);
- $dataTable = $this->convertSegmentValueToSegmentFilter($dataTable);
+ $dataTable = $this->convertSegmentValueToSegment($dataTable);
return $dataTable;
}
- public function convertSegmentValueToSegmentFilter(DataTableInterface $dataTable)
+ public function convertSegmentValueToSegment(DataTableInterface $dataTable)
{
- $dataTable->filter('AddSegmentFilterBySegmentValue', array($this->report));
+ $dataTable->filter('AddSegmentBySegmentValue', array($this->report));
$dataTable->filter('ColumnCallbackDeleteMetadata', array('segmentValue'));
return $dataTable;
diff --git a/core/DataTable/Filter/AddSegmentFilter.php b/core/DataTable/Filter/AddSegmentByLabel.php
index 48093284a9..a841f18c9a 100644
--- a/core/DataTable/Filter/AddSegmentFilter.php
+++ b/core/DataTable/Filter/AddSegmentByLabel.php
@@ -17,12 +17,12 @@ use Piwik\Development;
*
* **Basic usage example**
*
- * $dataTable->filter('AddSegmentFilter', array('segmentName'));
- * $dataTable->filter('AddSegmentFilter', array(array('segmentName1', 'segment2'), ';');
+ * $dataTable->filter('AddSegmentByLabel', array('segmentName'));
+ * $dataTable->filter('AddSegmentByLabel', array(array('segmentName1', 'segment2'), ';');
*
* @api
*/
-class AddSegmentFilter extends BaseFilter
+class AddSegmentByLabel extends BaseFilter
{
private $segments;
private $delimiter;
@@ -48,7 +48,7 @@ class AddSegmentFilter extends BaseFilter
}
/**
- * See {@link AddSegmentFilter}.
+ * See {@link AddSegmentByLabel}.
*
* @param DataTable $table
*/
@@ -58,7 +58,7 @@ class AddSegmentFilter extends BaseFilter
$segments = $this->segments;
if (empty($segments)) {
- $msg = 'AddSegmentFilter is called without having any segments defined';
+ $msg = 'AddSegmentByLabel is called without having any segments defined';
Development::error($msg);
return;
}
diff --git a/core/DataTable/Filter/AddSegmentFilterByLabelMapping.php b/core/DataTable/Filter/AddSegmentByLabelMapping.php
index 8a69376938..95d6e05c79 100644
--- a/core/DataTable/Filter/AddSegmentFilterByLabelMapping.php
+++ b/core/DataTable/Filter/AddSegmentByLabelMapping.php
@@ -18,11 +18,11 @@ use Piwik\DataTable\BaseFilter;
*
* **Basic usage example**
*
- * $dataTable->filter('AddSegmentFilterByLabelMapping', array('segmentName', array('1' => 'smartphone, '2' => 'desktop')));
+ * $dataTable->filter('AddSegmentByLabelMapping', array('segmentName', array('1' => 'smartphone, '2' => 'desktop')));
*
* @api
*/
-class AddSegmentFilterByLabelMapping extends BaseFilter
+class AddSegmentByLabelMapping extends BaseFilter
{
private $segment;
private $mapping;
@@ -41,7 +41,7 @@ class AddSegmentFilterByLabelMapping extends BaseFilter
}
/**
- * See {@link AddSegmentFilterByLabelMapping}.
+ * See {@link AddSegmentByLabelMapping}.
*
* @param DataTable $table
*/
diff --git a/core/DataTable/Filter/AddSegmentFilterBySegmentValue.php b/core/DataTable/Filter/AddSegmentBySegmentValue.php
index fd185efeaa..89c3b6a59b 100644
--- a/core/DataTable/Filter/AddSegmentFilterBySegmentValue.php
+++ b/core/DataTable/Filter/AddSegmentBySegmentValue.php
@@ -12,16 +12,16 @@ use Piwik\DataTable\BaseFilter;
use Piwik\DataTable;
/**
- * Converts for each row of a {@link DataTable} a segmentValue to a segmentFilter. The name of the segment
+ * Converts for each row of a {@link DataTable} a segmentValue to a segment (expression). The name of the segment
* is automatically detected based on the given report.
*
* **Basic usage example**
*
- * $dataTable->filter('AddSegmentFilterBySegmentValue', array($reportInstance));
+ * $dataTable->filter('AddSegmentBySegmentValue', array($reportInstance));
*
* @api
*/
-class AddSegmentFilterBySegmentValue extends BaseFilter
+class AddSegmentBySegmentValue extends BaseFilter
{
/**
* @var \Piwik\Plugin\Report
@@ -39,7 +39,7 @@ class AddSegmentFilterBySegmentValue extends BaseFilter
}
/**
- * See {@link AddSegmentFilterBySegmentValue}.
+ * See {@link AddSegmentBySegmentValue}.
*
* @param DataTable $table
* @return int The number of deleted rows.
diff --git a/core/DataTable/Filter/PrependSegment.php b/core/DataTable/Filter/PrependSegment.php
new file mode 100644
index 0000000000..34d14e6f0a
--- /dev/null
+++ b/core/DataTable/Filter/PrependSegment.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+
+/**
+ * Executes a callback for each row of a {@link DataTable} and prepends each existing segment with the
+ * given segment.
+ *
+ * **Basic usage example**
+ *
+ * $dataTable->filter('PrependSegment', array('segmentName==segmentValue;'));
+ *
+ * @api
+ */
+class PrependSegment extends PrependValueToMetadata
+{
+ /**
+ * @param DataTable $table
+ * @param string $prependSegment The segment to prepend if a segment is already defined. Make sure to include
+ * A condition, eg the segment should end with ';' or ','
+ */
+ public function __construct($table, $prependSegment = '')
+ {
+ parent::__construct($table, 'segment', $prependSegment);
+ }
+}
diff --git a/core/DataTable/Filter/PrependSegmentFilter.php b/core/DataTable/Filter/PrependSegmentFilter.php
deleted file mode 100644
index 41718b661f..0000000000
--- a/core/DataTable/Filter/PrependSegmentFilter.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * Piwik - free/libre analytics platform
- *
- * @link http://piwik.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
- */
-namespace Piwik\DataTable\Filter;
-
-use Piwik\DataTable;
-
-/**
- * Executes a callback for each row of a {@link DataTable} and prepends each existing segmentFilter with the
- * given segment.
- *
- * **Basic usage example**
- *
- * $dataTable->filter('PrependSegmentFilter', array('segmentName==segmentValue;'));
- *
- * @api
- */
-class PrependSegmentFilter extends PrependValueToMetadata
-{
- /**
- * @param DataTable $table
- * @param string $prependSegmentFilter The segment to prepend if a segmentFilter is defined. Make sure to include
- * A condition, eg the segment should end with ';' or ','
- */
- public function __construct($table, $prependSegmentFilter = '')
- {
- parent::__construct($table, 'segment', $prependSegmentFilter);
- }
-}
diff --git a/core/Date.php b/core/Date.php
index 63c6384729..a046f4e27a 100644
--- a/core/Date.php
+++ b/core/Date.php
@@ -154,6 +154,19 @@ class Date
}
/**
+ * Returns the current hour in UTC timezone.
+ * @return string
+ * @throws Exception
+ */
+ public function getHourUTC()
+ {
+ $dateTime = $this->getDatetime();
+ $hourInTz = Date::factory($dateTime, 'UTC')->toString('G');
+
+ return $hourInTz;
+ }
+
+ /**
* Returns the start of the day of the current timestamp in UTC. For example,
* if the current timestamp is `'2007-07-24 14:04:24'` in UTC, the result will
* be `'2007-07-24'`.
@@ -627,14 +640,6 @@ class Date
return $out;
}
- public function getHourInUTC()
- {
- $dateTime = $this->getDatetime();
- $hourInTz = Date::factory($dateTime, 'UTC')->toString('G');
-
- return $hourInTz;
- }
-
/**
* Adds `$n` days to `$this` date and returns the result in a new Date.
* instance.
diff --git a/plugins/DevicesDetection/API.php b/plugins/DevicesDetection/API.php
index f1904c3946..36fcd8fb95 100644
--- a/plugins/DevicesDetection/API.php
+++ b/plugins/DevicesDetection/API.php
@@ -55,7 +55,7 @@ class API extends \Piwik\Plugin\API
$this->ensureDefaultRowsInTable($dataTable);
$mapping = DeviceParserAbstract::getAvailableDeviceTypeNames();
- $dataTable->filter('AddSegmentFilterByLabelMapping', array('deviceType', $mapping));
+ $dataTable->filter('AddSegmentByLabelMapping', array('deviceType', $mapping));
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getDeviceTypeLogo'));
$dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getDeviceTypeLabel'));
return $dataTable;
@@ -198,7 +198,7 @@ class API extends \Piwik\Plugin\API
$dataTable = $this->getDataTable('DevicesDetection_osVersions', $idSite, $period, $date, $segment);
$segments = array('operatingSystemCode', 'operatingSystemVersion');
- $dataTable->filter('AddSegmentFilter', array($segments, Archiver::BROWSER_SEPARATOR));
+ $dataTable->filter('AddSegmentByLabel', array($segments, Archiver::BROWSER_SEPARATOR));
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getOsLogo'));
// use GroupBy filter to avoid duplicate rows if old (UserSettings) and new (DevicesDetection) reports were combined
$dataTable->filter('GroupBy', array('label', __NAMESPACE__ . '\getOsFullName'));
@@ -257,7 +257,7 @@ class API extends \Piwik\Plugin\API
$dataTable = $this->getDataTable('DevicesDetection_browserVersions', $idSite, $period, $date, $segment);
$segments = array('browserCode', 'browserVersion');
- $dataTable->filter('AddSegmentFilter', array($segments, Archiver::BROWSER_SEPARATOR));
+ $dataTable->filter('AddSegmentByLabel', array($segments, Archiver::BROWSER_SEPARATOR));
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getBrowserLogo'));
$dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getBrowserNameWithVersion'));
return $dataTable;
diff --git a/plugins/Referrers/API.php b/plugins/Referrers/API.php
index 992842a294..dbafc293e2 100644
--- a/plugins/Referrers/API.php
+++ b/plugins/Referrers/API.php
@@ -235,8 +235,8 @@ class API extends \Piwik\Plugin\API
{
$dataTable = $this->getDataTable(Archiver::SEARCH_ENGINES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded);
- $dataTable->filter('AddSegmentFilter', array('referrerName'));
- $dataTable->queueFilter('PrependSegmentFilter', array('referrerType==search;'));
+ $dataTable->filter('AddSegmentByLabel', array('referrerName'));
+ $dataTable->queueFilter('PrependSegment', array('referrerType==search;'));
$dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', __NAMESPACE__ . '\getSearchEngineUrlFromName'));
$dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', __NAMESPACE__ . '\getSearchEngineLogoFromUrl'));
return $dataTable;
@@ -277,8 +277,8 @@ class API extends \Piwik\Plugin\API
{
$dataTable = $this->getDataTable(Archiver::CAMPAIGNS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded);
- $dataTable->filter('AddSegmentFilter', array('referrerName'));
- $dataTable->queueFilter('PrependSegmentFilter', array('referrerType==campaign;'));
+ $dataTable->filter('AddSegmentByLabel', array('referrerName'));
+ $dataTable->queueFilter('PrependSegment', array('referrerType==campaign;'));
return $dataTable;
}
@@ -292,7 +292,7 @@ class API extends \Piwik\Plugin\API
public function getWebsites($idSite, $period, $date, $segment = false, $expanded = false)
{
$dataTable = $this->getDataTable(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded);
- $dataTable->filter('AddSegmentFilter', array('referrerName'));
+ $dataTable->filter('AddSegmentByLabel', array('referrerName'));
return $dataTable;
}
diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php
index c9fcfeec78..38408b39e6 100644
--- a/plugins/UserCountry/API.php
+++ b/plugins/UserCountry/API.php
@@ -70,7 +70,7 @@ class API extends \Piwik\Plugin\API
$dataTable = $this->getDataTable(Archiver::REGION_RECORD_NAME, $idSite, $period, $date, $segment);
$segments = array('regionCode', 'countryCode');
- $dataTable->filter('AddSegmentFilter', array($segments, Archiver::LOCATION_SEPARATOR));
+ $dataTable->filter('AddSegmentByLabel', array($segments, Archiver::LOCATION_SEPARATOR));
$separator = Archiver::LOCATION_SEPARATOR;
$unk = Visit::UNKNOWN_CODE;
@@ -115,7 +115,7 @@ class API extends \Piwik\Plugin\API
$dataTable = $this->getDataTable(Archiver::CITY_RECORD_NAME, $idSite, $period, $date, $segment);
$segments = array('city', 'regionCode', 'countryCode');
- $dataTable->filter('AddSegmentFilter', array($segments, Archiver::LOCATION_SEPARATOR));
+ $dataTable->filter('AddSegmentByLabel', array($segments, Archiver::LOCATION_SEPARATOR));
$separator = Archiver::LOCATION_SEPARATOR;
$unk = Visit::UNKNOWN_CODE;
diff --git a/plugins/VisitTime/API.php b/plugins/VisitTime/API.php
index c78534c193..928e8c95f3 100644
--- a/plugins/VisitTime/API.php
+++ b/plugins/VisitTime/API.php
@@ -52,30 +52,12 @@ class API extends \Piwik\Plugin\API
$table = $this->getDataTable(Archiver::SERVER_TIME_RECORD_NAME, $idSite, $period, $date, $segment);
$timezone = Site::getTimezoneFor($idSite);
-
- $range = Range::parseDateRange($date);
-
- if (!empty($range[2])) {
- $endDate = Date::factory($range[2]);
- } else if (!empty($range[1])) {
- $endDate = Date::factory($range[1]);
- } else {
- $endDate = Date::factory($date);
- }
-
- $table->filter('AddSegmentValue', array(function ($label) use ($timezone, $endDate) {
- $hour = str_pad($label, 2, 0, STR_PAD_LEFT);
- $time = $hour . ':00:00';
-
- $dateInTimezone = $endDate->setTime($time)->setTimezone($timezone);
- $hourInTz = $dateInTimezone->getHourInUTC();
-
- return $hourInTz;
- }));
+ $table->filter('Piwik\Plugins\VisitTime\DataTable\Filter\AddSegmentByLabelInUTC', array($timezone, $period, $date));
if ($hideFutureHoursWhenToday) {
$table = $this->removeHoursInFuture($table, $idSite, $period, $date);
}
+
return $table;
}
diff --git a/plugins/VisitTime/DataTable/Filter/AddSegmentByLabelInUTC.php b/plugins/VisitTime/DataTable/Filter/AddSegmentByLabelInUTC.php
new file mode 100644
index 0000000000..0808c8c68c
--- /dev/null
+++ b/plugins/VisitTime/DataTable/Filter/AddSegmentByLabelInUTC.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\VisitTime\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\Period;
+
+/**
+ * Adds a segment value to each row by interpreting the label value as hour in the website's timezone and
+ * converting the hour to UTC.
+ *
+ * **Basic usage example**
+ *
+ * $dataTable->filter('AddSegmentByLabelInUTC', array($idSite = 'UTC+1', $period = 'day', $date = 'today');
+ */
+class AddSegmentByLabelInUTC extends DataTable\Filter\AddSegmentValue
+{
+ private $timezone;
+ private $date;
+
+ /**
+ * @param DataTable $table
+ * @param int $timezone The timezone of the current selected site / the timezone of the labels
+ * @param string $period The requested period and date is needed to respect daylight saving etc.
+ * @param string $date
+ */
+ public function __construct($table, $timezone, $period, $date)
+ {
+ $this->timezone = $timezone;
+ $this->date = Period\Factory::build($period, $date)->getDateEnd();
+
+ $self = $this;
+
+ parent::__construct($table, function ($label) use ($self) {
+ $hour = str_pad($label, 2, 0, STR_PAD_LEFT);
+
+ return $self->convertHourToUtc($hour);
+ });
+ }
+
+ public function convertHourToUTC($hour)
+ {
+ $dateWithHour = $this->date->setTime($hour . ':00:00');
+ $dateInTimezone = $dateWithHour->setTimezone($this->timezone);
+ $hourInUTC = $dateInTimezone->getHourUTC();
+
+ return $hourInUTC;
+ }
+} \ No newline at end of file
diff --git a/plugins/VisitTime/tests/Unit/AddSegmentByLabelInUTCTest.php b/plugins/VisitTime/tests/Unit/AddSegmentByLabelInUTCTest.php
new file mode 100644
index 0000000000..bf0c828321
--- /dev/null
+++ b/plugins/VisitTime/tests/Unit/AddSegmentByLabelInUTCTest.php
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Plugins\VisitTime\tests\Unit;
+
+use Piwik\DataTable\Row;
+use Piwik\DataTable;
+use Piwik\Tests\Framework\TestCase\UnitTestCase;
+
+/**
+ * @group VisitTime
+ * @group AddSegmentByLabelInUTCTest
+ * @group Plugins
+ */
+class AddSegmentByLabelInUTCTest extends UnitTestCase
+{
+ private $filter = 'Piwik\Plugins\VisitTime\DataTable\Filter\AddSegmentByLabelInUTC';
+
+ /**
+ * @var DataTable
+ */
+ private $table;
+
+ public function setUp()
+ {
+ $this->table = new DataTable();
+ $this->addRow(array('label' => '0'));
+ $this->addRow(array('label' => '1'));
+ $this->addRow(array('label' => '2'));
+ $this->addRow(array('label' => '12'));
+ $this->addRow(array('label' => '13'));
+ $this->addRow(array('label' => '14'));
+ $this->addRow(array('label' => '20'));
+ }
+
+ private function addRow($columns)
+ {
+ $this->table->addRow($this->buildRow($columns));
+ }
+
+ private function buildRow($columns)
+ {
+ return new Row(array(Row::COLUMNS => $columns));
+ }
+
+ public function test_filter_shouldNotChangeHoursIfTimezoneIsUTCAlready()
+ {
+ $this->table->filter($this->filter, array('UTC', 'day', 'today'));
+
+ $this->assertSegmentValues(array('0', '1', '2', '12', '13', '14', '20'));
+ }
+
+ public function test_filter_shouldConvertHoursFromTimezoneIntoUTC_Minus1()
+ {
+ $this->table->filter($this->filter, array('UTC-1', 'day', 'today'));
+ $this->assertSegmentValues(array('1', '2', '3', '13', '14', '15', '21'));
+ }
+
+ public function test_filter_shouldConvertHoursFromTimezoneIntoUTC_Plus1()
+ {
+ $this->table->filter($this->filter, array('UTC+1', 'day', 'today'));
+ $this->assertSegmentValuesInUTCplus1();
+ }
+
+ public function test_filter_shouldHandleRangePeriod_Plus1()
+ {
+ $this->table->filter($this->filter, array('UTC+1', 'range', '2015-02-02,2015-02-14'));
+ $this->assertSegmentValuesInUTCplus1();
+ }
+
+ public function test_filter_shouldHandleRangePeriodWithLast7_Plus1()
+ {
+ $this->table->filter($this->filter, array('UTC+1', 'range', 'last7'));
+ $this->assertSegmentValuesInUTCplus1();
+ }
+
+ public function test_filter_shouldHandleDayPeriodWithRange_Plus1()
+ {
+ $this->table->filter($this->filter, array('UTC+1', 'day', '2015-02-02,2015-02-14'));
+ $this->assertSegmentValuesInUTCplus1();
+ }
+
+ public function test_filter_shouldHandleWeekWithLast7_Plus1()
+ {
+ $this->table->filter($this->filter, array('UTC+1', 'day', 'last7'));
+ $this->assertSegmentValuesInUTCplus1();
+ }
+
+ public function test_filter_shouldIgnoreSummaryRow()
+ {
+ $row = $this->buildRow(array('label' => 'other'));
+ $this->table->addSummaryRow($row);
+ $this->table->filter($this->filter, array('UTC', 'day', 'today'));
+
+ $this->assertFalse($row->getMetadata('segmentValue'));
+ }
+
+ private function assertSegmentValuesInUTCplus1()
+ {
+ $this->assertSegmentValues(array('23', '0', '1', '11', '12', '13', '19'));
+ }
+
+ private function assertSegmentValues($expectedSegmentValues)
+ {
+ $segmentValues = $this->table->getRowsMetadata('segmentValue');
+ $this->assertSame($expectedSegmentValues, $segmentValues);
+ }
+
+}
diff --git a/tests/PHPUnit/System/BackwardsCompatibility1XTest.php b/tests/PHPUnit/System/BackwardsCompatibility1XTest.php
index 9c47da6fd5..f22408348d 100644
--- a/tests/PHPUnit/System/BackwardsCompatibility1XTest.php
+++ b/tests/PHPUnit/System/BackwardsCompatibility1XTest.php
@@ -103,7 +103,7 @@ class BackwardsCompatibility1XTest extends SystemTestCase
// the label column is not the first column here
'MultiSites.getAll',
- // those reports generate a different segmentFilter as a different raw value was stored that time
+ // those reports generate a different segment as a different raw value was stored that time
'DevicesDetection.getOsVersions',
'UserSettings.getOS',
'UserSettings.getBrowserType'
diff --git a/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterByLabelMappingTest.php b/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterByLabelMappingTest.php
index 4e5b128aca..fae1dc46b3 100644
--- a/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterByLabelMappingTest.php
+++ b/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterByLabelMappingTest.php
@@ -13,15 +13,15 @@ use Piwik\DataTable\Row;
use Piwik\Tests\Framework\TestCase\UnitTestCase;
/**
- * @group AddSegmentFilterByLabelMappingTest
+ * @group AddSegmentByLabelMappingTest
* @group DataTable
* @group Filter
* @group Unit
* @group Core
*/
-class AddSegmentFilterByLabelMappingTest extends UnitTestCase
+class AddSegmentByLabelMappingTest extends UnitTestCase
{
- private $filter = 'AddSegmentFilterByLabelMapping';
+ private $filter = 'AddSegmentByLabelMapping';
/**
* @var DataTable
diff --git a/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterBySegmentValueTest.php b/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterBySegmentValueTest.php
index eb84c2fce9..2815818070 100644
--- a/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterBySegmentValueTest.php
+++ b/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterBySegmentValueTest.php
@@ -17,15 +17,15 @@ use Piwik\Plugins\VisitsSummary\Reports\Get;
use Piwik\Tests\Framework\TestCase\UnitTestCase;
/**
- * @group AddSegmentFilterBySegmentValueTest
+ * @group AddSegmentBySegmentValueTest
* @group DataTable
* @group Filter
* @group Unit
* @group Core
*/
-class AddSegmentFilterBySegmentValueTest extends UnitTestCase
+class AddSegmentBySegmentValueTest extends UnitTestCase
{
- private $filter = 'AddSegmentFilterBySegmentValue';
+ private $filter = 'AddSegmentBySegmentValue';
/**
* @var DataTable
@@ -56,18 +56,18 @@ class AddSegmentFilterBySegmentValueTest extends UnitTestCase
return $row;
}
- public function test_filter_shouldGenerateASegmentFilterIfSegmentValueIsPresent()
+ public function test_filter_shouldGenerateASegmentIfSegmentValueIsPresent()
{
$segmentValue = 'existing';
- $expectedSegmentFilter = 'city==existing';
- $this->assertSegmentFilterForSegmentValueAndReport($this->report, $segmentValue, $expectedSegmentFilter);
+ $expectedSegment = 'city==existing';
+ $this->assertSegmentForSegmentValueAndReport($this->report, $segmentValue, $expectedSegment);
}
public function test_filter_shouldUrlEncodeTheValue()
{
$segmentValue = 'existing täs/ts';
- $expectedSegmentFilter = 'city==existing+t%C3%A4s%2Fts';
- $this->assertSegmentFilterForSegmentValueAndReport($this->report, $segmentValue, $expectedSegmentFilter);
+ $expectedSegment = 'city==existing+t%C3%A4s%2Fts';
+ $this->assertSegmentForSegmentValueAndReport($this->report, $segmentValue, $expectedSegment);
}
public function test_filter_shouldNotOverwriteAnExistingSegmentValue()
@@ -76,7 +76,7 @@ class AddSegmentFilterBySegmentValueTest extends UnitTestCase
$this->table->filter($this->filter, array($this->report));
- $this->assertSegmentFilter('city==mytest', $row);
+ $this->assertSegment('city==mytest', $row);
}
public function test_filter_shouldUseTheFirstSegment_IfAReportHasMultiple()
@@ -84,29 +84,29 @@ class AddSegmentFilterBySegmentValueTest extends UnitTestCase
$report = new GetCountry();
$this->assertCount(2, $report->getDimension()->getSegments());
- $this->assertSegmentFilterForSegmentValueAndReport($report, $segmentValue = 'existing', 'countryCode==existing');
+ $this->assertSegmentForSegmentValueAndReport($report, $segmentValue = 'existing', 'countryCode==existing');
}
- public function test_filter_shouldNotGenerateASegmentFilter_IfReportHasNoDimension()
+ public function test_filter_shouldNotGenerateASegment_IfReportHasNoDimension()
{
$report = new Get(); // VisitsSummary.get has no dimension
$this->assertNull($report->getDimension());
- $this->assertSegmentFilterForSegmentValueAndReport($report, $segmentValue = 'existing', false);
+ $this->assertSegmentForSegmentValueAndReport($report, $segmentValue = 'existing', false);
}
- public function test_filter_shouldNotGenerateASegmentFilter_IfDimensionHasNoSegmentFilter()
+ public function test_filter_shouldNotGenerateASegment_IfDimensionHasNoSegmentFilter()
{
// outlinks currently has a dimensions but no segments, we have to use another report once it has segments
$report = new GetOutlinks();
$this->assertEmpty($report->getDimension()->getSegments());
- $this->assertSegmentFilterForSegmentValueAndReport($report, $segmentValue = 'existing', false);
+ $this->assertSegmentForSegmentValueAndReport($report, $segmentValue = 'existing', false);
}
public function test_filter_shouldNotFail_IfNoReportGiven()
{
- $this->assertSegmentFilterForSegmentValueAndReport($report = null, $segmentValue = 'existing', false);
+ $this->assertSegmentForSegmentValueAndReport($report = null, $segmentValue = 'existing', false);
}
public function test_filter_shouldNotFail_IfDataTableHasNoRows()
@@ -116,19 +116,19 @@ class AddSegmentFilterBySegmentValueTest extends UnitTestCase
$this->assertSame(0, $table->getRowsCount());
}
- private function assertSegmentFilterForSegmentValueAndReport($report, $segmentValue, $expectedSegmentFilter)
+ private function assertSegmentForSegmentValueAndReport($report, $segmentValue, $expectedSegment)
{
$row = $this->addRowWithMetadata(array('segmentValue' => $segmentValue));
$this->table->filter($this->filter, array($report));
- $this->assertSegmentFilter($expectedSegmentFilter, $row);
+ $this->assertSegment($expectedSegment, $row);
}
- private function assertSegmentFilter($expected, Row $row)
+ private function assertSegment($expected, Row $row)
{
- $segmentFilter = $row->getMetadata('segment');
- $this->assertSame($expected, $segmentFilter);
+ $segment = $row->getMetadata('segment');
+ $this->assertSame($expected, $segment);
}
}
diff --git a/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterTest.php b/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterTest.php
index 1d9e3f919c..ef08247c9e 100644
--- a/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterTest.php
+++ b/tests/PHPUnit/Unit/DataTable/Filter/AddSegmentFilterTest.php
@@ -13,15 +13,15 @@ use Piwik\DataTable\Row;
use Piwik\Tests\Framework\TestCase\UnitTestCase;
/**
- * @group AddSegmentFilterTest
+ * @group AddSegmentByLabelTest
* @group DataTable
* @group Filter
* @group Unit
* @group Core
*/
-class AddSegmentFilterTest extends UnitTestCase
+class AddSegmentByLabelTest extends UnitTestCase
{
- private $filter = 'AddSegmentFilter';
+ private $filter = 'AddSegmentByLabel';
/**
* @var DataTable
diff --git a/tests/PHPUnit/Unit/DataTable/Filter/PrependSegmentFilterTest.php b/tests/PHPUnit/Unit/DataTable/Filter/PrependSegmentFilterTest.php
index 5dc4035f6b..d282db4c52 100644
--- a/tests/PHPUnit/Unit/DataTable/Filter/PrependSegmentFilterTest.php
+++ b/tests/PHPUnit/Unit/DataTable/Filter/PrependSegmentFilterTest.php
@@ -13,15 +13,15 @@ use Piwik\DataTable\Row;
use Piwik\Tests\Framework\TestCase\UnitTestCase;
/**
- * @group PrependSegmentFilterTest
+ * @group PrependSegmentTest
* @group DataTable
* @group Filter
* @group Unit
* @group Core
*/
-class PrependSegmentFilterTest extends UnitTestCase
+class PrependSegmentTest extends UnitTestCase
{
- private $filter = 'PrependSegmentFilter';
+ private $filter = 'PrependSegment';
/**
* @var DataTable
diff --git a/tests/PHPUnit/Unit/DateTest.php b/tests/PHPUnit/Unit/DateTest.php
index 8d29aa5f12..dadbba6461 100644
--- a/tests/PHPUnit/Unit/DateTest.php
+++ b/tests/PHPUnit/Unit/DateTest.php
@@ -92,21 +92,21 @@ class DateTest extends \PHPUnit_Framework_TestCase
public function test_getHourInUTC()
{
$date = Date::factory('today', 'UTC');
- $hour = $date->getHourInUTC();
+ $hour = $date->getHourUTC();
$this->assertSame('0', $hour); // hour is already in UTC
$date = Date::factory('today', 'UTC+10');
- $hour = $date->getHourInUTC();
+ $hour = $date->getHourUTC();
$this->assertSame('10', $hour);
$date = Date::factory('today');
$date = $date->setTime('14:00:00')->setTimezone('UTC+10'); // 14-10 = 4
- $hour = $date->getHourInUTC();
+ $hour = $date->getHourUTC();
$this->assertSame('4', $hour);
$date = Date::factory('today');
$date = $date->setTime('14:00:00')->setTimezone('UTC-5'); // 14+5 = 19
- $hour = $date->getHourInUTC();
+ $hour = $date->getHourUTC();
$this->assertSame('19', $hour);
}