Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(778)

Side by Side Diff: LayoutTests/storage/indexeddb/database-closepending-flag-expected.txt

Issue 19107003: IndexedDB: Log exception messages (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 Test IndexedDB IDBDatabase internal closePending flag 1 Test IndexedDB IDBDatabase internal closePending flag
2 2
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE ". 3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE ".
4 4
5 5
6 indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self. msIndexedDB || self.OIndexedDB; 6 indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self. msIndexedDB || self.OIndexedDB;
7 7
8 dbname = "database-closepending-flag.html" 8 dbname = "database-closepending-flag.html"
9 indexedDB.deleteDatabase(dbname) 9 indexedDB.deleteDatabase(dbname)
10 indexedDB.open(dbname) 10 indexedDB.open(dbname)
11 store = connection.createObjectStore('store') 11 store = connection.createObjectStore('store')
12 12
13 First, verify that the database connection is not closed: 13 First, verify that the database connection is not closed:
14 PASS transaction = connection.transaction('store') did not throw exception. 14 PASS transaction = connection.transaction('store') did not throw exception.
15 15
16 Database closing steps 16 Database closing steps
17 "1. Set the internal closePending flag of connection to true." 17 "1. Set the internal closePending flag of connection to true."
18 connection.close() 18 connection.close()
19 Expecting exception from connection.transaction('store') 19 Expecting exception from connection.transaction('store')
20 PASS Exception was thrown. 20 PASS Exception was thrown.
21 PASS code is DOMException.INVALID_STATE_ERR 21 PASS code is DOMException.INVALID_STATE_ERR
22 PASS ename is 'InvalidStateError' 22 PASS ename is 'InvalidStateError'
23 Exception message: The database connection is closing.
23 "2. Wait for all transactions created using connection to complete. Once they ar e complete, connection is closed." 24 "2. Wait for all transactions created using connection to complete. Once they ar e complete, connection is closed."
24 transaction.oncomplete = testIDBDatabaseName 25 transaction.oncomplete = testIDBDatabaseName
25 26
26 IDBDatabase.name: 27 IDBDatabase.name:
27 "The function must return this name even if the closePending flag is set on the connection." 28 "The function must return this name even if the closePending flag is set on the connection."
28 PASS connection.name is dbname 29 PASS connection.name is dbname
29 30
30 IDBDatabase.objectStoreNames: 31 IDBDatabase.objectStoreNames:
31 "Once the closePending flag is set on the connection, this function must return a snapshot of the list of names of the object stores taken at the time when the close method was called." 32 "Once the closePending flag is set on the connection, this function must return a snapshot of the list of names of the object stores taken at the time when the close method was called."
32 request = indexedDB.open(dbname, 2) 33 request = indexedDB.open(dbname, 2)
33 version_change_connection = request.result 34 version_change_connection = request.result
34 version_change_connection.createObjectStore('new_store') 35 version_change_connection.createObjectStore('new_store')
35 PASS version_change_connection.objectStoreNames.contains('new_store') is true 36 PASS version_change_connection.objectStoreNames.contains('new_store') is true
36 PASS connection.objectStoreNames.contains('new_store') is false 37 PASS connection.objectStoreNames.contains('new_store') is false
37 version_change_connection.close() 38 version_change_connection.close()
38 39
39 IDBDatabase.transaction(): 40 IDBDatabase.transaction():
40 "...if this method is called on a IDBDatabase instance where the closePending fl ag is set, a InvalidStateError exception must be thrown." 41 "...if this method is called on a IDBDatabase instance where the closePending fl ag is set, a InvalidStateError exception must be thrown."
41 Expecting exception from connection.transaction('store') 42 Expecting exception from connection.transaction('store')
42 PASS Exception was thrown. 43 PASS Exception was thrown.
43 PASS code is DOMException.INVALID_STATE_ERR 44 PASS code is DOMException.INVALID_STATE_ERR
44 PASS ename is 'InvalidStateError' 45 PASS ename is 'InvalidStateError'
46 Exception message: The database connection is closing.
45 47
46 "versionchange" transaction steps: 48 "versionchange" transaction steps:
47 "Fire a versionchange event at each object in openDatabases that is open. The ev ent must not be fired on objects which has the closePending flag set." 49 "Fire a versionchange event at each object in openDatabases that is open. The ev ent must not be fired on objects which has the closePending flag set."
48 request = indexedDB.open(dbname) 50 request = indexedDB.open(dbname)
49 connection = request.result 51 connection = request.result
50 versionChangeWasFired = false 52 versionChangeWasFired = false
51 connection.onversionchange = function () { versionChangeWasFired = true; } 53 connection.onversionchange = function () { versionChangeWasFired = true; }
52 transaction = connection.transaction('store') 54 transaction = connection.transaction('store')
53 connection.close() 55 connection.close()
54 closePending is set, but active transaction will keep connection from closing 56 closePending is set, but active transaction will keep connection from closing
(...skipping 12 matching lines...) Expand all
67 transaction = connection.transaction('store') 69 transaction = connection.transaction('store')
68 connection.close() 70 connection.close()
69 closePending is set, but active transaction will keep connection from closing 71 closePending is set, but active transaction will keep connection from closing
70 request = indexedDB.deleteDatabase(dbname) 72 request = indexedDB.deleteDatabase(dbname)
71 'blocked' event fired, letting transaction complete and connection close 73 'blocked' event fired, letting transaction complete and connection close
72 PASS versionChangeWasFired is false 74 PASS versionChangeWasFired is false
73 PASS successfullyParsed is true 75 PASS successfullyParsed is true
74 76
75 TEST COMPLETE 77 TEST COMPLETE
76 78
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698