From ec7c7a7550bb94d47a9afc14895d2463dec6c243 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 5 Jan 2023 14:09:25 +0000 Subject: [PATCH] Add more tests for http_build_query() Some with unusual types like resource and null A lot more tests for objects --- .../http_build_query_object_basic.phpt | 17 ++++++++++++++ .../http_build_query_object_empty.phpt | 11 ++++++++++ ...tp_build_query_object_just_stringable.phpt | 22 +++++++++++++++++++ ...build_query_object_key_val_stringable.phpt | 20 +++++++++++++++++ .../http_build_query_object_nested.phpt | 20 +++++++++++++++++ .../http_build_query_object_recursif.phpt | 17 ++++++++++++++ .../http_build_query_with_null.phpt | 8 +++++++ .../http_build_query_with_references.phpt | 11 ++++++++++ .../http_build_query_with_resource.phpt | 8 +++++++ 9 files changed, 134 insertions(+) create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_object_basic.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_object_empty.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_object_just_stringable.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_object_key_val_stringable.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_object_nested.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_object_recursif.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_with_null.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_with_references.phpt create mode 100644 ext/standard/tests/http/http_build_query/http_build_query_with_resource.phpt diff --git a/ext/standard/tests/http/http_build_query/http_build_query_object_basic.phpt b/ext/standard/tests/http/http_build_query/http_build_query_object_basic.phpt new file mode 100644 index 00000000000..91bb8fc6229 --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_object_basic.phpt @@ -0,0 +1,17 @@ +--TEST-- +http_build_query() function with object +--FILE-- + +--EXPECT-- +string(12) "public=input" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_object_empty.phpt b/ext/standard/tests/http/http_build_query/http_build_query_object_empty.phpt new file mode 100644 index 00000000000..7aca03df4a6 --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_object_empty.phpt @@ -0,0 +1,11 @@ +--TEST-- +http_build_query() function with empty object +--FILE-- + +--EXPECT-- +string(0) "" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_object_just_stringable.phpt b/ext/standard/tests/http/http_build_query/http_build_query_object_just_stringable.phpt new file mode 100644 index 00000000000..4c65547b81c --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_object_just_stringable.phpt @@ -0,0 +1,22 @@ +--TEST-- +http_build_query() function with object that is just stringable (GH-10229) +--FILE-- + +--EXPECT-- +string(7) "0=hello" +string(0) "" +string(14) "prefix_0=hello" +string(0) "" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_object_key_val_stringable.phpt b/ext/standard/tests/http/http_build_query/http_build_query_object_key_val_stringable.phpt new file mode 100644 index 00000000000..2a738df362a --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_object_key_val_stringable.phpt @@ -0,0 +1,20 @@ +--TEST-- +http_build_query() function with recursif object +--FILE-- + +--EXPECT-- +string(12) "public=input" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_object_nested.phpt b/ext/standard/tests/http/http_build_query/http_build_query_object_nested.phpt new file mode 100644 index 00000000000..125327f0af0 --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_object_nested.phpt @@ -0,0 +1,20 @@ +--TEST-- +http_build_query() function with nested object +--FILE-- +public = $nested; + +// Percent encoded "public[public]=input" +var_dump(http_build_query($o)); +?> +--EXPECT-- +string(24) "public%5Bpublic%5D=input" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_object_recursif.phpt b/ext/standard/tests/http/http_build_query/http_build_query_object_recursif.phpt new file mode 100644 index 00000000000..ec415fc115b --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_object_recursif.phpt @@ -0,0 +1,17 @@ +--TEST-- +http_build_query() function with recursif object +--FILE-- +public = $o; + +var_dump(http_build_query($o)); +?> +--EXPECT-- +string(0) "" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_with_null.phpt b/ext/standard/tests/http/http_build_query/http_build_query_with_null.phpt new file mode 100644 index 00000000000..3bcd1d0a356 --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_with_null.phpt @@ -0,0 +1,8 @@ +--TEST-- +http_build_query() function with null in array +--FILE-- + +--EXPECT-- +string(0) "" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_with_references.phpt b/ext/standard/tests/http/http_build_query/http_build_query_with_references.phpt new file mode 100644 index 00000000000..4638ae4547c --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_with_references.phpt @@ -0,0 +1,11 @@ +--TEST-- +http_build_query() function with reference in array +--FILE-- + +--EXPECT-- +string(7) "0=value" diff --git a/ext/standard/tests/http/http_build_query/http_build_query_with_resource.phpt b/ext/standard/tests/http/http_build_query/http_build_query_with_resource.phpt new file mode 100644 index 00000000000..c8b31064cd2 --- /dev/null +++ b/ext/standard/tests/http/http_build_query/http_build_query_with_resource.phpt @@ -0,0 +1,8 @@ +--TEST-- +http_build_query() function with resource in array +--FILE-- + +--EXPECT-- +string(0) ""