From d026e2bca1d544ca2a3698087e5098199ada0bac Mon Sep 17 00:00:00 2001 From: Gina Peter Banyard Date: Sun, 16 Nov 2025 22:14:15 +0000 Subject: [PATCH] ext/standard/array.c: add tests when extracting negative keys --- .../tests/array/extract_negative_keys.phpt | 31 +++++++++++++++++++ .../tests/array/extract_negative_keys2.phpt | 11 +++++++ 2 files changed, 42 insertions(+) create mode 100644 ext/standard/tests/array/extract_negative_keys.phpt create mode 100644 ext/standard/tests/array/extract_negative_keys2.phpt diff --git a/ext/standard/tests/array/extract_negative_keys.phpt b/ext/standard/tests/array/extract_negative_keys.phpt new file mode 100644 index 00000000000..55fce2a6565 --- /dev/null +++ b/ext/standard/tests/array/extract_negative_keys.phpt @@ -0,0 +1,31 @@ +--TEST-- +extract() with negative keys +--FILE-- + 'hello', 'world', 2 => 'positive', 'check' => 'extracted']; + +function foo(array $a) { + extract($a, EXTR_PREFIX_ALL, 'prefix'); + var_dump(get_defined_vars()); +} + +foo($a); +?> +--EXPECT-- +array(3) { + ["a"]=> + array(4) { + [-5]=> + string(5) "hello" + [-4]=> + string(5) "world" + [2]=> + string(8) "positive" + ["check"]=> + string(9) "extracted" + } + ["prefix_2"]=> + string(8) "positive" + ["prefix_check"]=> + string(9) "extracted" +} diff --git a/ext/standard/tests/array/extract_negative_keys2.phpt b/ext/standard/tests/array/extract_negative_keys2.phpt new file mode 100644 index 00000000000..dd2a1fa7a18 --- /dev/null +++ b/ext/standard/tests/array/extract_negative_keys2.phpt @@ -0,0 +1,11 @@ +--TEST-- +extract() with negative keys +--FILE-- + "foo"]; +var_dump(extract($arr, EXTR_PREFIX_ALL | EXTR_REFS, "prefix")); + +?> +--EXPECT-- +int(0)