From 622be8514014df3dd11a0d0eee990c56a554bcd7 Mon Sep 17 00:00:00 2001 From: Nick Liu Date: Sat, 18 Jan 2020 11:00:18 +0100 Subject: [PATCH] Type checks involving e_formTest - MOD: e107::getTemplate() now accepts blank strings for the plugin name to mean that a core template should be loaded - FIX: e_form::progressBar() now supports input values that already have % at the end - FIX: Null check for $options['list'] in e_form::progressBar() - NEW: Test rounding in e_formTest::testProgressBar() --- e107_handlers/e107_class.php | 2 +- e107_handlers/form_handler.php | 6 +++--- e107_tests/tests/unit/e_formTest.php | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php index f284627cb..6a3e4e208 100755 --- a/e107_handlers/e107_class.php +++ b/e107_handlers/e107_class.php @@ -2821,7 +2821,7 @@ class e107 */ public static function getTemplate($plug_name, $id = null, $key = null, $override = true, $merge = false, $info = false) { - if(null === $plug_name) + if(!$plug_name) { return self::getCoreTemplate($id, $key, $override, $merge, $info); } diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index d80d403e6..08f6bee1a 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -2257,11 +2257,11 @@ class e_form $value = ((int) $score / (int) $denom) * 100; // $value = (int) $score * (int) $multiplier; - $percVal = number_format($value,0).'%'; + $percVal = round(floatval($value)).'%'; } else { - $percVal = number_format($value,0).'%'; + $percVal = round(floatval($value)).'%'; $label = $percVal; } @@ -2597,7 +2597,7 @@ class e_form $id = empty($options['id']) ? $this->name2id($name).'-container' : $options['id']; // return print_a($checked,true); - if($options['list']) + if(isset($options['list']) && $options['list']) { return ""; } diff --git a/e107_tests/tests/unit/e_formTest.php b/e107_tests/tests/unit/e_formTest.php index d0c942c6e..ac5de4a27 100644 --- a/e107_tests/tests/unit/e_formTest.php +++ b/e107_tests/tests/unit/e_formTest.php @@ -366,6 +366,8 @@ class e_formTest extends \Codeception\Test\Unit 1 => array('value' => '4/5', 'expected' => 'width: 80%'), 2 => array('value' => '150/300', 'expected' => 'width: 50%'), 3 => array('value' => '30%', 'expected' => 'width: 30%'), + 4 => array('value' => '30.4%', 'expected' => 'width: 30%'), + 5 => array('value' => '30.5%', 'expected' => 'width: 31%'), ); foreach($tests as $var)