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

Side by Side Diff: third_party/WebKit/LayoutTests/storage/indexeddb/resources/readonly.js

Issue 2276593002: Support renaming of IndexedDB indexes and object stores. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added test coverage for the (slightly incorrect) behavior in strict mode when our flag is not enabl… Created 4 years, 3 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
OLDNEW
1 if (this.importScripts) { 1 if (this.importScripts) {
2 importScripts('../../../resources/js-test.js'); 2 importScripts('../../../resources/js-test.js');
3 importScripts('shared.js'); 3 importScripts('shared.js');
4 } 4 }
5 5
6 description("Test IndexedDB readonly properties"); 6 description("Test IndexedDB readonly properties");
7 7
8 function setReadonlyProperty(property, value) 8 function setReadonlyProperty(property, value)
9 { 9 {
10 oldValue = eval(property); 10 oldValue = eval(property);
(...skipping 12 matching lines...) Expand all
23 { 23 {
24 db = event.target.result; 24 db = event.target.result;
25 transaction = evalAndLog("transaction = event.target.transaction;"); 25 transaction = evalAndLog("transaction = event.target.transaction;");
26 setReadonlyProperty("transaction.mode", "666"); 26 setReadonlyProperty("transaction.mode", "666");
27 setReadonlyProperty("transaction.db", "this"); 27 setReadonlyProperty("transaction.db", "this");
28 28
29 deleteAllObjectStores(db); 29 deleteAllObjectStores(db);
30 30
31 objectStore = evalAndLog("objectStore = db.createObjectStore('foo');"); 31 objectStore = evalAndLog("objectStore = db.createObjectStore('foo');");
32 32
33 setReadonlyProperty("objectStore.name", "'bar'");
34 setReadonlyProperty("objectStore.keyPath", "'bar'"); 33 setReadonlyProperty("objectStore.keyPath", "'bar'");
35 /* fails, split into separate test 34 /* fails, split into separate test
36 setReadonlyProperty("objectStore.indexNames", "['bar']"); 35 setReadonlyProperty("objectStore.indexNames", "['bar']");
37 */ 36 */
38 /* fails, split into separate test 37 /* fails, split into separate test
39 setReadonlyProperty("objectStore.transaction", "this"); 38 setReadonlyProperty("objectStore.transaction", "this");
40 */ 39 */
41 40
42 result = evalAndLog("result = objectStore.add({}, 'first');"); 41 result = evalAndLog("result = objectStore.add({}, 'first');");
43 result.onerror = unexpectedErrorCallback; 42 result.onerror = unexpectedErrorCallback;
(...skipping 13 matching lines...) Expand all
57 if (cursor) { 56 if (cursor) {
58 setReadonlyProperty("cursor.source", "this"); 57 setReadonlyProperty("cursor.source", "this");
59 setReadonlyProperty("cursor.direction", "666"); 58 setReadonlyProperty("cursor.direction", "666");
60 setReadonlyProperty("cursor.key", "Infinity"); 59 setReadonlyProperty("cursor.key", "Infinity");
61 setReadonlyProperty("cursor.primaryKey", "Infinity"); 60 setReadonlyProperty("cursor.primaryKey", "Infinity");
62 } else { 61 } else {
63 testFailed("cursor is null"); 62 testFailed("cursor is null");
64 } 63 }
65 64
66 index = evalAndLog("index = objectStore.createIndex('first', 'first');"); 65 index = evalAndLog("index = objectStore.createIndex('first', 'first');");
67 setReadonlyProperty("index.name", "'bar'");
68 setReadonlyProperty("index.objectStore", "this"); 66 setReadonlyProperty("index.objectStore", "this");
69 setReadonlyProperty("index.keyPath", "'bar'"); 67 setReadonlyProperty("index.keyPath", "'bar'");
70 setReadonlyProperty("index.unique", "true"); 68 setReadonlyProperty("index.unique", "true");
71 69
72 keyRange = IDBKeyRange.only("first"); 70 keyRange = IDBKeyRange.only("first");
73 setReadonlyProperty("keyRange.lower", "Infinity"); 71 setReadonlyProperty("keyRange.lower", "Infinity");
74 setReadonlyProperty("keyRange.upper", "Infinity"); 72 setReadonlyProperty("keyRange.upper", "Infinity");
75 setReadonlyProperty("keyRange.lowerOpen", "true"); 73 setReadonlyProperty("keyRange.lowerOpen", "true");
76 setReadonlyProperty("keyRange.upperOpen", "true"); 74 setReadonlyProperty("keyRange.upperOpen", "true");
77 } 75 }
78 76
79 function openSuccess() 77 function openSuccess()
80 { 78 {
81 request = event.target; 79 request = event.target;
82 setReadonlyProperty("request.result", "Infinity"); 80 setReadonlyProperty("request.result", "Infinity");
83 setReadonlyProperty("request.error", "{}"); 81 setReadonlyProperty("request.error", "{}");
84 setReadonlyProperty("request.source", "this"); 82 setReadonlyProperty("request.source", "this");
85 setReadonlyProperty("request.transaction", "this"); 83 setReadonlyProperty("request.transaction", "this");
86 setReadonlyProperty("request.readyState", "666"); 84 setReadonlyProperty("request.readyState", "666");
87 85
88 db = evalAndLog("db = event.target.result"); 86 db = evalAndLog("db = event.target.result");
89 setReadonlyProperty("db.name", "'bar'"); 87 setReadonlyProperty("db.name", "'bar'");
90 88
91 finishJSTest(); 89 finishJSTest();
92 } 90 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698