[Worker] This tests basic operations putting blobs into an object store and then retrieving them.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Starting worker: resources/blob-simple-workers.js
[Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
[Worker]
[Worker] indexedDB.deleteDatabase(dbname)
[Worker] indexedDB.open(dbname)
[Worker] Initial upgrade needed: Old version - 0 New version - 1
[Worker] Let's create a blob and store it in IndexedDB twice.
[Worker] Added blob to database once
[Worker] Added blob to database twice
[Worker] Let's retrieve the blob again and verify the contents is the same.
[Worker] Got blob from database
[Worker] Correct text: true
[Worker] Let's retrieve it again, create an object URL for the blob, load it via an XMLHttpRequest, and verify the contents are the same.
[Worker] Got blob from database
[Worker] Correct responseText: true
[Worker] Retrieve both blob entries from the database and verify contents.
[Worker] Correct text on first value: true
[Worker] Correct text on second value: true
[Worker] Got item from cursor
[Worker] Got item from cursor
[Worker] Finished cursor
[Worker] Got right number of items: true
[Worker] Correct text: true
[Worker] Retrieve blobs from database via index and verify contents.
[Worker] Got blob from database
[Worker] Correct text: true
[Worker] Got item from cursor
[Worker] Got item from cursor
[Worker] Finished cursor
[Worker] Got right number of items: true
[Worker] Correct text: true
[Worker] Correct text: true
[Worker] Slice the the retrieved blob and verify its contents.
[Worker] Correct text: true
[Worker] Store a blob back in the database, and keep holding on to the blob, verifying that it still can be read.
[Worker] Got blob from database
[Worker] Stored blob back into database
[Worker] Correct text: true
[Worker] Correct responseText: true
PASS successfullyParsed is true

TEST COMPLETE

