mirror of
https://github.com/php/php-src.git
synced 2026-03-24 16:22:37 +01:00
1. Implementation based on https://github.com/WojciechMula/base64simd 2. Only runtime path is added to reduce the complexity of SIMD variants. 3. Expand test case to cover SIMD implementation. Signed-off-by: Frank Du <frank.du@intel.com>
64 lines
1.6 KiB
PHP
64 lines
1.6 KiB
PHP
--TEST--
|
|
Test base64_encode() function : basic functionality - check algorithm round trips
|
|
--FILE--
|
|
<?php
|
|
/*
|
|
* Test base64_encode with single byte values.
|
|
*/
|
|
|
|
echo "*** Testing base64_encode() : basic functionality ***\n";
|
|
|
|
$values = array(
|
|
"Hello World",
|
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!%^&*(){}[]",
|
|
"\n\t Line with control characters\r\n",
|
|
"\xC1\xC2\xC3\xC4\xC5\xC6",
|
|
"\75\76\77\78\79\80",
|
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%!",
|
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%!\75\76\77\78\79\80",
|
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%!ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%!",
|
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%!ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%!\75\76\77\78\79\80"
|
|
);
|
|
|
|
echo "\n--- Testing base64_encode() with binary string input ---\n";
|
|
|
|
$counter = 1;
|
|
foreach($values as $str) {
|
|
echo "-- Iteration $counter --\n";
|
|
|
|
$enc = base64_encode($str);
|
|
$dec = base64_decode($enc);
|
|
|
|
if ($dec != $str) {
|
|
echo "TEST FAILED\n";
|
|
} else {
|
|
echo "TEST PASSED\n";
|
|
}
|
|
|
|
$counter ++;
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
*** Testing base64_encode() : basic functionality ***
|
|
|
|
--- Testing base64_encode() with binary string input ---
|
|
-- Iteration 1 --
|
|
TEST PASSED
|
|
-- Iteration 2 --
|
|
TEST PASSED
|
|
-- Iteration 3 --
|
|
TEST PASSED
|
|
-- Iteration 4 --
|
|
TEST PASSED
|
|
-- Iteration 5 --
|
|
TEST PASSED
|
|
-- Iteration 6 --
|
|
TEST PASSED
|
|
-- Iteration 7 --
|
|
TEST PASSED
|
|
-- Iteration 8 --
|
|
TEST PASSED
|
|
-- Iteration 9 --
|
|
TEST PASSED
|