testing/web-platform/tests/FileAPI/file/send-file-form-utf-8.html
author Jeff Muizelaar <jmuizelaar@mozilla.com>
Sat, 27 Feb 2021 19:27:15 +0000
changeset 569017 abe97e99af31153bb9507b66e9898c6de6824345
parent 558477 f1fe748ceeb7f562bf3fadafac801898d47c2695
permissions -rw-r--r--
Bug 1695324 - Cleanup read_tag_lutType. r=aosmond This makes some overflow avoidance more obvious and prepares for supporting more than 3 input channels. Differential Revision: https://phabricator.services.mozilla.com/D106665

<!DOCTYPE html>
<meta charset="utf-8">
<title>Upload files in UTF-8 form</title>
<link rel="help"
      href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data">
<link rel="help"
      href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist">
<link rel="help"
      href="https://w3c.github.io/FileAPI/#file-constructor">
<link rel="author" title="Benjamin C. Wiley Sittler"
      href="mailto:bsittler@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/send-file-form-helper.js"></script>
<script>
'use strict';

formPostFileUploadTest({
  fileNameSource: 'ASCII',
  fileBaseName: 'file-for-upload-in-form.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: 'file-for-upload-in-form.txt',
});

formPostFileUploadTest({
  fileNameSource: 'x-user-defined',
  fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: (
      'file-for-upload-in-form-\xEF\x9F\xB0\xEF\x9E\x93\xEF\x9E\x83\xEF\x9E\xA0.txt'),
});

formPostFileUploadTest({
  fileNameSource: 'windows-1252',
  fileBaseName: 'file-for-upload-in-form-☺😂.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: (
      'file-for-upload-in-form-\xC3\xA2\xCB\x9C\xC2\xBA\xC3\xB0\xC5\xB8\xCB\x9C\xE2\x80\x9A.txt'),
});

formPostFileUploadTest({
  fileNameSource: 'JIS X 0201 and JIS X 0208',
  fileBaseName: 'file-for-upload-in-form-★星★.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\x85\xE6\x98\x9F\xE2\x98\x85.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: 'file-for-upload-in-form-☺😂.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\xBA\xF0\x9F\x98\x82.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: `file-for-upload-in-form-${kTestFallbackUtf8}.txt`,
});

</script>