mirror of
https://github.com/php/php-src.git
synced 2026-04-22 07:28:09 +02:00
226d9dd30a
"pass" is not a real encoding, it just means "don't perform any conversion". Using it as an internal encoding or passing it to any of the mbstring() function will not work (and on master commonly assert).
43 lines
1.2 KiB
PHP
43 lines
1.2 KiB
PHP
--TEST--
|
|
mb_check_encoding() with invalid encodings
|
|
--SKIPIF--
|
|
<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
|
|
--FILE--
|
|
<?php
|
|
|
|
$str = "Normal string";
|
|
$arr = [1234, 12.34, TRUE, FALSE, NULL, $str, 'key'=>$str, $str=>'val'];
|
|
|
|
echo 'Using "BAD" as encoding' . \PHP_EOL;
|
|
try {
|
|
var_dump(mb_check_encoding($str, 'BAD'));
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage() . \PHP_EOL;
|
|
}
|
|
try {
|
|
var_dump(mb_check_encoding($arr, 'BAD'));
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage() . \PHP_EOL;
|
|
}
|
|
|
|
echo 'Using "pass" as encoding' . \PHP_EOL;
|
|
try {
|
|
var_dump(mb_check_encoding($str, 'pass'));
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage() . \PHP_EOL;
|
|
}
|
|
try {
|
|
var_dump(mb_check_encoding($arr, 'pass'));
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage() . \PHP_EOL;
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
Using "BAD" as encoding
|
|
mb_check_encoding(): Argument #2 ($encoding) must be a valid encoding, "BAD" given
|
|
mb_check_encoding(): Argument #2 ($encoding) must be a valid encoding, "BAD" given
|
|
Using "pass" as encoding
|
|
mb_check_encoding(): Argument #2 ($encoding) must be a valid encoding, "pass" given
|
|
mb_check_encoding(): Argument #2 ($encoding) must be a valid encoding, "pass" given
|