• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<meta charset="utf-8">
3<title>Upload files in UTF-8 form</title>
4<link rel="help"
5      href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data">
6<link rel="help"
7      href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist">
8<link rel="help"
9      href="https://w3c.github.io/FileAPI/#file-constructor">
10<link rel="author" title="Benjamin C. Wiley Sittler"
11      href="mailto:bsittler@chromium.org">
12<script src="/resources/testharness.js"></script>
13<script src="/resources/testharnessreport.js"></script>
14<script src="../support/send-file-form-helper.js"></script>
15<script>
16'use strict';
17
18formPostFileUploadTest({
19  fileNameSource: 'ASCII',
20  fileBaseName: 'file-for-upload-in-form.txt',
21  formEncoding: 'UTF-8',
22  expectedEncodedBaseName: 'file-for-upload-in-form.txt',
23});
24
25formPostFileUploadTest({
26  fileNameSource: 'x-user-defined',
27  fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
28  formEncoding: 'UTF-8',
29  expectedEncodedBaseName: (
30      'file-for-upload-in-form-\xEF\x9F\xB0\xEF\x9E\x93\xEF\x9E\x83\xEF\x9E\xA0.txt'),
31});
32
33formPostFileUploadTest({
34  fileNameSource: 'windows-1252',
35  fileBaseName: 'file-for-upload-in-form-☺😂.txt',
36  formEncoding: 'UTF-8',
37  expectedEncodedBaseName: (
38      'file-for-upload-in-form-\xC3\xA2\xCB\x9C\xC2\xBA\xC3\xB0\xC5\xB8\xCB\x9C\xE2\x80\x9A.txt'),
39});
40
41formPostFileUploadTest({
42  fileNameSource: 'JIS X 0201 and JIS X 0208',
43  fileBaseName: 'file-for-upload-in-form-★星★.txt',
44  formEncoding: 'UTF-8',
45  expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\x85\xE6\x98\x9F\xE2\x98\x85.txt',
46});
47
48formPostFileUploadTest({
49  fileNameSource: 'Unicode',
50  fileBaseName: 'file-for-upload-in-form-☺��.txt',
51  formEncoding: 'UTF-8',
52  expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\xBA\xF0\x9F\x98\x82.txt',
53});
54
55formPostFileUploadTest({
56  fileNameSource: 'Unicode',
57  fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
58  formEncoding: 'UTF-8',
59  expectedEncodedBaseName: `file-for-upload-in-form-${kTestFallbackUtf8}.txt`,
60});
61
62</script>
63