<!DOCTYPE html>
<meta charset="utf-8">
<title>Upload files in ISO-2022-JP form (tentative)</title>
<!--
    NOTE: This test is tentative because encoding for filename
    characters unrepresentable in the form charset is not yet
    standardized.
  -->
<link rel="help"
      href="https://github.com/whatwg/html/issues/3223">
<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: 'ISO-2022-JP',
  expectedEncodedBaseName: 'file-for-upload-in-form.txt',
});

formPostFileUploadTest({
  fileNameSource: 'x-user-defined',
  fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
  formEncoding: 'ISO-2022-JP',
  expectedEncodedBaseName: (
      'file-for-upload-in-form-&#63472;&#63379;&#63363;&#63392;.txt'),
});

formPostFileUploadTest({
  fileNameSource: 'windows-1252',
  fileBaseName: 'file-for-upload-in-form-â˜ºðŸ˜‚.txt',
  formEncoding: 'ISO-2022-JP',
  expectedEncodedBaseName: (
      'file-for-upload-in-form-&#226;&#732;&#186;&#240;&#376;&#732;&#8218;.txt'),
});

formPostFileUploadTest({
  fileNameSource: 'JIS X 0201 and JIS X 0208',
  fileBaseName: 'file-for-upload-in-form-★星★.txt',
  formEncoding: 'ISO-2022-JP',
  expectedEncodedBaseName: 'file-for-upload-in-form-\x1B$B!z@1!z\x1B(B.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: 'file-for-upload-in-form-☺😂.txt',
  formEncoding: 'ISO-2022-JP',
  expectedEncodedBaseName: 'file-for-upload-in-form-&#9786;&#128514;.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
  formEncoding: 'ISO-2022-JP',
  expectedEncodedBaseName: `file-for-upload-in-form-${
      kTestFallbackIso2022jp
  }.txt`,
});

</script>
