1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
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>
|