xref: /PHP-8.0/ext/mbstring/tests/bug66964.phpt (revision ae6f45ad)
1--TEST--
2Bug #66964 (mb_convert_variables() cannot detect recursion)
3--SKIPIF--
4<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
5--FILE--
6<?php
7$a[] = &$a;
8var_dump(mb_convert_variables('utf-8', 'auto', $a));
9var_dump(mb_convert_variables('utf-8', 'utf-8', $a));
10
11unset($a);
12$a[] = '日本語テキスト';
13$a[] = '日本語テキスト';
14$a[] = '日本語テキスト';
15$a[] = '日本語テキスト';
16var_dump(mb_convert_variables('utf-8', 'utf-8', $a), $a);
17
18$a[] = &$a;
19var_dump(mb_convert_variables('utf-8', 'utf-8', $a), $a);
20
21?>
22--EXPECTF--
23Warning: mb_convert_variables(): %s on line %d
24bool(false)
25
26Warning: mb_convert_variables(): %s on line %d
27bool(false)
28string(5) "UTF-8"
29array(4) {
30  [0]=>
31  string(21) "日本語テキスト"
32  [1]=>
33  string(21) "日本語テキスト"
34  [2]=>
35  string(21) "日本語テキスト"
36  [3]=>
37  string(21) "日本語テキスト"
38}
39
40Warning: mb_convert_variables(): %s on line %d
41bool(false)
42array(5) {
43  [0]=>
44  string(21) "日本語テキスト"
45  [1]=>
46  string(21) "日本語テキスト"
47  [2]=>
48  string(21) "日本語テキスト"
49  [3]=>
50  string(21) "日本語テキスト"
51  [4]=>
52  *RECURSION*
53}
54