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
path: root/tests
diff options
context:
space:
mode:
authorStefan Giehl <stefan@matomo.org>2022-07-08 12:34:16 +0300
committerGitHub <noreply@github.com>2022-07-08 12:34:16 +0300
commit89a44abd03df0102f860306628bd0d75987c3626 (patch)
treeac02d4cd384ee467618e4188e5d5bdada23c6b36 /tests
parent7885267b684c6b836b76b95a764fe792fafffbe1 (diff)
Implement url parameter to ignore referrer (#19420)
* Implement url parameter to ignore referrer * rebuilt js files * apply some fixes
Diffstat (limited to 'tests')
-rw-r--r--tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php3
-rw-r--r--tests/javascript/index.php18
2 files changed, 16 insertions, 5 deletions
diff --git a/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php b/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php
index 49e5ee8560..e23c8af778 100644
--- a/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php
+++ b/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php
@@ -65,7 +65,8 @@ class ThreeGoalsOnePageview extends Fixture
$t = self::getTracker($this->idSite, $this->dateTime, $defaultInit = true);
// Record 1st page view
- $t->setUrl('http://example.org/index.htm');
+ $t->setUrl('http://example.org/index.htm?ignore_referrer=1');
+ $t->setUrlReferrer('http://www.example.org/page/'); // this should be ignored due to the `ignore_referrer` parameter in page url
self::checkResponse($t->doTrackPageView('0'));
$t->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.3)->getDatetime());
diff --git a/tests/javascript/index.php b/tests/javascript/index.php
index 81ec2570a5..4c838a96b3 100644
--- a/tests/javascript/index.php
+++ b/tests/javascript/index.php
@@ -33,7 +33,7 @@ try {
use \Piwik\Plugins\CustomJsTracker\TrackerUpdater;
use \Piwik\Plugins\CustomJsTracker\TrackingCode\JsTestPluginTrackerFiles;
-$targetFileName = '/tests/resources/matomo.test.js';
+$targetFileName = '/tests/resources/matomo2.test.js';
$sourceFile = PIWIK_DOCUMENT_ROOT . TrackerUpdater::DEVELOPMENT_PIWIK_JS;
$targetFile = PIWIK_DOCUMENT_ROOT . $targetFileName;
@@ -3690,7 +3690,7 @@ if ($mysql) {
});
test("tracking", function() {
- expect(180);
+ expect(182);
// Prevent Opera and HtmlUnit from performing the default action (i.e., load the href URL)
var stopEvent = function (evt) {
@@ -3839,6 +3839,15 @@ if ($mysql) {
strictEqual(2, tracker.getNumTrackedPageViews(), 'getNumTrackedPageViews, should increase num pageview counter');
+ tracker.setReferrerUrl('http://another.referrer.url/path/page');
+ tracker.setCustomUrl(customUrl + '&ignore_referrer=1');
+ tracker.trackPageView();
+
+ tracker.setReferrerUrl(referrerUrl);
+ tracker.setCustomUrl(customUrl);
+
+ strictEqual(3, tracker.getNumTrackedPageViews(), 'getNumTrackedPageViews, should increase num pageview counter');
+
var idPageview = tracker.getConfigIdPageView();
ok(/([0-9a-zA-Z]){6}/.test(idPageview), 'trackPageview, should generate a random pageview id');
@@ -3846,7 +3855,7 @@ if ($mysql) {
equal(tracker.getCustomDimension(2), "", "custom dimensions should not be cleared after a tracked pageview");
tracker.trackPageView("CustomTitleTest", {dimension2: 'my new value', dimension5: 'another dimension'});
- strictEqual(3, tracker.getNumTrackedPageViews(), 'getNumTrackedPageViews, should increase num pageview counter');
+ strictEqual(4, tracker.getNumTrackedPageViews(), 'getNumTrackedPageViews, should increase num pageview counter');
var idPageviewCustomTitle = tracker.getConfigIdPageView();
ok(idPageviewCustomTitle != idPageview, 'trackPageview, should generate a new random pageview id whenever it is called');
@@ -4209,7 +4218,7 @@ if ($mysql) {
var countTrackingEvents = /<span\>([0-9]+)\<\/span\>/.exec(results);
ok (countTrackingEvents, "countTrackingEvents is set");
if(countTrackingEvents) {
- equal( countTrackingEvents[1], "55", "count tracking events" );
+ equal( countTrackingEvents[1], "56", "count tracking events" );
}
// firing callback
@@ -4242,6 +4251,7 @@ if ($mysql) {
ok( /localhost.localdomain/.test( results ), "setCustomUrl()" );
ok( /referrer.example.com/.test( results ), "setReferrerUrl()" );
ok( ! /ignored.referrer.url/.test( results ), "ignored referrer url isn't sent with request" );
+ ok( ! /another.referrer.url/.test( results ), "referrer ignored with url parameter isn't sent with request" );
ok( /cookiename/.test( results ) && /cookievalue/.test( results ), "tracking request contains custom variable" );
ok( /DeleteCustomVariableCookie/.test( results ), "tracking request deleting custom variable" );
ok( /DoTrack/.test( results ), "setDoNotTrack(false)" );