Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
35 / 35
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
phpbb_dbal_concatenate_test
100.00% covered (success)
100.00%
35 / 35
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
1 / 1
 getDataSet
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 test_concatenate_string
100.00% covered (success)
100.00%
17 / 17
100.00% covered (success)
100.00%
1 / 1
1
 test_concatenate_statement
100.00% covered (success)
100.00%
17 / 17
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
14class phpbb_dbal_concatenate_test extends phpbb_database_test_case
15{
16    public function getDataSet()
17    {
18        return $this->createXMLDataSet(__DIR__.'/fixtures/config.xml');
19    }
20
21    public function test_concatenate_string()
22    {
23        $db = $this->new_dbal();
24
25        $sql = 'SELECT config_name, ' . $db->sql_concatenate('config_name', "'" . $db->sql_escape('append') . "'") . ' AS string
26            FROM phpbb_config';
27        $result = $db->sql_query($sql);
28
29        $db->sql_return_on_error(false);
30
31        $this->assertEquals(array(
32                array(
33                    'config_name'    => 'config1',
34                    'string'        => 'config1append',
35                ),
36                array(
37                    'config_name'    => 'config2',
38                    'string'        => 'config2append',
39                ),
40            ),
41            $db->sql_fetchrowset($result)
42        );
43    }
44
45    public function test_concatenate_statement()
46    {
47        $db = $this->new_dbal();
48
49        $sql = 'SELECT config_name, ' . $db->sql_concatenate('config_name', 'config_value') . ' AS string
50            FROM phpbb_config';
51        $result = $db->sql_query($sql);
52
53        $db->sql_return_on_error(false);
54
55        $this->assertEquals(array(
56                array(
57                    'config_name'    => 'config1',
58                    'string'        => 'config1foo',
59                ),
60                array(
61                    'config_name'    => 'config2',
62                    'string'        => 'config2bar',
63                ),
64            ),
65            $db->sql_fetchrowset($result)
66        );
67    }
68}