Confirm that IndexedDB can store an empty Blob/File/FileList On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". dbname = "empty-blob-file.html" indexedDB.deleteDatabase(dbname) indexedDB.open(dbname) store = db.createObjectStore('storeName') store.put('value', 'key') testEmptyBlob(): blob = new Blob([]) validateResult(blob): PASS blob.size == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(blob, 'blobkey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('blobkey') PASS event.target.result.size == 0 is true testEmptyDataBlob(): blob = new Blob(['', '', '']) validateResult(blob): PASS blob.size == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(blob, 'blobkey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('blobkey') PASS event.target.result.size == 0 is true testEmptyNestedBlob(): blob = new Blob(['', new Blob([]), '']) validateResult(blob): PASS blob.size == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(blob, 'blobkey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('blobkey') PASS event.target.result.size == 0 is true testEmptyNestedDataBlob(): blob = new Blob(['', new Blob(['']), '']) validateResult(blob): PASS blob.size == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(blob, 'blobkey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('blobkey') PASS event.target.result.size == 0 is true testEmptyFileInsideBlob(): file = emptyFileInput.files[0] blob = new Blob(['', file, '']) validateResult(blob): PASS blob.size == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(blob, 'blobkey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('blobkey') PASS event.target.result.size == 0 is true testEmptyFileInsideNestedBlob(): file = emptyFileInput.files[0] blob = new Blob(['', new Blob([file]), '']) validateResult(blob): PASS blob.size == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(blob, 'blobkey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('blobkey') PASS event.target.result.size == 0 is true testEmptyFile(): file = emptyFileInput.files[0] validateResult(file): PASS file.size == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(file, 'filekey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('filekey') PASS event.target.result.size == 0 is true testEmptyFileList(): fileList = emptyFileListInput.files validateResult(fileList): PASS fileList.length == 0 is true transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') store.put(fileList, 'fileListkey') transaction = db.transaction('storeName', 'readwrite') store = transaction.objectStore('storeName') request = store.get('fileListkey') PASS event.target.result.length == 0 is true PASS successfullyParsed is true TEST COMPLETE