mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
Merge branch 'ticket/nickvergessen/9949' into develop-olympus
* ticket/nickvergessen/9949: [ticket/9949] Unit tests for user::lang() [ticket/9949] $user->lang() uses last int-value to get the key not first
This commit is contained in:
commit
df78a3a62d
2 changed files with 59 additions and 0 deletions
|
@ -1966,6 +1966,7 @@ class user extends session
|
||||||
|
|
||||||
$key_found = $num;
|
$key_found = $num;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
58
tests/user/lang_test.php
Normal file
58
tests/user/lang_test.php
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package testing
|
||||||
|
* @copyright (c) 2011 phpBB Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once dirname(__FILE__) . '/../../phpBB/includes/session.php';
|
||||||
|
|
||||||
|
class phpbb_user_lang_test extends phpbb_test_case
|
||||||
|
{
|
||||||
|
public function test_user_lang_sprintf()
|
||||||
|
{
|
||||||
|
$user = new user;
|
||||||
|
$user->lang = array(
|
||||||
|
'FOO' => 'BAR',
|
||||||
|
'BARZ' => 'PENG',
|
||||||
|
'EMPTY' => '',
|
||||||
|
'ZERO' => '0',
|
||||||
|
'STR' => '%d %s, %d topics',
|
||||||
|
'STR2' => '%d foos',
|
||||||
|
'ARRY' => array(
|
||||||
|
0 => 'No posts', // 0
|
||||||
|
1 => '1 post', // 1
|
||||||
|
2 => '%d posts', // 2+
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
// No param
|
||||||
|
$this->assertEquals($user->lang('FOO'), 'BAR');
|
||||||
|
$this->assertEquals($user->lang('EMPTY'), '');
|
||||||
|
$this->assertEquals($user->lang('ZERO'), '0');
|
||||||
|
|
||||||
|
// Invalid index
|
||||||
|
$this->assertEquals($user->lang('VOID'), 'VOID');
|
||||||
|
|
||||||
|
// Unnecessary param
|
||||||
|
$this->assertEquals($user->lang('FOO', 2), 'BAR');
|
||||||
|
$this->assertEquals($user->lang('FOO', 2, 3), 'BAR');
|
||||||
|
$this->assertEquals($user->lang('FOO', 2, 3, 'BARZ'), 'BAR');
|
||||||
|
|
||||||
|
// String
|
||||||
|
$this->assertEquals($user->lang('STR', 24, 'x', 42), '24 x, 42 topics');
|
||||||
|
$this->assertEquals($user->lang('STR2', 64), '64 foos');
|
||||||
|
|
||||||
|
// Array
|
||||||
|
$this->assertEquals($user->lang('ARRY', 0), 'No posts');
|
||||||
|
$this->assertEquals($user->lang('ARRY', 1), '1 post');
|
||||||
|
$this->assertEquals($user->lang('ARRY', 2), '2 posts');
|
||||||
|
$this->assertEquals($user->lang('ARRY', 123), '123 posts');
|
||||||
|
|
||||||
|
// Bug PHPBB3-9949
|
||||||
|
$this->assertEquals($user->lang('ARRY', 1, 2), '1 post');
|
||||||
|
$this->assertEquals($user->lang('ARRY', 1, 's', 2), '1 post');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue