diff options
Diffstat (limited to 'ext/pcre/tests/invalid_utf8_offset.phpt')
-rw-r--r-- | ext/pcre/tests/invalid_utf8_offset.phpt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/pcre/tests/invalid_utf8_offset.phpt b/ext/pcre/tests/invalid_utf8_offset.phpt new file mode 100644 index 0000000..50716ca --- /dev/null +++ b/ext/pcre/tests/invalid_utf8_offset.phpt @@ -0,0 +1,35 @@ +--TEST-- +preg_replace() and invalid UTF8 offset +--SKIPIF-- +<?php +if (@preg_match('/./u', '') === false) { + die('skip no utf8 support in PCRE library'); +} +?> +--FILE-- +<?php + +$string = b"\xc3\xa9 uma string utf8 bem formada"; + +var_dump(preg_match(b'~.*~u', $string, $m, 0, 1)); +var_dump($m); +var_dump(preg_last_error() == PREG_BAD_UTF8_OFFSET_ERROR); + +var_dump(preg_match(b'~.*~u', $string, $m, 0, 2)); +var_dump($m); +var_dump(preg_last_error() == PREG_NO_ERROR); + +echo "Done\n"; +?> +--EXPECT-- +bool(false) +array(0) { +} +bool(true) +int(1) +array(1) { + [0]=> + string(28) " uma string utf8 bem formada" +} +bool(true) +Done |