Download plugins/AnonymousPiwikUsageMeasurement/javascripts/tracking.spec.js from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 5.34 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/AnonymousPiwikUsageMeasurement/javascripts/tracking.spec.js
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/plugins/AnonymousPiwikUsageMeasurement/javascripts/tracking.spec.js
-
curl -L -o tracking.spec.js https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/AnonymousPiwikUsageMeasurement/javascripts/tracking.spec.js
5.34 kB
| /*! | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| (function () { | |
| function initAnonymizedTrackers() { | |
| "use strict"; | |
| initTrackers(true); | |
| } | |
| function initNotAnonymizedTrackers() { | |
| "use strict"; | |
| initTrackers(false); | |
| } | |
| function initTrackers(anonymize) { | |
| "use strict"; | |
| piwikUsageTracking.userId = "testuserid"; | |
| for (var i = 0; i < piwikUsageTracking.targets.length; i++) { | |
| piwikUsageTracking.targets[i].useAnonymization = anonymize; | |
| } | |
| piwikUsageTracking.initialized = false; | |
| piwikUsageTracking.createTrackersIfNeeded(); | |
| } | |
| beforeEach(initAnonymizedTrackers); | |
| describe('AnonymousPiwikUsageMeasurementTracking', function() { | |
| var anonymousDomain = 'http://anonymous.piwikdomain.org'; | |
| var trackingDomain = piwikUsageTracking.trackingDomain; | |
| describe('#initialized', function() { | |
| it('should be initialized automatically', function() { | |
| expect(piwikUsageTracking.initialized).to.be.true; | |
| expect(piwikUsageTracking.trackers.length).to.eql(3); | |
| }); | |
| it('should be initialized by createTrackers method if not initialized yet', function() { | |
| piwikUsageTracking.initialized = false; | |
| piwikUsageTracking.createTrackersIfNeeded(); | |
| expect(piwikUsageTracking.initialized).to.be.true; | |
| expect(piwikUsageTracking.trackers.length).to.eql(3); | |
| }); | |
| it('should be initialized by a push method', function() { | |
| piwikUsageTracking.initialized = false; | |
| _paq.push(['getTrackerUrl']); | |
| expect(piwikUsageTracking.initialized).to.be.true; | |
| expect(piwikUsageTracking.trackers.length).to.eql(3); | |
| }); | |
| }); | |
| describe('#trackers', function() { | |
| it('should have created multiple trackers with correct idSite, domain and custom variables', function() { | |
| var tracker1 = piwikUsageTracking.trackers[0]; | |
| var tracker2 = piwikUsageTracking.trackers[1]; | |
| var tracker3 = piwikUsageTracking.trackers[2]; | |
| expect(tracker1.getTrackerUrl()).to.eql('http://localhost/matomo.php'); | |
| expect(tracker1.getSiteId()).to.eql(1); | |
| expect(tracker1.getCustomVariable(1, 'visit')).to.eql(['Access', 'user']); | |
| expect(tracker2.getTrackerUrl()).to.eql('http://127.0.0.1/matomo.php'); | |
| expect(tracker2.getSiteId()).to.eql(20); | |
| expect(tracker2.getCustomVariable(1, 'visit')).to.eql(['Access', 'user']); | |
| expect(tracker3.getTrackerUrl()).to.eql('http://localhost/matomo.php'); | |
| expect(tracker3.getSiteId()).to.eql(33); | |
| expect(tracker3.getCustomVariable(1, 'visit')).to.eql(['Access', 'user']); | |
| }); | |
| it('should anonymize url and referrer by default', function() { | |
| for (var i = 1; i < piwikUsageTracking.trackers.length; i++) { | |
| var tracker = piwikUsageTracking.trackers[i]; | |
| var request = tracker.getRequest(''); | |
| expect(request).to.contain('&url=http%3A%2F%2Fdemo.matomo.org%2F%3F'); | |
| expect(request).to.contain('&_cvar=%7B%221%22%3A%5B%22Access%22%2C%22user%22%5D%7D'); | |
| expect(request).to.not.contain('urlref='); | |
| expect(request).to.not.contain('uid=testuserid'); | |
| } | |
| }); | |
| it('should not anonymize url and referrer', function() { | |
| initNotAnonymizedTrackers(); | |
| for (var i = 1; i < piwikUsageTracking.trackers.length; i++) { | |
| var tracker = piwikUsageTracking.trackers[i]; | |
| var request = tracker.getRequest(''); | |
| expect(request).to.not.contain('&url=http%3A%2F%2Fdemo.matomo.org%2F%3F'); | |
| expect(request).to.contain('urlref='); | |
| expect(request).to.contain('uid=testuserid'); | |
| } | |
| }); | |
| }); | |
| describe('_paq.push', function() { | |
| it('should call a method with parameters on all tracker instances', function() { | |
| var tracker1 = piwikUsageTracking.trackers[0]; | |
| var tracker2 = piwikUsageTracking.trackers[1]; | |
| var tracker3 = piwikUsageTracking.trackers[2]; | |
| _paq.push(['setCustomData', 'mykey', 'myvalue']); | |
| expect(tracker1.getCustomData()).to.eql({mykey: 'myvalue'}); | |
| expect(tracker2.getCustomData()).to.eql({mykey: 'myvalue'}); | |
| expect(tracker3.getCustomData()).to.eql({mykey: 'myvalue'}); | |
| }); | |
| it('should not fail when calling a non existing tracker method', function() { | |
| _paq.push(['setNotExisTiNGmeThod', 'mykey', 'myvalue']); | |
| }); | |
| it('should call a function in the context of tracker', function() { | |
| _paq.push([function () { | |
| expect(this.getSiteId()).to.be.at.least(1); | |
| }]); | |
| }); | |
| }); | |
| }); | |
| })(); | |