Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Created tests for http://www.w3.org/TR/html-media-capture/ #306

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions html-media-capture/capture_fallback_file_upload.html
Original file line number Diff line number Diff line change
@@ -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>
57 changes: 57 additions & 0 deletions html-media-capture/capture_reflect.html
Original file line number Diff line number Diff line change
@@ -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>
50 changes: 50 additions & 0 deletions html-media-capture/idlharness.html
Original file line number Diff line number Diff line change
@@ -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>
1 change: 1 addition & 0 deletions html-media-capture/support/upload.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Hello