diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/html-media-capture | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/html-media-capture')
11 files changed, 337 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html-media-capture/OWNERS b/testing/web-platform/tests/html-media-capture/OWNERS new file mode 100644 index 000000000..b45f53558 --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/OWNERS @@ -0,0 +1,2 @@ +@haoxli +@zqzhang diff --git a/testing/web-platform/tests/html-media-capture/capture_audio-manual.html b/testing/web-platform/tests/html-media-capture/capture_audio-manual.html new file mode 100644 index 000000000..a1f0c3716 --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_audio-manual.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset='utf-8'> +<title>HTML Media Capture Test: capture audio to produce one audio file</title> +<link rel='author' title='Intel' href='http://www.intel.com'> +<link rel='help' href='http://dev.w3.org/2009/dap/camera/#attributes'> +<link rel='help' href='http://www.w3.org/TR/html5/forms.html#attr-input-accept'> +<meta name='flags' content='interact'> +<meta name="timeout" content="long"> +<script src='/resources/testharness.js'></script> +<script src='/resources/testharnessreport.js'></script> + +<p>Clear all microphone permissions before running this test. If prompted for permission, please allow.</p> + +<p>After hitting the button below, capture an audio and then confirm the capturing.</p> + +<p>Note: All the actions need to be done in 60 seconds, otherwise it will get TIMEOUT.</p> + +<input type='file' accept='audio/*' capture> + +<div id='log'></div> + +<script> + var input; + + setup(function() { + input = document.querySelector('input[type=file]'); + }, {explicit_done: true}); + + async_test(function(t) { + input.onchange = t.step_func_done(function() { + assert_equals(input.files.length, 1, 'Should capture one file'); + assert_regexp_match(input.files[0].type, /^audio\//, 'The captured file should be type of audio'); + }); + done(); + }); +</script> + diff --git a/testing/web-platform/tests/html-media-capture/capture_audio_cancel-manual.html b/testing/web-platform/tests/html-media-capture/capture_audio_cancel-manual.html new file mode 100644 index 000000000..73e486000 --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_audio_cancel-manual.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<meta charset='utf-8'> +<title>HTML Media Capture Test: user denial of captured audio leading to no capture</title> +<link rel='author' title='Intel' href='http://www.intel.com'> +<link rel='help' href='http://dev.w3.org/2009/dap/camera/#attributes'> +<link rel='help' href='http://www.w3.org/TR/html5/forms.html#attr-input-accept'> +<meta name='flags' content='interact'> + +<p>Clear all microphone permissions before running this test. If prompted for permission, please allow.</p> + +<p>After hitting the button below</p> + +<ul> + + <li>capture an audio and then cancel the capturing;</li> + + <li>capture an audio and then confirm the capturing.</li> + +</ul> + +<p>Test passes if there is no captured audio saved to the system's data storage.</p> + +<input type='file' accept='audio/*' capture> + diff --git a/testing/web-platform/tests/html-media-capture/capture_fallback_file_upload.html b/testing/web-platform/tests/html-media-capture/capture_fallback_file_upload.html new file mode 100644 index 000000000..2d25aa14f --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_fallback_file_upload.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset='utf-8'> + <title>HTML Media Capture Test: capture_fallback_file_upload</title> + <link rel='author' title='Intel' href='http://www.intel.com'> + <link rel='help' href='http://www.w3.org/TR/html-media-capture/#the-capture-attribute'> + <link rel='help' href='http://www.w3.org/TR/html5/forms.html#file-upload-state-(type=file)'> + <meta name='flags' content='interact'> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + </head> + <body> + <p>This test validates that the user agent must act as if there was no capture attribute, when the accept attribute value is set to a MIME type that has no associated capture control type.</p> + + <p>Test steps:</p> + <ol> + <li>Download <a href='support/upload.txt'>upload.txt</a> to local.</li> + <li>Select the local upload.txt file to run the test.</li> + </ol> + + <form> + <input id='fileChooser' type='file' accept='text/plain' capture> + </form> + + <div id='log'></div> + + <script> + setup({explicit_done: true, explicit_timeout: true}); + + var fileInput = document.querySelector('#fileChooser'); + + on_event(fileInput, 'change', function(evt) { + test(function() { + var fileList = document.querySelector('#fileChooser').files; + assert_equals(fileList.length, 1, 'fileList length is 1'); + assert_equals(fileList.item(0).name, 'upload.txt', 'file name string is "upload.txt"'); + }, 'Check if input.capture fallback to file upload when the accept attribute value is set to a MIME type that has no associated capture control type'); + + done(); + }); + </script> + </body> +</html> diff --git a/testing/web-platform/tests/html-media-capture/capture_image-manual.html b/testing/web-platform/tests/html-media-capture/capture_image-manual.html new file mode 100644 index 000000000..1b15fb369 --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_image-manual.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset='utf-8'> +<title>HTML Media Capture Test: capture image to produce one image file</title> +<link rel='author' title='Intel' href='http://www.intel.com'> +<link rel='help' href='http://dev.w3.org/2009/dap/camera/#attributes'> +<link rel='help' href='http://www.w3.org/TR/html5/forms.html#attr-input-accept'> +<meta name='flags' content='interact'> +<meta name="timeout" content="long"> +<script src='/resources/testharness.js'></script> +<script src='/resources/testharnessreport.js'></script> + +<p>Clear all camera permissions before running this test. If prompted for permission, please allow.</p> + +<p>After hitting the button below, capture an image and then confirm the capturing.</p> + +<p>Note: All the actions need to be done in 60 seconds, otherwise it will get TIMEOUT.</p> + +<input type='file' accept='image/*' capture> + +<div id='log'></div> + +<script> + var input; + + setup(function() { + input = document.querySelector('input[type=file]'); + }, {explicit_done: true}); + + async_test(function(t) { + input.onchange = t.step_func_done(function() { + assert_equals(input.files.length, 1, 'Should capture one file'); + assert_regexp_match(input.files[0].type, /^image\//, 'The captured file should be type of image'); + }); + done(); + }); +</script> + diff --git a/testing/web-platform/tests/html-media-capture/capture_image_cancel-manual.html b/testing/web-platform/tests/html-media-capture/capture_image_cancel-manual.html new file mode 100644 index 000000000..fafb5d511 --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_image_cancel-manual.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<meta charset='utf-8'> +<title>HTML Media Capture Test: user denial of captured image leading to no capture</title> +<link rel='author' title='Intel' href='http://www.intel.com'> +<link rel='help' href='http://dev.w3.org/2009/dap/camera/#attributes'> +<link rel='help' href='http://www.w3.org/TR/html5/forms.html#attr-input-accept'> +<meta name='flags' content='interact'> + +<p>Clear all camera permissions before running this test. If prompted for permission, please allow.</p> + +<p>After hitting the button below</p> + +<ul> + + <li>capture an image and then cancel the capturing;</li> + + <li>capture an image and then confirm the capturing.</li> + +</ul> + +<p>Test passes if there is no captured image saved to the system's data storage.</p> + +<input type='file' accept='image/*' capture> + diff --git a/testing/web-platform/tests/html-media-capture/capture_reflect.html b/testing/web-platform/tests/html-media-capture/capture_reflect.html new file mode 100644 index 000000000..6dd40cc9b --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_reflect.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset='utf-8'> + <title>HTML Media Capture Test: capture_reflect</title> + <link rel='author' title='Intel' href='http://www.intel.com/'> + <link rel='help' href='http://www.w3.org/TR/html-media-capture/#the-capture-attribute'> + <link rel='help' href='http://www.w3.org/html/wg/drafts/html/CR/infrastructure.html#reflect'> + <link rel='help' href='http://www.w3.org/html/wg/drafts/html/CR/infrastructure.html#boolean-attributes'> + <meta name='flags' content='dom'> + <meta name='assert' content='Test checks that the capture IDL attribute must reflect the content attribute of the same name.'> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + </head> + <body> + <pre style='display:none'> + partial interface HTMLInputElement { + attribute boolean capture; + }; + </pre> + + <div style='display:none'> + <input id='absent' type='file' accept='image/*'> + <input id='present' type='file' accept='image/*' capture> + <input id='present-empty-string' type='file' accept='image/*' capture=''> + <input id='present-canonical-name' type='file' accept='image/*' capture=capture> + </div> + + <div id='log'></div> + + <script> + test(function() { + var inputs = document.querySelectorAll('input'); + for (var i=0, obj; i<inputs.length, obj=inputs[i]; i++) { + assert_own_property(obj, 'capture'); + assert_equals(typeof obj.capture, 'boolean'); + } + }, 'Element input should have own property capture'); + + test(function() { + assert_false(document.querySelector('#absent').capture); + }, 'input.capture is false when the capture attribute is absent'); + + test(function() { + assert_true(document.querySelector('#present').capture); + }, 'input.capture is true when the capture attribute is present'); + + test(function() { + assert_true(document.querySelector('#present-empty-string').capture); + }, 'input.capture is true when the capture attribute is present as empty string'); + + test(function() { + assert_true(document.querySelector('#present-canonical-name').capture); + }, 'input.capture is true when the capture attribute is present as canonical name'); + </script> + </body> +</html> diff --git a/testing/web-platform/tests/html-media-capture/capture_video-manual.html b/testing/web-platform/tests/html-media-capture/capture_video-manual.html new file mode 100644 index 000000000..b54abae0e --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_video-manual.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset='utf-8'> +<title>HTML Media Capture Test: capture video to produce one video file</title> +<link rel='author' title='Intel' href='http://www.intel.com'> +<link rel='help' href='http://dev.w3.org/2009/dap/camera/#attributes'> +<link rel='help' href='http://www.w3.org/TR/html5/forms.html#attr-input-accept'> +<meta name='flags' content='interact'> +<meta name="timeout" content="long"> +<script src='/resources/testharness.js'></script> +<script src='/resources/testharnessreport.js'></script> + +<p>Clear all camera/microphone permissions before running this test. If prompted for permission, please allow.</p> + +<p>After hitting the button below, capture an video and then confirm the capturing.</p> + +<p>Note: All the actions need to be done in 60 seconds, otherwise it will get TIMEOUT.</p> + +<input type='file' accept='video/*' capture> + +<div id='log'></div> + +<script> + var input; + + setup(function() { + input = document.querySelector('input[type=file]'); + }, {explicit_done: true}); + + async_test(function(t) { + input.onchange = t.step_func_done(function() { + assert_equals(input.files.length, 1, 'Should capture one file'); + assert_regexp_match(input.files[0].type, /^video\//, 'The captured file should be type of video'); + }); + done(); + }); +</script> + diff --git a/testing/web-platform/tests/html-media-capture/capture_video_cancel-manual.html b/testing/web-platform/tests/html-media-capture/capture_video_cancel-manual.html new file mode 100644 index 000000000..645473701 --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/capture_video_cancel-manual.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<meta charset='utf-8'> +<title>HTML Media Capture Test: user denial of captured video leading to no capture</title> +<link rel='author' title='Intel' href='http://www.intel.com'> +<link rel='help' href='http://dev.w3.org/2009/dap/camera/#attributes'> +<link rel='help' href='http://www.w3.org/TR/html5/forms.html#attr-input-accept'> +<meta name='flags' content='interact'> + +<p>Clear all camera/microphone permissions before running this test. If prompted for permission, please allow.</p> + +<p>After hitting the button below</p> + +<ul> + + <li>capture an video and then cancel the capturing;</li> + + <li>capture an video and then confirm the capturing.</li> + +</ul> + +<p>Test passes if there is no captured video saved to the system's data storage.</p> + +<input type='file' accept='video/*' capture> + diff --git a/testing/web-platform/tests/html-media-capture/idlharness.html b/testing/web-platform/tests/html-media-capture/idlharness.html new file mode 100644 index 000000000..a204764ae --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/idlharness.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset='utf-8'> + <title>HTML Media Capture IDL tests</title> + <link rel='author' title='Intel' href='http://www.intel.com/'> + <link rel='help' href='http://www.w3.org/TR/html-media-capture/#conformance'> + <link rel='help' href='http://www.w3.org/TR/html-media-capture/#the-capture-attribute'> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='/resources/WebIDLParser.js'></script> + <script src='/resources/idlharness.js'></script> + </head> + <body> + <h1>HTML Media Capture IDL tests</h1> + <div id='log'></div> + + <pre id='untested_idl' style='display:none'> + interface HTMLInputElement { + }; + interface HTMLElement { + }; + interface Element{ + }; + </pre> + + <pre id='idl' style='display:none'> + partial interface HTMLInputElement { + attribute boolean capture; + }; + </pre> + + <form style='display:none'> + <input id='testElement' type='file' accept='image/*' capture> + </form> + + <script> + (function() { + var idl_array = new IdlArray(); + + idl_array.add_untested_idls(document.getElementById('untested_idl').textContent); + idl_array.add_idls(document.getElementById('idl').textContent); + + var testElement = document.getElementById('testElement'); + idl_array.add_objects({HTMLInputElement: [testElement]}); + idl_array.test(); + })(); + </script> + </body> +</html> diff --git a/testing/web-platform/tests/html-media-capture/support/upload.txt b/testing/web-platform/tests/html-media-capture/support/upload.txt new file mode 100644 index 000000000..e965047ad --- /dev/null +++ b/testing/web-platform/tests/html-media-capture/support/upload.txt @@ -0,0 +1 @@ +Hello |