Skip to content

Commit

Permalink
Merge pull request #293 from onlimii/submission/jcxia-fileapi-url
Browse files Browse the repository at this point in the history
[ttwf shanghai 2013]FileAPI URL tests added.
  • Loading branch information
zqzhang committed Jan 19, 2015
2 parents 630a3d3 + 23cad68 commit 139aa09
Show file tree
Hide file tree
Showing 7 changed files with 174 additions and 0 deletions.
26 changes: 26 additions & 0 deletions FileAPI/url/url_createobjecturl_blob.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>FileAPI Test: Creating Blob URL with Blob</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="author" title="JunChen Xia" href="mailto:xjconlyme@gmail.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<div id="log"></div>

<script>
var blob = new Blob(["Test Blob"]);

test(function() {
var testBlob = window.URL.createObjectURL(blob);
assert_equals(typeof testBlob, "string", "Blob URI is typeof string");
assert_equals(testBlob.indexOf("blob"), 0, "Blob URI starts with 'blob'");
}, "Check if the Blob URI starts with 'blob' using createObjectURL()");

test(function() {
var testBlob = window.URL.createFor(blob);
assert_equals(typeof testBlob, "string", "Blob URI is typeof string");
assert_equals(testBlob.indexOf("blob"), 0, "Blob URI starts with 'blob'");
}, "Check if the Blob URI starts with 'blob' using createFor()");
</script>

51 changes: 51 additions & 0 deletions FileAPI/url/url_createobjecturl_file-manual.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>FileAPI Test: Creating Blob URL with File</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="author" title="JunChen Xia" href="mailto:xjconlyme@gmail.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<meta name="timeout" content="long">

<div>
<p>Test steps:</p>
<ol>
<li>Download <a href="/images/blue96x96.png">blue96x96.png</a> to local.</li>
<li>Select the local file (blue96x96.png) to run the test.</li>
</ol>
</div>

<form name="uploadData">
<input type="file" id="fileChooser">
</form>

<div id="log"></div>

<script>
async_test(function(t) {
var fileInput = document.querySelector('#fileChooser');

fileInput.onchange = t.step_func(function(e) {
var blobURL, file = fileInput.files[0];

test(function() {
assert_true(file instanceof File, "FileList contains File");
}, "Check if FileList contains File");

test(function() {
blobURL = window.URL.createObjectURL(file);
assert_equals(typeof blobURL, "string", "Blob URL is type of string");
assert_equals(blobURL.indexOf("blob"), 0, "Blob URL's scheme is blob");
}, "Check if URL.createObjectURL(File) returns a Blob URL");

test(function() {
blobURL = window.URL.createFor(file);
assert_equals(typeof blobURL, "string", "Blob URL is type of string");
assert_equals(blobURL.indexOf("blob"), 0, "Blob URL's scheme is blob");
}, "Check if URL.createFor(File) returns a Blob URL");

t.done();
});
});
</script>

28 changes: 28 additions & 0 deletions FileAPI/url/url_createobjecturl_file_img-manual.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>FileAPI Test: Creating Blob URL with File as image source</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="author" title="JunChen Xia" href="mailto:xjconlyme@gmail.com">

<div>
<p>Test steps:</p>
<ol>
<li>Download <a href="/images/blue96x96.png">blue96x96.png</a> to local.</li>
<li>Select the local file (blue96x96.png) to run the test.</li>
</ol>
<p>Pass/fail criteria:</p>
<p>Test passes if there is a filled blue square.</p>

<p><input type="file" accept="image/*" id="fileChooser"></p>
<p><img id="displayImage"></img></p>
</div>

<script>
var fileInput = document.querySelector("#fileChooser");
var img = document.querySelector("#displayImage");

fileInput.addEventListener("change", function(evt) {
img.src = window.URL.createObjectURL(fileInput.files[0]);
}, false);
</script>

29 changes: 29 additions & 0 deletions FileAPI/url/url_xmlhttprequest.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>FileAPI Test: Creating Blob URL via XMLHttpRequest</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="author" title="JunChen Xia" href="mailto:xjconlyme@gmail.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<div id="log"></div>

<script>
async_test(function () {
var http = new XMLHttpRequest();
http.open("GET", "/images/blue96x96.png", true);
http.responseType = "blob";
http.onloadend = this.step_func(function(evt) {
var blobURI = window.URL.createObjectURL(http.response);
assert_true(http.response instanceof Blob, "XMLHttpRequest returns instanceof Blob");
assert_equals(typeof blobURI, "string", "Blob URI is typeof string");
assert_equals(blobURI.indexOf("blob"), 0, "Blob URI starts with 'blob'");
assert_equals(http.status, 200, "The status is 200");
assert_equals(http.statusText, "OK", "The status text is OK when XMLHttpRequest returns correct blob");
assert_equals(http.getResponseHeader("Content-Type"), "image/png", "The content type is image/png when set the respnose blob");
this.done();
});
http.send();
});
</script>

12 changes: 12 additions & 0 deletions FileAPI/url/url_xmlhttprequest_img-ref.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>FileAPI Reference File</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="author" title="JunChen Xia" href="mailto:xjconlyme@gmail.com">

<p>Test passes if there is a filled blue square.</p>

<p>
<img id="fileDisplay" src="/images/blue96x96.png">
</p>

28 changes: 28 additions & 0 deletions FileAPI/url/url_xmlhttprequest_img.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="utf-8">
<title>FileAPI Test: Creating Blob URL via XMLHttpRequest as image source</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="author" title="JunChen Xia" href="mailto:xjconlyme@gmail.com">
<link rel="match" href="url_xmlhttprequest_img-ref.html">

<p>Test passes if there is a filled blue square.</p>

<p>
<img id="fileDisplay">
</p>

<script src="/common/reftest-wait.js"></script>
<script>
var http = new XMLHttpRequest();
http.open("GET", "/images/blue96x96.png", true);
http.responseType = "blob";
http.onloadend = function() {
var fileDisplay = document.querySelector("#fileDisplay");
fileDisplay.src = window.URL.createObjectURL(http.response);
takeScreenshot();
};
http.send();
</script>
</html>

Binary file added images/blue96x96.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 139aa09

Please sign in to comment.