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