mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 01:17:34 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
103
dom/indexedDB/test/test_file_sharing.html
Normal file
103
dom/indexedDB/test/test_file_sharing.html
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>Indexed Database Property 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 READ_WRITE = "readwrite";
|
||||
|
||||
const name = window.location.pathname;
|
||||
|
||||
const objectStoreInfo = [
|
||||
{ name: "Blobs", options: { } },
|
||||
{ name: "Other Blobs", options: { } }
|
||||
];
|
||||
|
||||
const fileData = { key: 1, file: getRandomFile("random.bin", 100000) };
|
||||
|
||||
let request = indexedDB.open(name, 1);
|
||||
request.onerror = errorHandler;
|
||||
request.onupgradeneeded = grabEventAndContinueHandler;
|
||||
request.onsuccess = grabEventAndContinueHandler;
|
||||
let event = yield undefined;
|
||||
|
||||
is(event.type, "upgradeneeded", "Got correct event type");
|
||||
|
||||
let db = event.target.result;
|
||||
db.onerror = errorHandler;
|
||||
|
||||
for (let info of objectStoreInfo) {
|
||||
let objectStore = db.createObjectStore(info.name, info.options);
|
||||
objectStore.add(fileData.file, fileData.key);
|
||||
}
|
||||
|
||||
event = yield undefined;
|
||||
|
||||
is(event.type, "success", "Got correct event type");
|
||||
|
||||
let refResult;
|
||||
for (let info of objectStoreInfo) {
|
||||
let objectStore = db.transaction([info.name])
|
||||
.objectStore(info.name);
|
||||
|
||||
request = objectStore.get(fileData.key);
|
||||
request.onsuccess = grabEventAndContinueHandler;
|
||||
event = yield undefined;
|
||||
|
||||
let result = event.target.result;
|
||||
verifyBlob(result, fileData.file, 1);
|
||||
yield undefined;
|
||||
|
||||
if (!refResult) {
|
||||
refResult = result;
|
||||
continue;
|
||||
}
|
||||
|
||||
is(getFilePath(result), getFilePath(refResult), "The same os file");
|
||||
}
|
||||
|
||||
for (let i = 1; i < objectStoreInfo.length; i++) {
|
||||
let info = objectStoreInfo[i];
|
||||
|
||||
let objectStore = db.transaction([info.name], READ_WRITE)
|
||||
.objectStore(info.name);
|
||||
|
||||
request = objectStore.add(refResult, 2);
|
||||
request.onsuccess = grabEventAndContinueHandler;
|
||||
event = yield undefined;
|
||||
|
||||
is(event.target.result, 2, "Got correct key");
|
||||
|
||||
request = objectStore.get(2);
|
||||
request.onsuccess = grabEventAndContinueHandler;
|
||||
event = yield undefined;
|
||||
|
||||
let result = event.target.result;
|
||||
verifyBlob(result, refResult, 1);
|
||||
yield undefined;
|
||||
|
||||
is(getFilePath(result), getFilePath(refResult), "The same os file");
|
||||
}
|
||||
|
||||
is(bufferCache.length, 2, "Correct length");
|
||||
|
||||
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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue