• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<meta charset="utf-8">
3<title>Upload files in x-user-defined form (tentative)</title>
4<!--
5    NOTE: This test is tentative because encoding for filename
6    characters unrepresentable in the form charset is not yet
7    standardized.
8  -->
9<link rel="help"
10      href="https://github.com/whatwg/html/issues/3223">
11<link rel="help"
12      href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data">
13<link rel="help"
14      href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist">
15<link rel="help"
16      href="https://w3c.github.io/FileAPI/#file-constructor">
17<link rel="author" title="Benjamin C. Wiley Sittler"
18      href="mailto:bsittler@chromium.org">
19<script src="/resources/testharness.js"></script>
20<script src="/resources/testharnessreport.js"></script>
21<script src="../support/send-file-form-helper.js"></script>
22<script>
23'use strict';
24
25formPostFileUploadTest({
26  fileNameSource: 'ASCII',
27  fileBaseName: 'file-for-upload-in-form.txt',
28  formEncoding: 'x-user-defined',
29  expectedEncodedBaseName: 'file-for-upload-in-form.txt',
30});
31
32formPostFileUploadTest({
33  fileNameSource: 'x-user-defined',
34  fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
35  formEncoding: 'x-user-defined',
36  expectedEncodedBaseName: 'file-for-upload-in-form-\xF0\x93\x83\xA0.txt',
37});
38
39formPostFileUploadTest({
40  fileNameSource: 'windows-1252',
41  fileBaseName: 'file-for-upload-in-form-☺😂.txt',
42  formEncoding: 'x-user-defined',
43  expectedEncodedBaseName: ('file-for-upload-in-form-' +
44                            '&#226;&#732;&#186;&#240;&#376;&#732;&#8218;.txt'),
45});
46
47formPostFileUploadTest({
48  fileNameSource: 'JIS X 0201 and JIS X 0208',
49  fileBaseName: 'file-for-upload-in-form-★星★.txt',
50  formEncoding: 'x-user-defined',
51  expectedEncodedBaseName: 'file-for-upload-in-form-&#9733;&#26143;&#9733;.txt',
52});
53
54formPostFileUploadTest({
55  fileNameSource: 'Unicode',
56  fileBaseName: 'file-for-upload-in-form-☺��.txt',
57  formEncoding: 'x-user-defined',
58  expectedEncodedBaseName: 'file-for-upload-in-form-&#9786;&#128514;.txt',
59});
60
61formPostFileUploadTest({
62  fileNameSource: 'Unicode',
63  fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
64  formEncoding: 'x-user-defined',
65  expectedEncodedBaseName: `file-for-upload-in-form-${
66      kTestFallbackXUserDefined
67  }.txt`,
68});
69
70</script>
71