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:
Diffstat (limited to 'tests/PHPUnit/Core/SegmentTest.php')
-rw-r--r--tests/PHPUnit/Core/SegmentTest.php189
1 files changed, 95 insertions, 94 deletions
diff --git a/tests/PHPUnit/Core/SegmentTest.php b/tests/PHPUnit/Core/SegmentTest.php
index 4b9249597b..2d021ea65c 100644
--- a/tests/PHPUnit/Core/SegmentTest.php
+++ b/tests/PHPUnit/Core/SegmentTest.php
@@ -15,10 +15,10 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$pseudoMockAccess = new FakeAccess;
FakeAccess::$superUser = true;
Zend_Registry::set('access', $pseudoMockAccess);
-
+
// Load and install plugins
$pluginsManager = Piwik_PluginsManager::getInstance();
- $pluginsManager->loadPlugins( Piwik_Config::getInstance()->Plugins['Plugins'] );
+ $pluginsManager->loadPlugins(Piwik_Config::getInstance()->Plugins['Plugins']);
}
public function tearDown()
@@ -29,8 +29,8 @@ class SegmentTest extends PHPUnit_Framework_TestCase
protected function _filterWhitsSpaces($valueToFilter)
{
- if(is_array($valueToFilter)) {
- foreach($valueToFilter AS $key => $value) {
+ if (is_array($valueToFilter)) {
+ foreach ($valueToFilter AS $key => $value) {
$valueToFilter[$key] = $this->_filterWhitsSpaces($value);
}
return $valueToFilter;
@@ -46,23 +46,23 @@ class SegmentTest extends PHPUnit_Framework_TestCase
// Normal segment
array('country==France', array(
'where' => ' log_visit.location_country = ? ',
- 'bind' => array('France'))),
+ 'bind' => array('France'))),
// unescape the comma please
array('country==a\,==', array(
'where' => ' log_visit.location_country = ? ',
- 'bind' => array('a,=='))),
+ 'bind' => array('a,=='))),
// AND, with 2 values rewrites
array('country==a;visitorType!=returning;visitorType==new', array(
'where' => ' log_visit.location_country = ? AND log_visit.visitor_returning <> ? AND log_visit.visitor_returning = ? ',
- 'bind' => array('a', '1', '0'))),
+ 'bind' => array('a', '1', '0'))),
// OR, with 2 value rewrites
array('referrerType==search,referrerType==direct', array(
- 'where'=>' (log_visit.referer_type = ? OR log_visit.referer_type = ? )',
- 'bind' => array(Piwik_Common::REFERER_TYPE_SEARCH_ENGINE,
- Piwik_Common::REFERER_TYPE_DIRECT_ENTRY))),
+ 'where' => ' (log_visit.referer_type = ? OR log_visit.referer_type = ? )',
+ 'bind' => array(Piwik_Common::REFERER_TYPE_SEARCH_ENGINE,
+ Piwik_Common::REFERER_TYPE_DIRECT_ENTRY))),
);
}
@@ -77,13 +77,13 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_visit';
$expected = array(
- 'sql' => '
+ 'sql' => '
SELECT
log_visit.idvisit
FROM
- '.Piwik_Common::prefixTable('log_visit').' AS log_visit
+ ' . Piwik_Common::prefixTable('log_visit') . ' AS log_visit
WHERE
- '.$expected['where'],
+ ' . $expected['where'],
'bind' => $expected['bind']
);
@@ -98,7 +98,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$this->assertEquals(32, strlen($segment->getHash()));
}
-
+
/**
* @group Core
* @group Segment
@@ -109,27 +109,27 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_visit';
$where = 'idsite = ?';
$bind = array(1);
-
+
$segment = 'customVariableName1==Test;visitorType==new';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
*
FROM
- ".Piwik_Common::prefixTable('log_visit')." AS log_visit
+ " . Piwik_Common::prefixTable('log_visit') . " AS log_visit
WHERE
( idsite = ? )
AND
( log_visit.custom_var_k1 = ? AND log_visit.visitor_returning = ? )",
"bind" => array(1, 'Test', 0));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* @group Core
* @group Segment
@@ -140,25 +140,25 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_link_visit_action';
$where = 'log_link_visit_action.idvisit = ?';
$bind = array(1);
-
+
$segment = 'customVariablePageName1==Test;visitorType==new';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
*
FROM
- ".Piwik_Common::prefixTable('log_link_visit_action')." AS log_link_visit_action
- LEFT JOIN ".Piwik_Common::prefixTable('log_visit')." AS log_visit ON log_visit.idvisit = log_link_visit_action.idvisit
+ " . Piwik_Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action
+ LEFT JOIN " . Piwik_Common::prefixTable('log_visit') . " AS log_visit ON log_visit.idvisit = log_link_visit_action.idvisit
WHERE
( log_link_visit_action.idvisit = ? )
AND
( log_link_visit_action.custom_var_k1 = ? AND log_visit.visitor_returning = ? )",
"bind" => array(1, 'Test', 0));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
@@ -172,14 +172,14 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_visit';
$where = 'log_visit.idvisit = ?';
$bind = array(1);
-
+
$segment = 'customVariablePageName1==Test;visitorType==new';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
sum(log_inner.visit_total_actions) as nb_actions, max(log_inner.visit_total_actions) as max_actions, sum(log_inner.visit_total_time) as sum_visit_length
FROM
@@ -188,8 +188,8 @@ class SegmentTest extends PHPUnit_Framework_TestCase
log_visit.visit_total_actions,
log_visit.visit_total_time
FROM
- ".Piwik_Common::prefixTable('log_visit')." AS log_visit
- LEFT JOIN ".Piwik_Common::prefixTable('log_link_visit_action')." AS log_link_visit_action ON log_link_visit_action.idvisit = log_visit.idvisit
+ " . Piwik_Common::prefixTable('log_visit') . " AS log_visit
+ LEFT JOIN " . Piwik_Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action ON log_link_visit_action.idvisit = log_visit.idvisit
WHERE
( log_visit.idvisit = ? )
AND
@@ -197,10 +197,10 @@ class SegmentTest extends PHPUnit_Framework_TestCase
GROUP BY log_visit.idvisit
) AS log_inner",
"bind" => array(1, 'Test', 0));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* @group Core
* @group Segment
@@ -211,28 +211,28 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_link_visit_action';
$where = 'log_link_visit_action.idvisit = ?';
$bind = array(1);
-
+
$segment = 'customVariablePageName1==Test;visitConvertedGoalId==1;customVariablePageName2==Test2';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
*
FROM
- ".Piwik_Common::prefixTable('log_link_visit_action')." AS log_link_visit_action
- LEFT JOIN ".Piwik_Common::prefixTable('log_conversion')." AS log_conversion ON log_conversion.idlink_va = log_link_visit_action.idlink_va AND log_conversion.idsite = log_link_visit_action.idsite
+ " . Piwik_Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action
+ LEFT JOIN " . Piwik_Common::prefixTable('log_conversion') . " AS log_conversion ON log_conversion.idlink_va = log_link_visit_action.idlink_va AND log_conversion.idsite = log_link_visit_action.idsite
WHERE
( log_link_visit_action.idvisit = ? )
AND
( log_link_visit_action.custom_var_k1 = ? AND log_conversion.idgoal = ? AND log_link_visit_action.custom_var_k2 = ? )",
"bind" => array(1, 'Test', 1, 'Test2'));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* @group Core
* @group Segment
@@ -243,28 +243,28 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_conversion';
$where = 'log_conversion.idvisit = ?';
$bind = array(1);
-
+
$segment = 'visitConvertedGoalId!=2;customVariablePageName1==Test;visitConvertedGoalId==1';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
*
FROM
- ".Piwik_Common::prefixTable('log_conversion')." AS log_conversion
- LEFT JOIN ".Piwik_Common::prefixTable('log_link_visit_action')." AS log_link_visit_action ON log_conversion.idlink_va = log_link_visit_action.idlink_va
+ " . Piwik_Common::prefixTable('log_conversion') . " AS log_conversion
+ LEFT JOIN " . Piwik_Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action ON log_conversion.idlink_va = log_link_visit_action.idlink_va
WHERE
( log_conversion.idvisit = ? )
AND
( log_conversion.idgoal <> ? AND log_link_visit_action.custom_var_k1 = ? AND log_conversion.idgoal = ? )",
"bind" => array(1, 2, 'Test', 1));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* @group Core
* @group Segment
@@ -275,14 +275,14 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_visit';
$where = 'log_visit.idvisit = ?';
$bind = array(1);
-
+
$segment = 'visitConvertedGoalId==1';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
log_inner.*
FROM
@@ -290,8 +290,8 @@ class SegmentTest extends PHPUnit_Framework_TestCase
SELECT
log_visit.*
FROM
- ".Piwik_Common::prefixTable('log_visit')." AS log_visit
- LEFT JOIN ".Piwik_Common::prefixTable('log_conversion')." AS log_conversion ON log_conversion.idvisit = log_visit.idvisit
+ " . Piwik_Common::prefixTable('log_visit') . " AS log_visit
+ LEFT JOIN " . Piwik_Common::prefixTable('log_conversion') . " AS log_conversion ON log_conversion.idvisit = log_visit.idvisit
WHERE
( log_visit.idvisit = ? )
AND
@@ -299,10 +299,10 @@ class SegmentTest extends PHPUnit_Framework_TestCase
GROUP BY log_visit.idvisit
) AS log_inner",
"bind" => array(1, 1));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* @group Core
* @group Segemnt
@@ -313,27 +313,27 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_conversion';
$where = 'log_conversion.idvisit = ?';
$bind = array(1);
-
+
$segment = 'visitConvertedGoalId==1';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
log_conversion.*
FROM
- ".Piwik_Common::prefixTable('log_conversion')." AS log_conversion
+ " . Piwik_Common::prefixTable('log_conversion') . " AS log_conversion
WHERE
( log_conversion.idvisit = ? )
AND
( log_conversion.idgoal = ? )",
"bind" => array(1, 1));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* @group Core
* @group Segment
@@ -344,32 +344,32 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_conversion';
$where = 'log_conversion.idvisit = ?';
$bind = array(1);
-
+
$segment = 'visitConvertedGoalId==1,visitServerHour==12';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
*
FROM
- ".Piwik_Common::prefixTable('log_conversion')." AS log_conversion
- LEFT JOIN ".Piwik_Common::prefixTable('log_visit')." AS log_visit ON log_conversion.idvisit = log_visit.idvisit
+ " . Piwik_Common::prefixTable('log_conversion') . " AS log_conversion
+ LEFT JOIN " . Piwik_Common::prefixTable('log_visit') . " AS log_visit ON log_conversion.idvisit = log_visit.idvisit
WHERE
( log_conversion.idvisit = ? )
AND
( (log_conversion.idgoal = ? OR HOUR(log_visit.visit_last_action_time) = ? ))",
"bind" => array(1, 1, 12));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* visit is joined on action, then conversion is joined
* make sure that conversion is joined on action not visit
- *
+ *
* @group Core
* @group Segment
*/
@@ -379,31 +379,31 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_link_visit_action';
$where = false;
$bind = array();
-
+
$segment = 'visitServerHour==12;visitConvertedGoalId==1';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
*
FROM
- ".Piwik_Common::prefixTable('log_link_visit_action')." AS log_link_visit_action
- LEFT JOIN ".Piwik_Common::prefixTable('log_visit')." AS log_visit ON log_visit.idvisit = log_link_visit_action.idvisit
- LEFT JOIN ".Piwik_Common::prefixTable('log_conversion')." AS log_conversion ON log_conversion.idlink_va = log_link_visit_action.idlink_va AND log_conversion.idsite = log_link_visit_action.idsite
+ " . Piwik_Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action
+ LEFT JOIN " . Piwik_Common::prefixTable('log_visit') . " AS log_visit ON log_visit.idvisit = log_link_visit_action.idvisit
+ LEFT JOIN " . Piwik_Common::prefixTable('log_conversion') . " AS log_conversion ON log_conversion.idlink_va = log_link_visit_action.idlink_va AND log_conversion.idsite = log_link_visit_action.idsite
WHERE
HOUR(log_visit.visit_last_action_time) = ? AND log_conversion.idgoal = ? ",
"bind" => array(12, 1));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
-
+
/**
* join conversion on visit, then actions
* make sure actions are joined before conversions
- *
+ *
* @group Core
* @group Segment
*/
@@ -413,14 +413,14 @@ class SegmentTest extends PHPUnit_Framework_TestCase
$from = 'log_visit';
$where = false;
$bind = array();
-
+
$segment = 'visitConvertedGoalId==1;visitServerHour==12;customVariablePageName1==Test';
$segment = new Piwik_Segment($segment, $idSites = array());
-
+
$query = $segment->getSelectQuery($select, $from, $where, $bind);
-
+
$expected = array(
- "sql" => "
+ "sql" => "
SELECT
log_inner.*
FROM
@@ -428,15 +428,15 @@ class SegmentTest extends PHPUnit_Framework_TestCase
SELECT
log_visit.*
FROM
- ".Piwik_Common::prefixTable('log_visit')." AS log_visit
- LEFT JOIN ".Piwik_Common::prefixTable('log_link_visit_action')." AS log_link_visit_action ON log_link_visit_action.idvisit = log_visit.idvisit
- LEFT JOIN ".Piwik_Common::prefixTable('log_conversion')." AS log_conversion ON log_conversion.idlink_va = log_link_visit_action.idlink_va AND log_conversion.idsite = log_link_visit_action.idsite
+ " . Piwik_Common::prefixTable('log_visit') . " AS log_visit
+ LEFT JOIN " . Piwik_Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action ON log_link_visit_action.idvisit = log_visit.idvisit
+ LEFT JOIN " . Piwik_Common::prefixTable('log_conversion') . " AS log_conversion ON log_conversion.idlink_va = log_link_visit_action.idlink_va AND log_conversion.idsite = log_link_visit_action.idsite
WHERE
log_conversion.idgoal = ? AND HOUR(log_visit.visit_last_action_time) = ? AND log_link_visit_action.custom_var_k1 = ?
GROUP BY log_visit.idvisit
) AS log_inner",
"bind" => array(1, 12, 'Test'));
-
+
$this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($query));
}
@@ -451,6 +451,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
array('A=B')
);
}
+
/**
* @group Core
* @group Segment