12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /**
- * Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
- var disableWorkerTest = "This test uses SpecialPowers";
- var testGenerator = testSteps();
- function testSteps()
- {
- const fileData = "abcdefghijklmnopqrstuvwxyz";
- const fileType = "text/plain";
- const databaseName =
- ("window" in this) ? window.location.pathname : "Test";
- const objectStoreName = "foo";
- const objectStoreKey = "10";
- info("Creating temp file");
- SpecialPowers.createFiles([{data:fileData, options:{type:fileType}}], function (files) {
- testGenerator.next(files[0]);
- });
- let file = yield undefined;
- ok(file instanceof File, "Got a File object");
- is(file.size, fileData.length, "Correct size");
- is(file.type, fileType, "Correct type");
- let fileReader = new FileReader();
- fileReader.onload = grabEventAndContinueHandler;
- fileReader.readAsText(file);
- let event = yield undefined;
- is(fileReader.result, fileData, "Correct data");
- let request = indexedDB.open(databaseName, 1);
- request.onerror = errorHandler;
- request.onupgradeneeded = grabEventAndContinueHandler;
- request.onsuccess = grabEventAndContinueHandler;
- event = yield undefined;
- let db = event.target.result;
- let objectStore = db.createObjectStore(objectStoreName);
- objectStore.put(file, objectStoreKey);
- event = yield undefined;
- db = event.target.result;
- file = null;
- objectStore = db.transaction(objectStoreName).objectStore(objectStoreName);
- objectStore.get(objectStoreKey).onsuccess = grabEventAndContinueHandler;
- event = yield undefined;
- file = event.target.result;
- ok(file instanceof File, "Got a File object");
- is(file.size, fileData.length, "Correct size");
- is(file.type, fileType, "Correct type");
- fileReader = new FileReader();
- fileReader.onload = grabEventAndContinueHandler;
- fileReader.readAsText(file);
- event = yield undefined;
- is(fileReader.result, fileData, "Correct data");
- finishTest();
- yield undefined;
- }
|