Source code
Revision control
Copy as Markdown
Other Tools
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>FileAPI Test: filelist_selected_file</title>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
</head>
<body>
<form name='uploadData'>
<input type='file' id='fileChooser'>
</form>
<div>
<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>
</div>
<div id='log'></div>
<script>
var fileInput = document.querySelector('#fileChooser');
var fileList;
setup({explicit_done: true, explicit_timeout: true});
on_event(fileInput, 'change', function(evt) {
test(function() {
fileList = document.querySelector('#fileChooser').files;
assert_equals(fileList.length, 1, 'fileList length is 1');
}, 'Check if the fileList length is 1 when selected one file');
test(function() {
fileList = document.querySelector('#fileChooser').files;
assert_true(fileList.item(0) instanceof File, 'item method is instanceof File');
}, 'Check if the item method returns the File interface when selected one file');
test(function() {
fileList = document.querySelector('#fileChooser').files;
assert_not_equals(fileList.item(0), null, 'item(0) is not null');
}, 'Check if item(0) is not null when selected one file. Index must be treated by user agents as value for the position of a File object in the FileList, with 0 representing the first file.');
test(function() {
fileList = document.querySelector('#fileChooser').files;
assert_equals(fileList.item(1), null, 'item(1) is null');
}, 'Check if item(1) is null when selected one file only');
test(function() {
fileList = document.querySelector('#fileChooser').files;
assert_equals(fileList.item(0).name, 'upload.txt', 'file name string is "upload.txt"');
}, 'Check if the file name string is the selected "upload.txt"');
done();
});
</script>
</body>
</html>