blob: 20ba34941a07b245015f6baa5869c60579cee5f7 [file] [log] [blame]
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true, shouldHandleRunOpenPanel=false ] -->
<html>
<head>
<meta name="viewport" content="width=device-width">
<script src="../../../resources/js-test.js"></script>
<script src="../../../resources/ui-helper.js"></script>
</head>
<body>
<input id="fileInput" type="file">
<script>
jsTestIsAsync = true;
async function runTest(accept, expectedIdentifiers)
{
debug("* accept = " + accept);
fileInput.accept = accept;
await UIHelper.activateElement(fileInput);
items = await UIHelper.filePickerAcceptedTypeIdentifiers();
shouldBeTrue("areArraysEqual(items, " + expectedIdentifiers + ")");
debug("");
await UIHelper.dismissFilePicker();
}
addEventListener("load", async () => {
description("Tests that the accept attribute for file inputs is mapped to the correct set of type identifiers on iOS.");
await runTest("", '[]');
await runTest("*/*", '[]');
await runTest("image/*", '["public.image"]');
await runTest("video/*", '["public.movie"]');
await runTest("image/*, video/*", '["public.image", "public.movie"]');
await runTest(".PNG, .GIF", '["com.compuserve.gif", "public.png"]');
await runTest(".PNG, .GIF, .MOV", '["com.apple.quicktime-movie", "com.compuserve.gif", "public.png"]');
await runTest(".TXT", '["public.plain-text"]');
await runTest(".PDF", '["com.adobe.pdf"]');
await runTest(".PDF, .TXT", '["com.adobe.pdf", "public.plain-text"]');
finishJSTest();
});
</script>
</body>
</html>