Commit graph

8 commits

Author SHA1 Message Date
Kevin Israel
5957856c46 wfBaseConvert(): Work around PHP Bug #50175
Before php/php-src@834daa455b, PHP's gmp_init() function would try
to autodetect hex and binary numbers even when a base was explicitly
specified[1], so the results for some base-36 numbers having leading
zeros could be incorrect. Work around this bug by trimming off any
leading zeros before calling gmp_init().

[1]: https://bugs.php.net/bug.php?id=50175

Bug: 69249
Change-Id: I5f5458c1a1195f55fa12904c103da6ea7558010a
2014-09-02 16:02:27 -04:00
Max Semenik
d28fd40189 Mark relevant tests with @group GlobalFunctions
Change-Id: I4133ad7e5e042a8c24d4836ae2bf9f1880a56e70
2014-07-20 23:36:10 +00:00
Siebrand Mazeland
437c84adbc Pass phpcs-strict on tests/phpunit/GlobalFunctions/
Change-Id: I2acc99ac96d8c738668fae2ecc9a0cee1b695f00
2014-04-24 11:47:06 +02:00
addshore
4bb09bbca5 @covers for all GlobalFunc tests
Also split 2 tests off into their correct test classes,
this methods are clearly no longer global functions

Change-Id: I482433f3099e72507a766e85d9576ff36e58b9ad
2013-10-24 10:00:55 +00:00
Siebrand Mazeland
791d0b2a98 Update code formatting
Change-Id: I16a9b42651f1cfb1a70dffbb67b7b83dfeb90d03
2013-04-26 14:21:20 +00:00
Timo Tijhof
66cea66a68 phpcs: Naming of GlobalFunctions tests classes.
Code convensions:
 Class names should be UpperCamelCase.

And for PHPUnit:
 Class name should end in 'Test'.
 Class name should match file name.

Also made headers and spacing a bit more consistent.

Change-Id: Id7b6cec7e552240de44386b4759b57c2d37a39d1
2013-02-22 01:01:41 +01:00
Siebrand Mazeland
ac63001d8e Update formatting
1 of n.

Change-Id: I852729f08bbb0c5e39c2db44362ccdc7f59dcc08
2013-02-14 12:22:13 +01:00
Tyler Anthony Romeo
9b9daadc46 Cleaned up and optimized wfBaseConvert();
* Added code to use BCMath or GMP if they are
  loaded, since they are both significantly faster.
  A parameter was added that can be used to force
  usage of a specific engine (mainly for testing).
* Made an array of base digits rather than using
  strpos() every time.
* Used casting instead of intval(), since the latter
  is six times slower.

Also added unit tests for wfBaseConvert as well as
a benchmarking class that measures the difference
between using GMP, BCMath, and pure PHP.

Change-Id: I841717be2b29a0b7fc57a13fde5cc0642cda82df
2012-12-27 00:17:18 -05:00