+++ /dev/null
-<?php
-
-namespace Unish;
-
-use Drush\Commands\core\XhprofCommands;
-
-/**
- * Unit tests for xhCommands
- *
- * @group base
- */
-class XhUnitCase extends UnishTestCase
-{
-
- /**
- * Test various combinations of XHProf flag options.
- *
- * @dataProvider xhOptionProvider
- */
- public function testFlags($name, $options, $expected)
- {
- $this->assertEquals($expected, XhprofCommands::xhprofFlags($options), $name);
- }
-
- /**
- * Provides drush XHProf options and the results we expect from xh_flags().
- */
- public function xhOptionProvider()
- {
-
- if (!defined('XHPROF_FLAGS_NO_BUILTINS')) {
- define('XHPROF_FLAGS_NO_BUILTINS', 1);
- define('XHPROF_FLAGS_CPU', 2);
- define('XHPROF_FLAGS_MEMORY', 3);
- }
-
- return [
- [
- 'name' => 'Default flag options explicitly provided',
- 'options' => [
- 'profile-builtins' => true,
- 'profile-cpu' => false,
- 'profile-memory' => false,
- ],
- 'expected' => 0,
- ],
- [
- 'name' => 'Disable profiling of built-ins',
- 'options' => [
- 'profile-builtins' => false,
- 'profile-cpu' => false,
- 'profile-memory' => false,
- ],
- 'expected' => XHPROF_FLAGS_NO_BUILTINS,
- ],
- [
- 'name' => 'Enable profiling of CPU',
- 'options' => [
- 'profile-builtins' => true,
- 'profile-cpu' => true,
- 'profile-memory' => false,
- ],
- 'expected' => XHPROF_FLAGS_CPU,
- ],
- [
- 'name' => 'Enable profiling of CPU, without builtins',
- 'options' => [
- 'profile-builtins' => false,
- 'profile-cpu' => true,
- 'profile-memory' => false,
- ],
- 'expected' => XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU,
- ],
- [
- 'name' => 'Enable profiling of Memory',
- 'options' => [
- 'profile-builtins' => true,
- 'profile-cpu' => false,
- 'profile-memory' => true,
- ],
- 'expected' => XHPROF_FLAGS_MEMORY,
- ],
- [
- 'name' => 'Enable profiling of Memory, without builtins',
- 'options' => [
- 'profile-builtins' => false,
- 'profile-cpu' => false,
- 'profile-memory' => true,
- ],
- 'expected' => XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_MEMORY,
- ],
- [
- 'name' => 'Enable profiling of CPU & Memory',
- 'options' => [
- 'profile-builtins' => true,
- 'profile-cpu' => true,
- 'profile-memory' => true,
- ],
- 'expected' => XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY,
- ],
- ];
- }
-}