summaryrefslogtreecommitdiff
path: root/src/tests/HTTP_tests.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/HTTP_tests.html')
-rw-r--r--src/tests/HTTP_tests.html601
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