OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |