예제 #1
0
 /**
  * If PHP is compiled in 64bit mode, the returned value for a 64bit integer are 32bit integer numbers.
  */
 public function testParseTypeInt64With64BitIntegerInPhp64Bit()
 {
     IntlTestHelper::require64Bit($this);
     $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL);
     $parsedValue = $formatter->parse('2,147,483,648', NumberFormatter::TYPE_INT64);
     $this->assertInternalType('integer', $parsedValue);
     // Bug #59597 was fixed on PHP 5.3.14 and 5.4.4
     // A 32 bit integer was being generated instead of a 64 bit integer
     if (version_compare(PHP_VERSION, '5.3.14', '<') || version_compare(PHP_VERSION, '5.4.0', '>=') && version_compare(PHP_VERSION, '5.4.4', '<')) {
         $this->assertEquals(-2147483648, $parsedValue, '->parse() TYPE_INT64 does not use true 64 bit integers, using only the 32 bit range (PHP < 5.3.14 and PHP < 5.4.4).');
     } else {
         $this->assertEquals(2147483648, $parsedValue, '->parse() TYPE_INT64 uses true 64 bit integers (PHP >= 5.3.14 and PHP >= 5.4.4).');
     }
     $parsedValue = $formatter->parse('-2,147,483,649', NumberFormatter::TYPE_INT64);
     $this->assertInternalType('integer', $parsedValue);
     // Bug #59597 was fixed on PHP 5.3.14 and 5.4.4
     // A 32 bit integer was being generated instead of a 64 bit integer
     if (version_compare(PHP_VERSION, '5.3.14', '<') || version_compare(PHP_VERSION, '5.4.0', '>=') && version_compare(PHP_VERSION, '5.4.4', '<')) {
         $this->assertEquals(2147483647, $parsedValue, '->parse() TYPE_INT64 does not use true 64 bit integers, using only the 32 bit range  (PHP < 5.3.14 and PHP < 5.4.4).');
     } else {
         $this->assertEquals(-2147483649, $parsedValue, '->parse() TYPE_INT64 uses true 64 bit integers (PHP >= 5.3.14 and PHP >= 5.4.4).');
     }
 }
예제 #2
0
 /**
  * If PHP is compiled in 64bit mode, the returned value for a 64bit integer are 32bit integer numbers.
  */
 public function testParseTypeInt64With64BitIntegerInPhp64Bit()
 {
     IntlTestHelper::require64Bit($this);
     $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL);
     $parsedValue = $formatter->parse('2,147,483,648', NumberFormatter::TYPE_INT64);
     $this->assertInternalType('integer', $parsedValue);
     $this->assertEquals(2147483648, $parsedValue, '->parse() TYPE_INT64 uses true 64 bit integers (PHP >= 5.3.14 and PHP >= 5.4.4).');
     $parsedValue = $formatter->parse('-2,147,483,649', NumberFormatter::TYPE_INT64);
     $this->assertInternalType('integer', $parsedValue);
     $this->assertEquals(-2147483649, $parsedValue, '->parse() TYPE_INT64 uses true 64 bit integers (PHP >= 5.3.14 and PHP >= 5.4.4).');
 }