diff options
author | Andreas Fischer <bantu@phpbb.com> | 2011-02-07 16:29:53 +0100 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2011-02-07 16:29:53 +0100 |
commit | 3c04e6db97bb3de860aa42062459f0f44487c557 (patch) | |
tree | c9e1f93c0a61b4bcacb2142c861a09d5dc728540 /tests/user | |
parent | 92f99c97f41cd090743b4ba4e6048bf6b948115b (diff) | |
download | forums-3c04e6db97bb3de860aa42062459f0f44487c557.tar forums-3c04e6db97bb3de860aa42062459f0f44487c557.tar.gz forums-3c04e6db97bb3de860aa42062459f0f44487c557.tar.bz2 forums-3c04e6db97bb3de860aa42062459f0f44487c557.tar.xz forums-3c04e6db97bb3de860aa42062459f0f44487c557.zip |
[ticket/9949] Unit tests for user::lang()
PHPBB3-9949
Diffstat (limited to 'tests/user')
-rw-r--r-- | tests/user/lang_test.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/user/lang_test.php b/tests/user/lang_test.php new file mode 100644 index 0000000000..6c60583a7b --- /dev/null +++ b/tests/user/lang_test.php @@ -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'); + } +} |