Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Zhiqiang Zhang committed May 27, 2014
1 parent 41f230d commit 5d797b8
Show file tree
Hide file tree
Showing 4 changed files with 152 additions and 0 deletions.
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

0 comments on commit 5d797b8

Please sign in to comment.