$ct["text/json"]["arguments"]["charset"]
);
-var_dump((string) $ct);
+var_dump((string) $ct,$ct);
- echo "Done\n";
+ ?>
+ DONE
--EXPECTF--
Test
bool(true)
bool(true)
string(10) "iso-8859-1"
string(%d) "text/json;charset=iso-8859-1"
- Done
+object(http\Params)#%d (5) {
+ ["params"]=>
+ array(1) {
+ ["text/json"]=>
+ array(2) {
+ ["value"]=>
+ bool(true)
+ ["arguments"]=>
+ array(1) {
+ ["charset"]=>
+ string(10) "iso-8859-1"
+ }
+ }
+ }
+ ["param_sep"]=>
+ string(1) ","
+ ["arg_sep"]=>
+ string(1) ";"
+ ["val_sep"]=>
+ string(1) "="
+ ["flags"]=>
+ int(0)
+}
+ DONE
--- /dev/null
--- /dev/null
++--TEST--
++header params rfc5987
++--SKIPIF--
++<?php
++include "skipif.inc";
++?>
++--FILE--
++<?php
++echo "Test\n";
++
++$p = new http\Params("attachment; filename*=IsO-8859-1''d%f6ner.pdf");
++var_dump($p->params, (string) $p);
++$p = new http\Params("bar; title*=iso-8859-1'en'%A3%20rates");
++var_dump($p->params, (string) $p);
++$p = new http\Params("bar; title*=UTF-8''%c2%a3%20and%20%e2%82%ac%20rates");
++var_dump($p->params, (string) $p);
++
++?>
++===DONE===
++--EXPECT--
++Test
++array(1) {
++ ["attachment"]=>
++ array(2) {
++ ["value"]=>
++ bool(true)
++ ["arguments"]=>
++ array(1) {
++ ["*rfc5987*"]=>
++ array(1) {
++ ["filename"]=>
++ array(1) {
++ [""]=>
++ string(10) "döner.pdf"
++ }
++ }
++ }
++ }
++}
++string(42) "attachment;filename*=utf-8''d%C3%B6ner.pdf"
++array(1) {
++ ["bar"]=>
++ array(2) {
++ ["value"]=>
++ bool(true)
++ ["arguments"]=>
++ array(1) {
++ ["*rfc5987*"]=>
++ array(1) {
++ ["title"]=>
++ array(1) {
++ ["en"]=>
++ string(8) "£ rates"
++ }
++ }
++ }
++ }
++}
++string(34) "bar;title*=utf-8'en'%C2%A3%20rates"
++array(1) {
++ ["bar"]=>
++ array(2) {
++ ["value"]=>
++ bool(true)
++ ["arguments"]=>
++ array(1) {
++ ["*rfc5987*"]=>
++ array(1) {
++ ["title"]=>
++ array(1) {
++ [""]=>
++ string(16) "£ and € rates"
++ }
++ }
++ }
++ }
++}
++string(50) "bar;title*=utf-8''%C2%A3%20and%20%E2%82%AC%20rates"
++===DONE===
--- /dev/null
--- /dev/null
++--TEST--
++header params rfc5987
++--SKIPIF--
++<?php
++include "skipif.inc";
++?>
++--FILE--
++<?php
++echo "Test\n";
++$u = urlencode("ü");
++$s = urlencode("ß");
++$t = "p1*=utf-8''s$u$s,p2*=utf-8''hei$s;a1*=utf-8''a$s;a2*=utf-8''e$s;a3=no,p3=not";
++$p = new http\Params($t);
++var_dump($p->params);
++var_dump((string)$p === $t, (string)$p, $t);
++?>
++===DONE===
++--EXPECT--
++Test
++array(3) {
++ ["p1"]=>
++ array(2) {
++ ["*rfc5987*"]=>
++ array(1) {
++ [""]=>
++ string(5) "süß"
++ }
++ ["arguments"]=>
++ array(0) {
++ }
++ }
++ ["p2"]=>
++ array(2) {
++ ["*rfc5987*"]=>
++ array(1) {
++ [""]=>
++ string(5) "heiß"
++ }
++ ["arguments"]=>
++ array(2) {
++ ["*rfc5987*"]=>
++ array(2) {
++ ["a1"]=>
++ array(1) {
++ [""]=>
++ string(3) "aß"
++ }
++ ["a2"]=>
++ array(1) {
++ [""]=>
++ string(3) "eß"
++ }
++ }
++ ["a3"]=>
++ string(2) "no"
++ }
++ }
++ ["p3"]=>
++ array(2) {
++ ["value"]=>
++ string(3) "not"
++ ["arguments"]=>
++ array(0) {
++ }
++ }
++}
++bool(true)
++string(96) "p1*=utf-8''s%C3%BC%C3%9F,p2*=utf-8''hei%C3%9F;a1*=utf-8''a%C3%9F;a2*=utf-8''e%C3%9F;a3=no,p3=not"
++string(96) "p1*=utf-8''s%C3%BC%C3%9F,p2*=utf-8''hei%C3%9F;a1*=utf-8''a%C3%9F;a2*=utf-8''e%C3%9F;a3=no,p3=not"
++===DONE===
--- /dev/null
--- /dev/null
++--TEST--
++header params rfc5987 regression
++--SKIPIF--
++<?php
++include "skipif.inc";
++?>
++--FILE--
++<?php
++echo "Test\n";
++$p = new http\Params(["attachment"=>["filename"=>"foo.bar"]]);
++var_dump($p->params);
++var_dump((string)$p);
++?>
++===DONE===
++--EXPECT--
++Test
++array(1) {
++ ["attachment"]=>
++ array(1) {
++ ["filename"]=>
++ string(7) "foo.bar"
++ }
++}
++string(27) "attachment;filename=foo.bar"
++===DONE===