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

Side by Side Diff: tests/html/indexeddb_1_test.dart

Issue 11275054: Modified unittest to use new argument syntax. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 1 month 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 #library('IndexedDB1Test'); 1 #library('IndexedDB1Test');
2 #import('../../pkg/unittest/unittest.dart'); 2 #import('../../pkg/unittest/unittest.dart');
3 #import('../../pkg/unittest/html_config.dart'); 3 #import('../../pkg/unittest/html_config.dart');
4 #import('dart:html'); 4 #import('dart:html');
5 5
6 const String DB_NAME = 'Test'; 6 const String DB_NAME = 'Test';
7 const String STORE_NAME = 'TEST'; 7 const String STORE_NAME = 'TEST';
8 const int VERSION = 1; 8 const int VERSION = 1;
9 9
10 testReadWrite(key, value, check, 10 testReadWrite(key, value, matcher,
11 [dbName = DB_NAME, 11 [dbName = DB_NAME,
12 storeName = STORE_NAME, 12 storeName = STORE_NAME,
13 version = VERSION]) => () { 13 version = VERSION]) => () {
14 var db; 14 var db;
15 15
16 fail(e) { 16 fail(e) {
17 guardAsync(() { 17 guardAsync(() {
18 throw const Exception('IndexedDB failure'); 18 throw const Exception('IndexedDB failure');
19 }); 19 });
20 } 20 }
21 21
22 createObjectStore(db) { 22 createObjectStore(db) {
23 var store = db.createObjectStore(storeName); 23 var store = db.createObjectStore(storeName);
24 expect(store, isNotNull); 24 expect(store, isNotNull);
25 } 25 }
26 26
27 step2(e) { 27 step2(e) {
28 var transaction = db.transaction(storeName, 'readonly'); 28 var transaction = db.transaction(storeName, 'readonly');
29 var request = transaction.objectStore(storeName).getObject(key); 29 var request = transaction.objectStore(storeName).getObject(key);
30 request.on.success.add(expectAsync1((e) { 30 request.on.success.add(expectAsync1((e) {
31 var object = e.target.result; 31 var object = e.target.result;
32 db.close(); 32 db.close();
33 check(value, object); 33 expect(object, matcher);
34 })); 34 }));
35 request.on.error.add(fail); 35 request.on.error.add(fail);
36 } 36 }
37 37
38 step1() { 38 step1() {
39 var transaction = db.transaction([storeName], 'readwrite'); 39 var transaction = db.transaction([storeName], 'readwrite');
40 var request = transaction.objectStore(storeName).put(value, key); 40 var request = transaction.objectStore(storeName).put(value, key);
41 request.on.success.add(expectAsync1(step2)); 41 request.on.success.add(expectAsync1(step2));
42 request.on.error.add(fail); 42 request.on.error.add(fail);
43 } 43 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 }); 76 });
77 } 77 }
78 } 78 }
79 79
80 // Delete any existing DB. 80 // Delete any existing DB.
81 var deleteRequest = window.indexedDB.deleteDatabase(dbName); 81 var deleteRequest = window.indexedDB.deleteDatabase(dbName);
82 deleteRequest.on.success.add(expectAsync1(openDb)); 82 deleteRequest.on.success.add(expectAsync1(openDb));
83 deleteRequest.on.error.add(fail); 83 deleteRequest.on.error.add(fail);
84 }; 84 };
85 85
86 testReadWriteTyped(key, value, check, 86 testReadWriteTyped(key, value, matcher,
87 [dbName = DB_NAME, 87 [dbName = DB_NAME,
88 storeName = STORE_NAME, 88 storeName = STORE_NAME,
89 version = VERSION]) => () { 89 version = VERSION]) => () {
90 IDBDatabase db; 90 IDBDatabase db;
91 91
92 fail(e) { 92 fail(e) {
93 guardAsync(() { 93 guardAsync(() {
94 throw const Exception('IndexedDB failure'); 94 throw const Exception('IndexedDB failure');
95 }); 95 });
96 } 96 }
97 97
98 createObjectStore(db) { 98 createObjectStore(db) {
99 IDBObjectStore store = db.createObjectStore(storeName); 99 IDBObjectStore store = db.createObjectStore(storeName);
100 expect(store, isNotNull); 100 expect(store, isNotNull);
101 } 101 }
102 102
103 step2(e) { 103 step2(e) {
104 IDBTransaction transaction = db.transaction(storeName, 'readonly'); 104 IDBTransaction transaction = db.transaction(storeName, 'readonly');
105 IDBRequest request = transaction.objectStore(storeName).getObject(key); 105 IDBRequest request = transaction.objectStore(storeName).getObject(key);
106 request.on.success.add(expectAsync1((e) { 106 request.on.success.add(expectAsync1((e) {
107 var object = e.target.result; 107 var object = e.target.result;
108 db.close(); 108 db.close();
109 check(value, object); 109 expect(object, matcher);
110 })); 110 }));
111 request.on.error.add(fail); 111 request.on.error.add(fail);
112 } 112 }
113 113
114 step1() { 114 step1() {
115 IDBTransaction transaction = db.transaction([storeName], 'readwrite'); 115 IDBTransaction transaction = db.transaction([storeName], 'readwrite');
116 IDBRequest request = transaction.objectStore(storeName).put(value, key); 116 IDBRequest request = transaction.objectStore(storeName).put(value, key);
117 request.on.success.add(expectAsync1(step2)); 117 request.on.success.add(expectAsync1(step2));
118 request.on.error.add(fail); 118 request.on.error.add(fail);
119 } 119 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 } 153 }
154 } 154 }
155 155
156 // Delete any existing DB. 156 // Delete any existing DB.
157 IDBRequest deleteRequest = window.indexedDB.deleteDatabase(dbName); 157 IDBRequest deleteRequest = window.indexedDB.deleteDatabase(dbName);
158 deleteRequest.on.success.add(expectAsync1(openDb)); 158 deleteRequest.on.success.add(expectAsync1(openDb));
159 deleteRequest.on.error.add(fail); 159 deleteRequest.on.error.add(fail);
160 }; 160 };
161 161
162 tests_dynamic() { 162 tests_dynamic() {
163 test('test1', testReadWrite(123, 'Hoot!', Expect.equals)); 163 test('test1', testReadWrite(123, 'Hoot!', equals('Hoot!')));
164 test('test2', testReadWrite(123, 12345, Expect.equals)); 164 test('test2', testReadWrite(123, 12345, equals(12345)));
165 test('test3', testReadWrite(123, [1,2,3], Expect.listEquals)); 165 test('test3', testReadWrite(123, [1, 2, 3], equals([1, 2, 3])));
166 test('test4', testReadWrite(123, const [2, 3, 4], Expect.listEquals)); 166 test('test4', testReadWrite(123, [2, 3, 4], equals([2, 3, 4])));
167 } 167 }
168 168
169 tests_typed() { 169 tests_typed() {
170 test('test1', testReadWriteTyped(123, 'Hoot!', Expect.equals)); 170 test('test1', testReadWriteTyped(123, 'Hoot!', equals('Hoot!')));
171 test('test2', testReadWriteTyped(123, 12345, Expect.equals)); 171 test('test2', testReadWriteTyped(123, 12345, equals(12345)));
172 test('test3', testReadWriteTyped(123, [1,2,3], Expect.listEquals)); 172 test('test3', testReadWriteTyped(123, [1, 2, 3], equals([1, 2, 3])));
173 test('test4', 173 test('test4', testReadWriteTyped(123, [2, 3, 4], equals([2, 3, 4])));
174 testReadWriteTyped(123, const [2, 3, 4], Expect.listEquals));
175 } 174 }
176 175
177 main() { 176 main() {
178 useHtmlConfiguration(); 177 useHtmlConfiguration();
179 178
180 tests_dynamic(); 179 tests_dynamic();
181 tests_typed(); 180 tests_typed();
182 } 181 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698