summaryrefslogtreecommitdiffstats
path: root/dom/indexedDB/test/test_filehandle_write_read_data.html
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/indexedDB/test/test_filehandle_write_read_data.html
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-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 'dom/indexedDB/test/test_filehandle_write_read_data.html')
-rw-r--r--dom/indexedDB/test/test_filehandle_write_read_data.html110
1 files changed, 110 insertions, 0 deletions
diff --git a/dom/indexedDB/test/test_filehandle_write_read_data.html b/dom/indexedDB/test/test_filehandle_write_read_data.html
new file mode 100644
index 000000000..036d57117
--- /dev/null
+++ b/dom/indexedDB/test/test_filehandle_write_read_data.html
@@ -0,0 +1,110 @@
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html>
+<head>
+ <title>File Handle Test</title>
+
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+
+ <script type="text/javascript;version=1.7">
+ function testSteps()
+ {
+ const name = window.location.pathname;
+
+ var testString = "Lorem ipsum his ponderum delicatissimi ne, at noster dolores urbanitas pro, cibo elaboraret no his. Ea dicunt maiorum usu. Ad appareat facilisis mediocritatem eos. Tale graeci mentitum in eos, hinc insolens at nam. Graecis nominavi aliquyam eu vix. Id solet assentior sadipscing pro. Et per atqui graecis, usu quot viris repudiandae ei, mollis evertitur an nam. At nam dolor ignota, liber labore omnesque ea mei, has movet voluptaria in. Vel an impetus omittantur. Vim movet option salutandi ex, ne mei ignota corrumpit. Mucius comprehensam id per. Est ea putant maiestatis.";
+ for (let i = 0; i < 5; i++) {
+ testString += testString;
+ }
+
+ var testBuffer = getRandomBuffer(100000);
+
+ var testBlob = new Blob([testBuffer], {type: "binary/random"});
+
+ let request = indexedDB.open(name, 1);
+ request.onerror = errorHandler;
+ request.onsuccess = grabEventAndContinueHandler;
+ let event = yield undefined;
+
+ let db = event.target.result;
+ db.onerror = errorHandler;
+
+ request = db.createMutableFile("test.txt");
+ request.onerror = errorHandler;
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ let mutableFile = event.target.result;
+ mutableFile.onerror = errorHandler;
+
+ let location = 0;
+
+ let fileHandle = mutableFile.open("readwrite");
+ is(fileHandle.location, location, "Correct location");
+
+ request = fileHandle.write(testString);
+ location += testString.length;
+ is(fileHandle.location, location, "Correct location");
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ fileHandle.location = 0;
+ request = fileHandle.readAsText(testString.length);
+ is(fileHandle.location, location, "Correct location");
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ let resultString = event.target.result;
+ ok(resultString == testString, "Correct string data");
+
+ request = fileHandle.write(testBuffer);
+ location += testBuffer.byteLength;
+ is(fileHandle.location, location, "Correct location");
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ fileHandle.location -= testBuffer.byteLength;
+ request = fileHandle.readAsArrayBuffer(testBuffer.byteLength);
+ is(fileHandle.location, location, "Correct location");
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ let resultBuffer = event.target.result;
+ ok(compareBuffers(resultBuffer, testBuffer), "Correct array buffer data");
+
+ request = fileHandle.write(testBlob);
+ location += testBlob.size;
+ is(fileHandle.location, location, "Correct location");
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ fileHandle.location -= testBlob.size;
+ request = fileHandle.readAsArrayBuffer(testBlob.size);
+ is(fileHandle.location, location, "Correct location");
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ resultBuffer = event.target.result;
+ ok(compareBuffers(resultBuffer, testBuffer), "Correct blob data");
+
+ request = fileHandle.getMetadata({ size: true });
+ request.onsuccess = grabEventAndContinueHandler;
+ event = yield undefined;
+
+ let result = event.target.result;
+ is(result.size, location, "Correct size");
+
+ finishTest();
+ yield undefined;
+ }
+ </script>
+ <script type="text/javascript;version=1.7" src="file.js"></script>
+ <script type="text/javascript;version=1.7" src="helpers.js"></script>
+
+</head>
+
+<body onload="runTest();"></body>
+
+</html>