قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-25 00:17:37 +00:00

* [Coding Style] Enable rule PSR1.Methods.CamelCapsMethodName.NotCamelCaps * [Coding Style] Use camel case for method names in API plugin tests (#22145) * [Coding Style] Use camel case for method names in Core* plugin tests (#22147) * [Coding Style] Use camel case for method names in core Unit tests (#22149) * [Coding Style] Use camel case for method names in Actions and BulkTracking plugin tests (#22146) * [Coding Style] Use camel case for method names in CustomDimensions and CustomJSTracker plugin tests (#22148) * [Coding Style] Use camel case for method names in core Integration tests (#22151) * [Coding Style] Use camel case for method names in more core plugin tests (#22153) * [Coding Style] Use camel case for method names in more core plugin tests (#22157) * [Coding Style] Use camel case for method names in more core plugin tests * Update plugins/Monolog/tests/Unit/Processor/ExceptionToTextProcessorTest.php Co-authored-by: Michal Kleiner <michal@innocraft.com> --------- Co-authored-by: Michal Kleiner <michal@innocraft.com> * [Coding Style] Use camel case for method names in more core plugin tests (#22159) * [Coding Style] Use camel case for method names in remaining tests (#22160) * [Coding Style] Use camel case for method names in remaining tests * rename expected test files --------- Co-authored-by: Michal Kleiner <michal@innocraft.com>
68 خطوط
1.7 KiB
PHP
68 خطوط
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.org
|
|
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*/
|
|
|
|
namespace Piwik\Tests\Integration\Tracker\Handler;
|
|
|
|
use Piwik\Piwik;
|
|
use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
|
|
use Piwik\Tracker;
|
|
use Piwik\Tracker\Handler;
|
|
use Piwik\Tracker\Handler\Factory;
|
|
|
|
/**
|
|
* @group Tracker
|
|
* @group Handler
|
|
* @group Factory
|
|
* @group FactoryTest
|
|
*/
|
|
class FactoryTest extends IntegrationTestCase
|
|
{
|
|
public function testMakeShouldCreateDefaultInstance()
|
|
{
|
|
$handler = Factory::make();
|
|
$this->assertInstanceOf('Piwik\\Tracker\\Handler', $handler);
|
|
}
|
|
|
|
public function testMakeShouldTriggerEventOnce()
|
|
{
|
|
$called = 0;
|
|
$self = $this;
|
|
Piwik::addAction('Tracker.newHandler', function ($handler) use (&$called, $self) {
|
|
$called++;
|
|
$self->assertNull($handler);
|
|
});
|
|
|
|
Factory::make();
|
|
$this->assertSame(1, $called);
|
|
}
|
|
|
|
public function testMakeShouldPreferManuallyCreatedHandlerInstanceInEventOverDefaultHandler()
|
|
{
|
|
$handlerToUse = new Handler();
|
|
Piwik::addAction('Tracker.newHandler', function (&$handler) use ($handlerToUse) {
|
|
$handler = $handlerToUse;
|
|
});
|
|
|
|
$handler = Factory::make();
|
|
$this->assertSame($handlerToUse, $handler);
|
|
}
|
|
|
|
public function testMakeShouldTriggerExceptionInCaseWrongInstanceCreatedInHandler()
|
|
{
|
|
$this->expectException(\Exception::class);
|
|
$this->expectExceptionMessage('The Handler object set in the plugin');
|
|
|
|
Piwik::addAction('Tracker.newHandler', function (&$handler) {
|
|
$handler = new Tracker();
|
|
});
|
|
|
|
Factory::make();
|
|
}
|
|
}
|