Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
10.61% covered (danger)
10.61%
7 / 66
66.67% covered (warning)
66.67%
2 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
phpbb_functions_acp_build_select_test
10.61% covered (danger)
10.61%
7 / 66
66.67% covered (warning)
66.67%
2 / 3
9.43
0.00% covered (danger)
0.00%
0 / 1
 setUp
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 build_select_data
0.00% covered (danger)
0.00%
0 / 59
0.00% covered (danger)
0.00%
0 / 1
2
 test_build_select
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2/**
3*
4* This file is part of the phpBB Forum Software package.
5*
6* @copyright (c) phpBB Limited <https://www.phpbb.com>
7* @license GNU General Public License, version 2 (GPL-2.0)
8*
9* For full copyright and license information, please see
10* the docs/CREDITS.txt file.
11*
12*/
13
14require_once __DIR__ . '/../../phpBB/includes/functions_acp.php';
15
16class phpbb_functions_acp_build_select_test extends phpbb_test_case
17{
18    protected function setUp(): void
19    {
20        parent::setUp();
21
22        global $user;
23
24        $user = new phpbb_mock_user();
25        $user->lang = new phpbb_mock_lang();
26    }
27
28    public static function build_select_data()
29    {
30        return array(
31            array(
32                array(
33                    'test'        => 'TEST',
34                    'second'    => 'SEC_OPTION',
35                ),
36                false,
37                [
38                    [
39                        'value'        => 'test',
40                        'label'        => 'TEST',
41                        'selected'    => false,
42                    ],
43                    [
44                        'value'        => 'second',
45                        'label'        => 'SEC_OPTION',
46                        'selected'    => false,
47                    ],
48                ],
49            ),
50            array(
51                array(
52                    'test'        => 'TEST',
53                    'second'    => 'SEC_OPTION',
54                ),
55                'test',
56                [
57                    [
58                        'value'        => 'test',
59                        'label'        => 'TEST',
60                        'selected'    => true,
61                    ],
62                    [
63                        'value'        => 'second',
64                        'label'        => 'SEC_OPTION',
65                        'selected'    => false,
66                    ],
67                ],
68            ),
69            array(
70                array(
71                    'test'        => 'TEST',
72                    'second'    => 'SEC_OPTION',
73                ),
74                'second',
75                [
76                    [
77                        'value'        => 'test',
78                        'label'        => 'TEST',
79                        'selected'    => false,
80                    ],
81                    [
82                        'value'        => 'second',
83                        'label'        => 'SEC_OPTION',
84                        'selected'    => true,
85                    ],
86                ],
87            ),
88        );
89    }
90
91    /**
92    * @dataProvider build_select_data
93    */
94    public function test_build_select($option_ary, $option_default, $expected)
95    {
96        global $language;
97
98        $language = new phpbb_mock_lang();
99
100        $this->assertEquals($expected, build_select($option_ary, $option_default));
101    }
102}