diff options
-rw-r--r-- | src/tests/HTTP_tests.html | 601 |
1 files changed, 601 insertions, 0 deletions
diff --git a/src/tests/HTTP_tests.html b/src/tests/HTTP_tests.html new file mode 100644 index 00000000..7a5ac00d --- /dev/null +++ b/src/tests/HTTP_tests.html @@ -0,0 +1,601 @@ +<html> + +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<title>Test Cases for HTTP Content-Disposition header and RFC 2231/2047 Encoding</title> + +<style type="text/css"> +a.plain { + color: black; + text-decoration: none; +} +body { + color: black; + font-family: verdana, helvetica, arial, sans-serif; + font-size: 10pt; + margin-left: 2em; +} +h1 { + font-size: 18pt; +} +h2 { + font-size: 14pt; +} +h3 { + font-size: 12pt; +} +h4 { + font-size: 10pt; +} +pre { + border-style: dotted; + border-width: 1px; + background-color: #f0f0f0; +} +pre.invalid { + border-style: dotted; + border-width: 1px; + background-color: #ff8080; +} +table { + font-size: 9pt; +} +table.aside { + float: right; + margin: 4px; + border-style: dotted; + border-width: 1px; + background-color: #f0f0f0; +} +q { + font-style: italic; +} +th { + text-align: right; + vertical-align: top; +} +h2, h3, h4 { + clear: both; +} +.fail { + background-color: #ffd0d0; +} +.warn { + background-color: #ffff80; +} +.pass { + background-color: #d0ffd0; +} +.unsupported { + background-color: #e0e0e0; +} + +</style> + +</head> + +<body> + +<h1>Test Cases for HTTP Content-Disposition header and RFC 2231/2047 Encoding</h1> + + +<h2>Test Cases</h2><div id="c-d-inline"><h3><a href="#c-d-inline" class="plain">Content-Disposition: Disposition-Type Inline</a></h3> + <p> + Various tests relating to the "inline" disposition type, see + <a href="http://greenbytes.de/tech/webdav/rfc2183.html#rfc.section.2.1">Section 2.1 of RFC 2183</a>. + </p> + <div id="inlonly"><h4><a href="#inlonly" class="plain">inlonly</a> + [<a href="http://greenbytes.de/tech/tc2231/inlonly.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>inline</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p>'inline' only</p><p><em>This should be equivalent to not including the header at all.</em></p></div><div id="inlwithasciifilename"><h4><a href="#inlwithasciifilename" class="plain">inlwithasciifilename</a> + [<a href="http://greenbytes.de/tech/tc2231/inlwithasciifilename.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>inline; filename="<b>foo.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass + (uses the filename in subsequent 'save' operation) + </td></tr><tr class="pass"><td>MSIE8</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Op10</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Saf4</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Konq</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Chrome</td><td>pass + (filename information not used) + </td></tr></tbody></table><p> + 'inline', specifying a filename of <code>foo.html</code> + </p><p><em> + Some UAs use this filename in a subsequent "save" operation. + </em></p></div><div id="inlwithasciifilenamepdf"><h4><a href="#inlwithasciifilenamepdf" class="plain">inlwithasciifilenamepdf</a> + [<a href="http://greenbytes.de/tech/tc2231/inlwithasciifilenamepdf.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>inline; filename="<b>foo.pdf</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>MSIE8</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Op10</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Saf4</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Konq</td><td>pass + (filename information not used) + </td></tr><tr class="pass"><td>Chrome</td><td>pass + (filename information not used) + </td></tr></tbody></table><p> + 'inline', specifying a filename of <code>foo.pdf</code> + </p><p><em> + Some UAs use this filename in a subsequent "save" operation. + This variation of the test checks whether whatever handles PDF display + receives the filename information, and acts upon it + (this was tested with the latest Acrobat Reader plugin). + </em></p></div></div><div id="c-d-attachment"><h3><a href="#c-d-attachment" class="plain">Content-Disposition: Disposition-Type Attachment</a></h3> + <p> + Various tests relating to the "attchment" disposition type, see + <a href="http://greenbytes.de/tech/webdav/rfc2183.html#rfc.section.2.2">Section 2.2 of RFC 2183</a>. + </p> + <div id="attonly"><h4><a href="#attonly" class="plain">attonly</a> + [<a href="http://greenbytes.de/tech/tc2231/attonly.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p>'attachment' only</p><p><em>UA should offer to download the resource.</em></p></div><div id="attonlyucase"><h4><a href="#attonlyucase" class="plain">attonlyucase</a> + [<a href="http://greenbytes.de/tech/tc2231/attonlyucase.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>ATTACHMENT</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="fail"><td>Konq</td><td>fail</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p>'ATTACHMENT' only</p><p><em>UA should offer to download the resource.</em></p></div><div id="attwithasciifilename"><h4><a href="#attwithasciifilename" class="plain">attwithasciifilename</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithasciifilename.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename="<b>foo.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo.html</code> + </p><p><em>UA should offer to download the resource as "foo.html".</em></p></div><div id="attwithasciifnescapedchar"><h4><a href="#attwithasciifnescapedchar" class="plain">attwithasciifnescapedchar</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithasciifnescapedchar.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename="<b>f\oo.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (apparently does not treat the backslash as escape character, replaces it with '_') + </td></tr><tr class="fail"><td>MSIE8</td><td>fail + (apparently does not treat the backslash as escape character, replaces it with '_') + </td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="fail"><td>Saf4</td><td>fail + (apparently does not treat the backslash as escape character, replaces it with '-') + </td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="fail"><td>Chrome</td><td>fail + (saves "oo.html" (what's going on here?)) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>f\oo.html</code> (the first 'o' being escaped) + </p><p><em>UA should offer to download the resource as "foo.html".</em></p></div><div id="attwithfilenameandextparam"><h4><a href="#attwithfilenameandextparam" class="plain">attwithfilenameandextparam</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfilenameandextparam.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; foo="bar"; filename="<b>foo.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo.html</code> + and an extension parameter "foo" which should be ignored + (see <a href="http://greenbytes.de/tech/webdav/rfc2183.html#rfc.section.2.8">Section 2.8 of RFC 2183</a>.). + </p><p><em>UA should offer to download the resource as "foo.html".</em></p></div><div id="attwithasciifilenameucase"><h4><a href="#attwithasciifilenameucase" class="plain">attwithasciifilenameucase</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithasciifilenameucase.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; FILENAME="<b>foo.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="fail"><td>Konq</td><td>fail + (filename parameter is ignored) + </td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo.html</code> + </p><p><em>UA should offer to download the resource as "foo.html".</em></p></div><div id="attwithasciifilenamenq"><h4><a href="#attwithasciifilenamenq" class="plain">attwithasciifilenamenq</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithasciifilenamenq.asis">TEST</a>] + </h4><pre class="invalid"><b>Content-Disposition: </b>attachment; filename=<b>foo.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="warn"><td>FF3</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>MSIE8</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Op10</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Saf4</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Konq</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Chrome</td><td>warn + (accepts the unquoted value) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo.html</code>, but missing + the quotes. + </p><p><em>This is invalid according to <a href="http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.19.5.1">Section 19.5.1 of RFC2616</a>, so UAs should + ignore it.</em></p></div><div id="attwithisofnplain"><h4><a href="#attwithisofnplain" class="plain">attwithisofnplain</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithisofnplain.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename="<b>foo-ä.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using plain ISO-8859-1 + </p><p><em>UA should offer to download the resource as "foo-ä.html".</em></p></div><div id="attwithutf8fnplain"><h4><a href="#attwithutf8fnplain" class="plain">attwithutf8fnplain</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithutf8fnplain.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename="<b>foo-ä.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (decodes as UTF-8) + </td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="fail"><td>Chrome</td><td>fail + (decodes as UTF-8) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, + which happens to be <code>foo-ä.html</code> using UTF-8 encoding. + </p><p><em>UA should offer to download the resource as "foo-ä.html". + Displaying "foo-ä.html" instead indicates that the UA tried to be smart by detecting + something that happens to look like UTF-8.</em></p></div><div id="attwithfnrawpctenca"><h4><a href="#attwithfnrawpctenca" class="plain">attwithfnrawpctenca</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfnrawpctenca.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename="<b>foo-%41.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="fail"><td>MSIE8</td><td>fail + (displays "foo-A.html") + </td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="fail"><td>Chrome</td><td>fail + (displays "foo-A.html" (see <a href="http://code.google.com/p/chromium/issues/detail?id=118">Chrome Issue 118</a>)) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-%41.html</code> + </p><p><em>UA should offer to download the resource as "foo-%41.html". + Displaying "foo-A.html" instead would indicate that the UA has attempted + to percent-decode the parameter. + </em></p></div><div id="attwithfnrawpctenclong"><h4><a href="#attwithfnrawpctenclong" class="plain">attwithfnrawpctenclong</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfnrawpctenclong.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename="<b>foo-%c3%a4-%e2%82%ac.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="fail"><td>MSIE8</td><td>fail + (displays "foo-ä-€.html") + </td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="fail"><td>Chrome</td><td>fail + (displays "foo-ä-€.html" (see <a href="http://code.google.com/p/chromium/issues/detail?id=118">Chrome Issue 118</a>)) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-%c3%a4-%e2%82%ac.html</code>, using raw percent encoded UTF-8 + to represent <code>foo-ä-€.html</code> + </p><p><em>UA should offer to download the resource as "foo-%c3%a4-%e2%82%ac.html". + Displaying "foo-ä-€.html" instead would indicate that the UA has attempted + to percent-decode the parameter (using UTF-8). Displaying something else + would indicate that the UA tried to percent-decode, but used a different encoding. + </em></p></div><div id="attwithasciifilenamews1"><h4><a href="#attwithasciifilenamews1" class="plain">attwithasciifilenamews1</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithasciifilenamews1.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename ="<b>foo.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo.html</code>, with one + blank space <em>before</em> the equals character. + </p><p><em>UA should offer to download the resource as "foo.html".</em></p></div><div id="attwithasciifilenamews2"><h4><a href="#attwithasciifilenamews2" class="plain">attwithasciifilenamews2</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithasciifilenamews2.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename= "<b>foo.html</b>"</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="pass"><td>MSIE8</td><td>pass</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="pass"><td>Saf4</td><td>pass</td></tr><tr class="pass"><td>Konq</td><td>pass</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo.html</code>, with one + blank space <em>after</em> the equals character. + </p><p><em>UA should offer to download the resource as "foo.html".</em></p></div><div id="attfnbrokentoken"><h4><a href="#attfnbrokentoken" class="plain">attfnbrokentoken</a> + [<a href="http://greenbytes.de/tech/tc2231/attfnbrokentoken.asis">TEST</a>] + </h4><pre class="invalid"><b>Content-Disposition: </b>attachment; filename=<b>foo[1](2).html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="warn"><td>FF3</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>MSIE8</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Op10</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Saf4</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Konq</td><td>warn + (accepts the unquoted value) + </td></tr><tr class="warn"><td>Chrome</td><td>warn + (accepts the unquoted value) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo[1](2).html</code>, but missing + the quotes. Also, "[", "]", "(" and ")" are not allowed in the HTTP <a href="http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-latest.html#rfc.section.1.2.2">token</a> + production. + </p><p><em>This is invalid according to <a href="http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.19.5.1">Section 19.5.1 of RFC2616</a>, + so UAs should ignore it.</em></p></div></div><div id="c-d-parms"><h3><a href="#c-d-parms" class="plain">Content-Disposition: Additional Parameters</a></h3> + <p> + Various tests relating to the additional parameters defined in + <a href="http://greenbytes.de/tech/webdav/rfc2183.html#rfc.section.2">Section 2 of RFC 2183</a>. + </p> + <div id="attcdate"><h4><a href="#attcdate" class="plain">attcdate</a> + [<a href="http://greenbytes.de/tech/tc2231/attcdate.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; <b>creation-date="Wed, 12 Feb 1997 16:29:51 -0500"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="unsupported"><td>FF3</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Op10</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Konq</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported + (seems to ignore the parameter) + </td></tr></tbody></table><p>'attachment', plus creation-date (see <a href="http://greenbytes.de/tech/webdav/rfc2183.html#rfc.section.2.4">Section 2.4 of RFC 2183</a>)</p><p><em>UA should offer to download the resource. When doing so, + the creation date should be set to 12 Feb 1997.</em></p></div><div id="attmdate"><h4><a href="#attmdate" class="plain">attmdate</a> + [<a href="http://greenbytes.de/tech/tc2231/attmdate.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; <b>modification-date="Wed, 12 Feb 1997 16:29:51 -0500"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="unsupported"><td>FF3</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Op10</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Konq</td><td>unsupported + (seems to ignore the parameter) + </td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported + (seems to ignore the parameter) + </td></tr></tbody></table><p>'attachment', plus modification-date (see <a href="http://greenbytes.de/tech/webdav/rfc2183.html#rfc.section.2.5">Section 2.5 of RFC 2183</a>)</p><p><em>UA should offer to download the resource. When doing so, + the modification date should be set to 12 Feb 1997.</em></p></div></div><div id="c-d-extension"><h3><a href="#c-d-extension" class="plain">Content-Disposition: Disposition-Type Extension</a></h3> + <p> + A test checking behavior for disposition type extensions, + which should be treated as "attachment", see + <a href="http://greenbytes.de/tech/webdav/rfc2183.html#rfc.section.2.8">Section 2.8 of RFC 2183</a>. + </p> + <div id="dispext"><h4><a href="#dispext" class="plain">dispext</a> + [<a href="http://greenbytes.de/tech/tc2231/dispext.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>foobar</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="fail (does not treat it as 'attachment')"><td>MSIE8</td><td>fail (does not treat it as 'attachment')</td></tr><tr class="fail (does not treat it as 'attachment')"><td>Op10</td><td>fail (does not treat it as 'attachment')</td></tr><tr class="fail (does not treat it as 'attachment')"><td>Saf4</td><td>fail (does not treat it as 'attachment')</td></tr><tr class="fail (does not treat it as 'attachment')"><td>Konq</td><td>fail (does not treat it as 'attachment')</td></tr><tr class="pass"><td>Chrome</td><td>pass</td></tr></tbody></table><p>'foobar' only</p><p><em>This should be equivalent to using "attachment".</em></p></div></div><div id="encoding-2231-char"><h3><a href="#encoding-2231-char" class="plain">RFC2231 Encoding: Character Sets</a></h3> + <p> + Various tests using the parameter value encoding defined + in <a href="http://greenbytes.de/tech/webdav/rfc2231.html#rfc.section.4">Section 4 of RFC 2231</a>. + </p> + <div id="attwithisofn2231iso"><h4><a href="#attwithisofn2231iso" class="plain">attwithisofn2231iso</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithisofn2231iso.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*=<b>iso-8859-1''foo-%E4.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using RFC2231 encoded ISO-8859-1 + </p><p><em>UA should offer to download the resource as "foo-ä.html". + </em></p></div><div id="attwithfn2231utf8"><h4><a href="#attwithfn2231utf8" class="plain">attwithfn2231utf8</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231utf8.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*=<b>UTF-8''foo-%c3%a4-%e2%82%ac.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä-€.html</code>, using RFC2231 encoded UTF-8 + </p><p><em>UA should offer to download the resource as "foo-ä-€.html". + </em></p></div><div id="attwithfn2231noc"><h4><a href="#attwithfn2231noc" class="plain">attwithfn2231noc</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231noc.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*=<b>''foo-%c3%a4-%e2%82%ac.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="warn"><td>FF3</td><td>warn + (decodes as UTF-8) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="warn"><td>Op10</td><td>warn + (decodes as 8bit encoding (ISO-8859-1?)) + </td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + Behavior is undefined in RFC 2231, the charset part is missing, although UTF-8 was used. + </p></div><div id="attwithfn2231utf8comp"><h4><a href="#attwithfn2231utf8comp" class="plain">attwithfn2231utf8comp</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231utf8comp.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*=<b>UTF-8''foo-a%cc%88.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="warn"><td>Op10</td><td>warn + (displays "foo-ä.html") + </td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using RFC2231 encoded UTF-8, but + choosing the decomposed form (lowercase a plus COMBINING DIAERESIS) -- + on a Windows target system, this should be translated to the preferred + Unicode normal form (composed). + </p><p><em>UA should offer to download the resource as "foo-ä.html". + </em></p></div><div id="attwithfn2231utf8-bad"><h4><a href="#attwithfn2231utf8-bad" class="plain">attwithfn2231utf8-bad</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231utf8-bad.asis">TEST</a>] + </h4><pre class="invalid"><b>Content-Disposition: </b>attachment; filename*=<b>iso-8859-1''foo-%c3%a4-%e2%82%ac.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (falls back to UTF-8) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="warn"><td>Op10</td><td>warn + (displays the raw octet sequence as if it was ISO-8859-1 (which is internally + treated as windows-1252, which <em>does</em> allow %82)) + </td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä-€.html</code>, using RFC2231 encoded UTF-8, but declaring ISO-8859-1 + </p><p><em> + The octet %82 does not represent a valid ISO-8859-1 code point, so + the UA should really ignore the parameter. + </em></p></div><div id="attwithfn2231ws1"><h4><a href="#attwithfn2231ws1" class="plain">attwithfn2231ws1</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231ws1.asis">TEST</a>] + </h4><pre class="invalid"><b>Content-Disposition: </b>attachment; filename<b> *=</b>UTF-8''foo-%c3%a4.html</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (displays garbage) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using RFC2231 encoded UTF-8, with whitespace before "*=" + </p><p><em> + The parameter is invalid, thus should be ignored. + </em></p></div><div id="attwithfn2231ws2"><h4><a href="#attwithfn2231ws2" class="plain">attwithfn2231ws2</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231ws2.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename<b>*= </b>UTF-8''foo-%c3%a4.html</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using RFC2231 encoded UTF-8, with whitespace after "*=" + </p><p><em> + UA should offer to download the resource as "foo-ä.html". + </em></p></div><div id="attwithfn2231ws3"><h4><a href="#attwithfn2231ws3" class="plain">attwithfn2231ws3</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231ws3.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename<b>* =</b>UTF-8''foo-%c3%a4.html</pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using RFC2231 encoded UTF-8, with whitespace inside "* =" + </p><p><em> + UA should offer to download the resource as "foo-ä.html". + </em></p></div><div id="attwithfn2231quot"><h4><a href="#attwithfn2231quot" class="plain">attwithfn2231quot</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231quot.asis">TEST</a>] + </h4><pre class="invalid"><b>Content-Disposition: </b>attachment; filename*=<b>"</b>UTF-8''foo-%c3%a4.html<b>"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (tries to be helpful by removing the quotes) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using RFC2231 encoded UTF-8, with double quotes + around the parameter value. + </p><p><em> + The parameter is invalid, thus should be ignored. + </em></p></div><div id="attwithfn2231encmissing"><h4><a href="#attwithfn2231encmissing" class="plain">attwithfn2231encmissing</a> + [<a href="http://greenbytes.de/tech/tc2231/attwithfn2231encmissing.asis">TEST</a>] + </h4><pre class="invalid"><b>Content-Disposition: </b>attachment; filename*=<b>''foo-%c3%a4.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (sniffs the encoding as UTF-8) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="fail"><td>Op10</td><td>fail + (assumes a default of ISO-8859-1) + </td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using RFC2231 encoded UTF-8, but + leaving out the charset field. + </p><p><em> + The parameter is invalid, thus should be ignored. + </em></p></div></div><div id="encoding-2231-cont"><h3><a href="#encoding-2231-cont" class="plain">RFC2231 Encoding: Continuations</a></h3> + <p> + Various tests using the parameter value continuation efined + in <a href="http://greenbytes.de/tech/webdav/rfc2231.html#rfc.section.3">Section 3 of RFC 2231</a>. + </p> + <div id="attfncont"><h4><a href="#attfncont" class="plain">attfncont</a> + [<a href="http://greenbytes.de/tech/tc2231/attfncont.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*0=<b>"foo."</b>; filename*1=<b>"html"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo.html</code>, using RFC2231-style parameter continuations. + </p><p><em> + UA should offer to download the resource as "foo.html". + </em></p></div><div id="attfncontenc"><h4><a href="#attfncontenc" class="plain">attfncontenc</a> + [<a href="http://greenbytes.de/tech/tc2231/attfncontenc.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*0*=<b>UTF-8''foo-%c3%a4</b>; filename*1=<b>".html"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ä.html</code>, using both RFC2231-style parameter continuations + and UTF-8 encoding. + </p><p><em> + UA should offer to download the resource as "foo-ä.html". + </em></p></div><div id="attfncontlz"><h4><a href="#attfncontlz" class="plain">attfncontlz</a> + [<a href="http://greenbytes.de/tech/tc2231/attfncontlz.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*0=<b>"foo"</b>; filename*01=<b>"bar"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="warn"><td>FF3</td><td>warn + (accepts leading zeros) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="warn"><td>Op10</td><td>warn + (accepts leading zeros) + </td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo</code> (the parameter filename*01 should be ignored because of the leading zero) + </p><p><em> + UA should offer to download the resource as "foo". + </em></p></div><div id="attfncontnc"><h4><a href="#attfncontnc" class="plain">attfncontnc</a> + [<a href="http://greenbytes.de/tech/tc2231/attfncontnc.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*0=<b>"foo"</b>; filename*2=<b>"bar"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="warn"><td>FF3</td><td>warn + (accepts gaps) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo</code> (the parameter filename*2 because there's no filename*1 parameter) + </p><p><em> + UA should offer to download the resource as "foo". + </em></p></div><div id="attfnconts1"><h4><a href="#attfnconts1" class="plain">attfnconts1</a> + [<a href="http://greenbytes.de/tech/tc2231/attfnconts1.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*1=<b>"foo."</b>; filename*2=<b>"html"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass</td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment' (the filename* parameters should be ignored because filename*0 is missing) + </p><p><em> + UA should offer to download, not getting the filename from the header. + </em></p></div><div id="attfncontord"><h4><a href="#attfncontord" class="plain">attfncontord</a> + [<a href="http://greenbytes.de/tech/tc2231/attfncontord.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*1=<b>"bar"</b>; filename*0=<b>"foo"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (parameters are expected to be ordered) + </td></tr><tr class="unsupported"><td>MSIE8</td><td>unsupported</td></tr><tr class="pass"><td>Op10</td><td>pass</td></tr><tr class="unsupported"><td>Saf4</td><td>unsupported</td></tr><tr class="unsupported"><td>Konq</td><td>unsupported</td></tr><tr class="unsupported"><td>Chrome</td><td>unsupported</td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foobar</code> + </p><p><em> + UA should offer to download the resource as "foobar". + </em></p></div></div><div id="encoding-2231-fb"><h3><a href="#encoding-2231-fb" class="plain">RFC2231 Encoding: Fallback Behaviour</a></h3> + <p> + This tests how the UA behaves when the same parameter name appear + both in traditional and RFC 2231 extended format. + </p> + <div id="attfnboth"><h4><a href="#attfnboth" class="plain">attfnboth</a> + [<a href="http://greenbytes.de/tech/tc2231/attfnboth.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename="<b>foo-ae.html</b>"; filename*=<b>UTF-8''foo-%c3%a4.html</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass + (picks the traditionally encoded value -- the first of both) + </td></tr><tr class="pass"><td>MSIE8</td><td>pass + (picks the traditionally encoded value -- the first of both) + </td></tr><tr class="pass"><td>Op10</td><td>pass + (picks the traditionally encoded value -- the first of both) + </td></tr><tr class="pass"><td>Saf4</td><td>pass + (picks the traditionally encoded value -- the first of both) + </td></tr><tr class="pass"><td>Konq</td><td>pass + (picks the traditionally encoded value -- the first of both) + </td></tr><tr class="pass"><td>Chrome</td><td>pass + (picks the traditionally encoded value -- the first of both) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ae.html</code> in + the traditional format, and <code>foo-ä.html</code> in RFC2231 format. + </p><p><em> + The behaviour of this undefined. Thus UAs should one of the two values. + </em></p></div><div id="attfnboth2"><h4><a href="#attfnboth2" class="plain">attfnboth2</a> + [<a href="http://greenbytes.de/tech/tc2231/attfnboth2.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename*=<b>UTF-8''foo-%c3%a4.html</b>; filename=<b>"foo-ae.html"</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="pass"><td>FF3</td><td>pass + (picks the RFC2231 encoded value -- the first of both) + </td></tr><tr class="fail"><td>MSIE8</td><td>fail + (ignores the parameter (this indicates a parsing bug)) + </td></tr><tr class="pass"><td>Op10</td><td>pass + (picks the RFC2231 encoded value -- the first of both) + </td></tr><tr class="pass"><td>Saf4</td><td>pass + (picks the traditionally encoded value -- the one it understands) + </td></tr><tr class="pass"><td>Konq</td><td>pass + (picks the traditionally encoded value -- the one it understands) + </td></tr><tr class="fail"><td>Chrome</td><td>fail + (ignores the parameter (this indicates a parsing bug)) + </td></tr></tbody></table><p> + 'attachment', specifying a filename of <code>foo-ae.html</code> in + the traditional format, and <code>foo-ä.html</code> in RFC2231 format. + </p><p><em> + The behaviour of this undefined. Thus UAs should one of the two values. + </em></p></div></div><div id="encoding-2047"><h3><a href="#encoding-2047" class="plain">RFC2047 Encoding</a></h3> + <p> + These tests RFC 2047 style encoding. + </p> + <p> + Note that according to <a href="http://greenbytes.de/tech/webdav/rfc2047.html#rfc.section.5">Section 5 of RFC 2047</a>, + this encoding does not apply here: <q cite="http://greenbytes.de/tech/webdav/rfc2047.html#rfc.section.5">An 'encoded-word' MUST NOT appear within a 'quoted-string'.</q>, and + <q cite="http://greenbytes.de/tech/webdav/rfc2047.html#rfc.section.5">An 'encoded-word' MUST NOT be used in parameter of a MIME + Content-Type or Content-Disposition field, or in any structured + field body except within a 'comment' or 'phrase'.</q> + </p> + <p> + Therefore, these tests are only be present in order to check + whether the UA by mistake tries to implement RFC2047. + </p> + <div id="attrfc2047token"><h4><a href="#attrfc2047token" class="plain">attrfc2047token</a> + [<a href="http://greenbytes.de/tech/tc2231/attrfc2047token.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename=<b>=?ISO-8859-1?Q?foo-=E4.html?=</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (decodes it anyway to "foo-ä.html") + </td></tr><tr class="pass"><td>MSIE8</td><td>pass + (takes the whole value as filename, but does not decode it (replacing question marks by underscores)) + </td></tr><tr class="fail"><td>Op10</td><td>fail + (displays garbage ("=.htm")) + </td></tr><tr class="pass"><td>Saf4</td><td>pass + (takes the whole value as filename, but does not decode it (replacing question marks by underscores)) + </td></tr><tr class="fail"><td>Konq</td><td>fail + (decodes it anyway to "foo-ä.html") + </td></tr><tr class="fail"><td>Chrome</td><td>fail + (decodes it anyway to "foo-ä.html") + </td></tr></tbody></table><p> + Uses RFC 2047 style encoded word. "=" is invalid inside the <code>token</code> + production, so this is invalid. + </p></div><div id="attrfc2047quoted"><h4><a href="#attrfc2047quoted" class="plain">attrfc2047quoted</a> + [<a href="http://greenbytes.de/tech/tc2231/attrfc2047quoted.asis">TEST</a>] + </h4><pre><b>Content-Disposition: </b>attachment; filename=<b>"=?ISO-8859-1?Q?foo-=E4.html?="</b></pre><table class="aside"><thead><tr><th colspan="2"> + Test Results + </th></tr></thead><tbody><tr class="fail"><td>FF3</td><td>fail + (decodes it anyway to "foo-ä.html") + </td></tr><tr class="pass"><td>MSIE8</td><td>pass + (takes the whole value as filename, but does not decode it) + </td></tr><tr class="fail"><td>Op10</td><td>fail + (displays garbage ("=.htm")) + </td></tr><tr class="pass"><td>Saf4</td><td>pass + (takes the whole value as filename, but does not decode it) + </td></tr><tr class="fail"><td>Konq</td><td>fail + (decodes it anyway to "foo-ä.html") + </td></tr><tr class="fail"><td>Chrome</td><td>fail + (decodes it anyway to "foo-ä.html") + </td></tr></tbody></table><p> + Uses RFC 2047 style encoded word, using the <code>quoted-string</code> production. + </p></div></div> +</body></html>
\ No newline at end of file |