Browse Source

Sync arguments with NumberHelper::precision and Number::precision

Backport changes from #14216 to 3.x
Mark Story 6 years ago
parent
commit
a29395ed10
2 changed files with 20 additions and 3 deletions
  1. 3 2
      src/View/Helper/NumberHelper.php
  2. 17 1
      tests/TestCase/View/Helper/NumberHelperTest.php

+ 3 - 2
src/View/Helper/NumberHelper.php

@@ -88,13 +88,14 @@ class NumberHelper extends Helper
      *
      * @param float $number A floating point number.
      * @param int $precision The precision of the returned number.
+     * @param array $options Additional options.
      * @return string Formatted float.
      * @see \Cake\I18n\Number::precision()
      * @link https://book.cakephp.org/3/en/views/helpers/number.html#formatting-floating-point-numbers
      */
-    public function precision($number, $precision = 3)
+    public function precision($number, $precision = 3, array $options = [])
     {
-        return $this->_engine->precision($number, $precision);
+        return $this->_engine->precision($number, $precision, $options);
     }
 
     /**

+ 17 - 1
tests/TestCase/View/Helper/NumberHelperTest.php

@@ -18,9 +18,11 @@ namespace Cake\Test\TestCase\View\Helper;
 
 use Cake\Core\Configure;
 use Cake\Core\Plugin;
+use Cake\I18n\Number;
 use Cake\TestSuite\TestCase;
 use Cake\View\Helper\NumberHelper;
 use Cake\View\View;
+use ReflectionMethod;
 
 /**
  * NumberHelperTestObject class
@@ -92,7 +94,6 @@ class NumberHelperTest extends TestCase
             ['toPercentage'],
             ['currency'],
             ['format'],
-            ['addFormat'],
             ['formatDelta'],
             ['defaultCurrency'],
             ['ordinal'],
@@ -119,6 +120,21 @@ class NumberHelperTest extends TestCase
     }
 
     /**
+     * Test that number of argument of helper's proxy methods matches
+     * corresponding method of Number class.
+     *
+     * @dataProvider methodProvider
+     * @return void
+     */
+    public function testParameterCountMatch($method)
+    {
+        $numberMethod = new ReflectionMethod(Number::class, $method);
+        $helperMethod = new ReflectionMethod(NumberHelper::class, $method);
+
+        $this->assertSame($numberMethod->getNumberOfParameters(), $helperMethod->getNumberOfParameters());
+    }
+
+    /**
      * test engine override
      *
      * @return void