chromium/third_party/blink/web_tests/storage/indexeddb/blob-basics-metadata-expected.txt

Confirm basic Blob/File/FileList functionality.

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

dbname = "blob-basics-metadata.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
store = db.createObjectStore('storeName')
store.put('value', 'key')


testBlob():
PASS FileReader != null is true
test_content = 'This is a test. This is only a test.'
blob = new Blob([test_content])


validateResult(blob):
PASS blob.size == test_content.length is true
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
store.put(blob, 'blobkey')
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
request = store.get('blobkey')
PASS event.target.result.size == test_content.length is true


testFile():
file = fileInput.files[0]


validateResult(file):
PASS file.name == fileInput.files[0].name is true
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
store.put(file, 'filekey')
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
request = store.get('filekey')
PASS event.target.result.name == fileInput.files[0].name is true


testNewFile():
newFile = new File([test_content], 'filename', {type:'text/plain'})


validateResult(newFile):
PASS newFile.name == newFile.name is true
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
store.put(newFile, 'newFilekey')
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
request = store.get('newFilekey')
PASS event.target.result.name == newFile.name is true


testFileList():
filelist = fileInput.files


validateResult(filelist):
PASS filelist[1].name == fileInput.files[1].name is true
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
store.put(filelist, 'filelistkey')
transaction = db.transaction('storeName', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
request = store.get('filelistkey')
PASS event.target.result[1].name == fileInput.files[1].name is true


testCursor():
transaction = db.transaction('storeName', 'readonly', {durability: 'relaxed'})
store = transaction.objectStore('storeName')
request = store.openCursor()
PASS cursor.value.size == test_content.length is true
cursor.continue();
PASS cursor.value.name == fileInput.files[0].name is true
cursor.continue();
PASS cursor.value[1].name == fileInput.files[1].name is true
cursor.continue();
PASS cursor.value == 'value' is true
cursor.continue();
PASS cursor.value.name == newFile.name is true
cursor.continue();
PASS cursor is null
PASS successfullyParsed is true

TEST COMPLETE