diff options
author | Nils Adermann <naderman@naderman.de> | 2014-02-26 11:49:32 +0100 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2014-02-26 11:49:32 +0100 |
commit | f99cce0f440ad3d0176d6317092707383bfd456c (patch) | |
tree | 030fe83a623390e07017775cd4925dc98e673795 | |
parent | 4b7932e8b321771c1a5e108c229512f64032624b (diff) | |
parent | ae98810ddcfb3aed870bd9392e1882083058288e (diff) | |
download | forums-f99cce0f440ad3d0176d6317092707383bfd456c.tar forums-f99cce0f440ad3d0176d6317092707383bfd456c.tar.gz forums-f99cce0f440ad3d0176d6317092707383bfd456c.tar.bz2 forums-f99cce0f440ad3d0176d6317092707383bfd456c.tar.xz forums-f99cce0f440ad3d0176d6317092707383bfd456c.zip |
Merge pull request #2060 from nickvergessen/ticket/12205-develop
[ticket/12205-Develop] Do not display 0 for empty integers when show_novalue is off
-rw-r--r-- | phpBB/phpbb/profilefields/type/type_int.php | 2 | ||||
-rw-r--r-- | tests/profile/get_profile_value_test.php | 42 |
2 files changed, 43 insertions, 1 deletions
diff --git a/phpBB/phpbb/profilefields/type/type_int.php b/phpBB/phpbb/profilefields/type/type_int.php index b89faca018..267f522d5d 100644 --- a/phpBB/phpbb/profilefields/type/type_int.php +++ b/phpBB/phpbb/profilefields/type/type_int.php @@ -141,7 +141,7 @@ class type_int extends type_base */ public function get_profile_value($field_value, $field_data) { - if ($field_value === '' && !$field_data['field_show_novalue']) + if (($field_value === '' || $field_value === null) && !$field_data['field_show_novalue']) { return null; } diff --git a/tests/profile/get_profile_value_test.php b/tests/profile/get_profile_value_test.php new file mode 100644 index 0000000000..e867455a03 --- /dev/null +++ b/tests/profile/get_profile_value_test.php @@ -0,0 +1,42 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2014 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +class phpbb_profile_get_profile_value_test extends phpbb_test_case +{ + static public function get_profile_value_int_data() + { + return array( + array('\phpbb\profilefields\type\type_int', '10', true, 10), + array('\phpbb\profilefields\type\type_int', '0', true, 0), + array('\phpbb\profilefields\type\type_int', '', true, 0), + array('\phpbb\profilefields\type\type_int', null, true, 0), + array('\phpbb\profilefields\type\type_int', '10', false, 10), + array('\phpbb\profilefields\type\type_int', '0', false, 0), + array('\phpbb\profilefields\type\type_int', '', false, null), + array('\phpbb\profilefields\type\type_int', null, false, null), + ); + } + + /** + * @dataProvider get_profile_value_int_data + */ + public function test_get_profile_value_int($type, $value, $show_novalue, $expected) + { + $cp = new $type( + $this->getMock('\phpbb\request\request'), + $this->getMock('\phpbb\template\template'), + $this->getMock('\phpbb\user') + ); + + $this->assertSame($expected, $cp->get_profile_value($value, array( + 'field_type' => $type, + 'field_show_novalue' => $show_novalue, + ))); + } +} |