OLD | NEW |
1 library IndexedDB1Test; | 1 library IndexedDB1Test; |
2 import '../../pkg/unittest/lib/unittest.dart'; | 2 import '../../pkg/unittest/lib/unittest.dart'; |
3 import '../../pkg/unittest/lib/html_config.dart'; | 3 import '../../pkg/unittest/lib/html_config.dart'; |
4 import 'dart:async'; | 4 import 'dart:async'; |
5 import 'dart:html' as html; | 5 import 'dart:html' as html; |
6 import 'dart:indexed_db' as idb; | 6 import 'dart:indexed_db' as idb; |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 import 'utils.dart'; | 8 import 'utils.dart'; |
9 | 9 |
10 // Write and re-read Maps: simple Maps; Maps with DAGs; Maps with cycles. | 10 // Write and re-read Maps: simple Maps; Maps with DAGs; Maps with cycles. |
11 | 11 |
12 const String DB_NAME = 'Test2'; | 12 const String DB_NAME = 'Test2'; |
13 const String STORE_NAME = 'TEST'; | 13 const String STORE_NAME = 'TEST'; |
14 const int VERSION = 1; | 14 const int VERSION = 1; |
15 | 15 |
16 testReadWrite(key, value, check, | 16 testReadWrite(key, value, check, |
17 [dbName = DB_NAME, storeName = STORE_NAME, version = VERSION]) { | 17 [dbName = DB_NAME, storeName = STORE_NAME, version = VERSION]) { |
18 | 18 |
19 createObjectStore(e) { | 19 createObjectStore(e) { |
20 var store = e.target.result.createObjectStore(storeName); | 20 var store = e.target.result.createObjectStore(storeName); |
21 expect(store, isNotNull); | 21 expect(store, isNotNull); |
22 } | 22 } |
23 | 23 |
24 var db; | 24 var db; |
25 // Delete any existing DBs. | 25 // Delete any existing DBs. |
26 return html.window.indexedDB.deleteDatabase(dbName).then((_) { | 26 return html.window.indexedDB.deleteDatabase(dbName).then(expectAsync1((_) { |
27 return html.window.indexedDB.open(dbName, version: version, | 27 return html.window.indexedDB.open(dbName, version: version, |
28 onUpgradeNeeded: createObjectStore); | 28 onUpgradeNeeded: createObjectStore); |
29 }).then((result) { | 29 })).then(expectAsync1((result) { |
30 db = result; | 30 db = result; |
31 var transaction = db.transaction([storeName], 'readwrite'); | 31 var transaction = db.transaction([storeName], 'readwrite'); |
32 transaction.objectStore(storeName).put(value, key); | 32 transaction.objectStore(storeName).put(value, key); |
33 | 33 |
34 return transaction.completed; | 34 return transaction.completed; |
35 }).then((db) { | 35 })).then(expectAsync1((db) { |
36 var transaction = db.transaction(storeName, 'readonly'); | 36 var transaction = db.transaction(storeName, 'readonly'); |
37 return transaction.objectStore(storeName).getObject(key); | 37 return transaction.objectStore(storeName).getObject(key); |
38 }).then((object) { | 38 })).then(expectAsync1((object) { |
39 db.close(); | 39 db.close(); |
40 check(value, object); | 40 check(value, object); |
41 }).catchError((e) { | 41 })).catchError((e) { |
42 if (db != null) { | 42 if (db != null) { |
43 db.close(); | 43 db.close(); |
44 } | 44 } |
45 throw e; | 45 throw e; |
46 }); | 46 }); |
47 } | 47 } |
48 | 48 |
49 List<String> get nonNativeListData { | 49 List<String> get nonNativeListData { |
50 var list = new List<String>(); | 50 var list = new List<String>(); |
51 list.add("data"); | 51 list.add("data"); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 go('test_cycle', obj3); | 97 go('test_cycle', obj3); |
98 go('test_simple_splay', obj4); | 98 go('test_simple_splay', obj4); |
99 go('const_array_1', const [const [1], const [2]]); | 99 go('const_array_1', const [const [1], const [2]]); |
100 go('const_array_dag', const [const [1], const [1]]); | 100 go('const_array_dag', const [const [1], const [1]]); |
101 go('array_deferred_copy', [1,2,3, obj3, obj3, 6]); | 101 go('array_deferred_copy', [1,2,3, obj3, obj3, 6]); |
102 go('array_deferred_copy_2', [1,2,3, [4, 5, obj3], [obj3, 6]]); | 102 go('array_deferred_copy_2', [1,2,3, [4, 5, obj3], [obj3, 6]]); |
103 go('cyclic_list', cyclic_list); | 103 go('cyclic_list', cyclic_list); |
104 go('non-native lists', nonNativeListData); | 104 go('non-native lists', nonNativeListData); |
105 } | 105 } |
106 } | 106 } |
OLD | NEW |