mirror of
https://github.com/php/php-src.git
synced 2025-08-21 01:45:16 +02:00

"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).
42 lines
1.2 KiB
PHP
42 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
|