Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / drush / drush / tests / XhUnitTest.php
1 <?php
2
3 namespace Unish;
4
5 use Drush\Commands\core\XhprofCommands;
6
7 /**
8  * Unit tests for xhCommands
9  *
10  * @group base
11  */
12 class XhUnitCase extends UnishTestCase
13 {
14
15   /**
16    * Test various combinations of XHProf flag options.
17    *
18    * @dataProvider xhOptionProvider
19    */
20     public function testFlags($name, $options, $expected)
21     {
22         $this->assertEquals($expected, XhprofCommands::xhprofFlags($options), $name);
23     }
24
25   /**
26    * Provides drush XHProf options and the results we expect from xh_flags().
27    */
28     public function xhOptionProvider()
29     {
30
31         if (!defined('XHPROF_FLAGS_NO_BUILTINS')) {
32             define('XHPROF_FLAGS_NO_BUILTINS', 1);
33             define('XHPROF_FLAGS_CPU', 2);
34             define('XHPROF_FLAGS_MEMORY', 3);
35         }
36
37         return [
38         [
39         'name' => 'Default flag options explicitly provided',
40         'options' => [
41           'profile-builtins' => true,
42           'profile-cpu' => false,
43           'profile-memory' => false,
44         ],
45         'expected' => 0,
46         ],
47         [
48         'name' => 'Disable profiling of built-ins',
49         'options' => [
50           'profile-builtins' => false,
51           'profile-cpu' => false,
52           'profile-memory' => false,
53         ],
54         'expected' => XHPROF_FLAGS_NO_BUILTINS,
55         ],
56         [
57         'name' => 'Enable profiling of CPU',
58         'options' => [
59           'profile-builtins' => true,
60           'profile-cpu' => true,
61           'profile-memory' => false,
62         ],
63         'expected' => XHPROF_FLAGS_CPU,
64         ],
65         [
66         'name' => 'Enable profiling of CPU, without builtins',
67         'options' => [
68           'profile-builtins' => false,
69           'profile-cpu' => true,
70           'profile-memory' => false,
71         ],
72         'expected' => XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU,
73         ],
74         [
75         'name' => 'Enable profiling of Memory',
76         'options' => [
77           'profile-builtins' => true,
78           'profile-cpu' => false,
79           'profile-memory' => true,
80         ],
81         'expected' => XHPROF_FLAGS_MEMORY,
82         ],
83         [
84         'name' => 'Enable profiling of Memory, without builtins',
85         'options' => [
86           'profile-builtins' => false,
87           'profile-cpu' => false,
88           'profile-memory' => true,
89         ],
90         'expected' => XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_MEMORY,
91         ],
92         [
93         'name' => 'Enable profiling of CPU & Memory',
94         'options' => [
95           'profile-builtins' => true,
96           'profile-cpu' => true,
97           'profile-memory' => true,
98         ],
99         'expected' => XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY,
100         ],
101         ];
102     }
103 }