1
0
mirror of https://github.com/php/php-src.git synced 2026-04-11 18:13:00 +02:00
Files
archived-php-src/ext/mbstring/tests/mb_strpos_invalid_offset.phpt
2020-01-24 23:59:22 +01:00

94 lines
2.0 KiB
PHP

--TEST--
mb_strpos() with invalid offsets
--SKIPIF--
<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
--FILE--
<?php
ini_set('include_path','.');
include_once('common.inc');
mb_internal_encoding('UTF-8') or print("mb_internal_encoding() failed\n");
// Test string
$string = '0123この文字列は日本語です。UTF-8を使っています。0123日本語は面倒臭い。';
$slen = mb_strlen($string);
echo "String len: $slen\n";
print ("== INVALID OFFSET ==\n");
try {
var_dump( mb_strpos($string, '日本語', 44));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump( mb_strpos($string, '日本語', 50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump( mb_strpos($string, '0', 50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_strpos($string, 3, 50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_strpos($string, 0, 50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_strpos($string, '日本語', -50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_strpos($string, '0', -50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_strpos($string, 3, -50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_strpos($string, 0, -50));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_strpos($string, 0, -44));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
?>
--EXPECT--
String len: 42
== INVALID OFFSET ==
Offset not contained in string
Offset not contained in string
Offset not contained in string
Offset not contained in string
Offset not contained in string
Offset not contained in string
Offset not contained in string
Offset not contained in string
Offset not contained in string
Offset not contained in string