123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- /**
- * Test case for \Magento\Framework\Profiler
- *
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework;
- class ProfilerTest extends \PHPUnit\Framework\TestCase
- {
- protected function tearDown()
- {
- \Magento\Framework\Profiler::reset();
- }
- /**
- * @dataProvider applyConfigDataProvider
- * @param array $config
- * @param array $expectedDrivers
- */
- public function testApplyConfigWithDrivers(array $config, array $expectedDrivers)
- {
- \Magento\Framework\Profiler::applyConfig($config, '');
- $this->assertAttributeEquals($expectedDrivers, '_drivers', \Magento\Framework\Profiler::class);
- }
- /**
- * @return array
- */
- public function applyConfigDataProvider()
- {
- return [
- 'Empty config does not create any driver' => ['config' => [], 'drivers' => []],
- 'Integer 0 does not create any driver' => [
- 'config' => ['drivers' => [0]],
- 'drivers' => [],
- ],
- 'Integer 1 does creates standard driver' => [
- 'config' => ['drivers' => [1]],
- 'drivers' => [new \Magento\Framework\Profiler\Driver\Standard()],
- ],
- 'Config array key sets driver type' => [
- 'configs' => ['drivers' => ['standard' => 1]],
- 'drivers' => [new \Magento\Framework\Profiler\Driver\Standard()],
- ],
- 'Config array key ignored when type set' => [
- 'config' => ['drivers' => ['custom' => ['type' => 'standard']]],
- 'drivers' => [new \Magento\Framework\Profiler\Driver\Standard()],
- ],
- 'Config with outputs element as integer 1 creates output' => [
- 'config' => [
- 'drivers' => [['outputs' => ['html' => 1]]],
- 'baseDir' => '/some/base/dir',
- ],
- 'drivers' => [
- new \Magento\Framework\Profiler\Driver\Standard(
- ['outputs' => [['type' => 'html', 'baseDir' => '/some/base/dir']]]
- ),
- ],
- ],
- 'Config with outputs element as integer 0 does not create output' => [
- 'config' => ['drivers' => [['outputs' => ['html' => 0]]]],
- 'drivers' => [new \Magento\Framework\Profiler\Driver\Standard()],
- ],
- 'Config with shortly defined outputs element' => [
- 'config' => ['drivers' => [['outputs' => ['foo' => 'html']]]],
- 'drivers' => [
- new \Magento\Framework\Profiler\Driver\Standard(['outputs' => [['type' => 'html']]]),
- ],
- ],
- 'Config with fully defined outputs element options' => [
- 'config' => [
- 'drivers' => [
- [
- 'outputs' => [
- 'foo' => [
- 'type' => 'html',
- 'filterName' => '/someFilter/',
- 'thresholds' => ['someKey' => 123],
- 'baseDir' => '/custom/dir',
- ],
- ],
- ],
- ],
- ],
- 'drivers' => [
- new \Magento\Framework\Profiler\Driver\Standard(
- [
- 'outputs' => [
- [
- 'type' => 'html',
- 'filterName' => '/someFilter/',
- 'thresholds' => ['someKey' => 123],
- 'baseDir' => '/custom/dir',
- ],
- ],
- ]
- ),
- ],
- ],
- 'Config with shortly defined output' => [
- 'config' => ['drivers' => [['output' => 'html']]],
- 'drivers' => [
- new \Magento\Framework\Profiler\Driver\Standard(['outputs' => [['type' => 'html']]]),
- ],
- ]
- ];
- }
- }
|