Преглед изворни кода

[ZF-9078] Zend_Measure:

- fixed setType on integers with bcmath disabled

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@21329 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas пре 16 година
родитељ
комит
e6ab227412
2 измењених фајлова са 15 додато и 1 уклоњено
  1. 1 1
      library/Zend/Measure/Abstract.php
  2. 14 0
      tests/Zend/Measure/TimeTest.php

+ 1 - 1
library/Zend/Measure/Abstract.php

@@ -288,7 +288,7 @@ abstract class Zend_Measure_Abstract
 
             $slength = strlen($value);
             $length  = 0;
-            for($i = 1; $i <= 25; ++$i) {
+            for($i = 1; $i <= $slength; ++$i) {
                 if ($value[$slength - $i] != '0') {
                     $length = 26 - $i;
                     break;

+ 14 - 0
tests/Zend/Measure/TimeTest.php

@@ -386,4 +386,18 @@ class Zend_Measure_TimeTest extends PHPUnit_Framework_TestCase
         $unit  = $value->getConversionList();
         $this->assertTrue(is_array($unit), 'Array expected');
     }
+
+    /**
+     * @group ZF-9078
+     */
+    public function testSetTypeOnPhpMathWithStrippedValue()
+    {
+        $locale = new Zend_Locale('en_US');
+        $time = new Zend_Measure_Time(0, Zend_Measure_Time::SECOND);
+        $time->setLocale($locale);
+        $time->setType(Zend_Measure_Time::SECOND);
+        $seconds = $time->getValue();
+        $this->assertEquals(0, $seconds);
+        $this->assertEquals(Zend_Measure_Time::SECOND, $time->getType());
+    }
 }