Index: test/codegen/expect/lib/html/indexeddb_1_test.js |
diff --git a/test/codegen/expect/lib/html/indexeddb_1_test.js b/test/codegen/expect/lib/html/indexeddb_1_test.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d7a4c222d6b63ae88c56e56afd21da2844f8f92c |
--- /dev/null |
+++ b/test/codegen/expect/lib/html/indexeddb_1_test.js |
@@ -0,0 +1,189 @@ |
+dart_library.library('lib/html/indexeddb_1_test', null, /* Imports */[ |
+ 'dart_sdk', |
+ 'unittest' |
+], function load__indexeddb_1_test(exports, dart_sdk, unittest) { |
+ 'use strict'; |
+ const core = dart_sdk.core; |
+ const indexed_db = dart_sdk.indexed_db; |
+ const html = dart_sdk.html; |
+ const async = dart_sdk.async; |
+ const _interceptors = dart_sdk._interceptors; |
+ const dart = dart_sdk.dart; |
+ const dartx = dart_sdk.dartx; |
+ const src__matcher__expect = unittest.src__matcher__expect; |
+ const src__matcher__core_matchers = unittest.src__matcher__core_matchers; |
+ const unittest$ = unittest.unittest; |
+ const html_individual_config = unittest.html_individual_config; |
+ const src__matcher__throws_matcher = unittest.src__matcher__throws_matcher; |
+ const indexeddb_1_test = Object.create(null); |
+ let FutureOfDatabase = () => (FutureOfDatabase = dart.constFn(async.Future$(indexed_db.Database)))(); |
+ let FutureOfIdbFactory = () => (FutureOfIdbFactory = dart.constFn(async.Future$(indexed_db.IdbFactory)))(); |
+ let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))(); |
+ let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))(); |
+ let JSArrayOfbool = () => (JSArrayOfbool = dart.constFn(_interceptors.JSArray$(core.bool)))(); |
+ let VoidToString = () => (VoidToString = dart.constFn(dart.definiteFunctionType(core.String, [])))(); |
+ let DatabaseTodynamic = () => (DatabaseTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [indexed_db.Database])))(); |
+ let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic])))(); |
+ let dynamicToFutureOfDatabase = () => (dynamicToFutureOfDatabase = dart.constFn(dart.definiteFunctionType(FutureOfDatabase(), [dart.dynamic])))(); |
+ let IdbFactoryToFutureOfDatabase = () => (IdbFactoryToFutureOfDatabase = dart.constFn(dart.definiteFunctionType(FutureOfDatabase(), [indexed_db.IdbFactory])))(); |
+ let VoidToFuture = () => (VoidToFuture = dart.constFn(dart.definiteFunctionType(async.Future, [])))(); |
+ let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))(); |
+ let VoidToFutureOfIdbFactory = () => (VoidToFutureOfIdbFactory = dart.constFn(dart.definiteFunctionType(FutureOfIdbFactory(), [])))(); |
+ let dynamicAnddynamicAnddynamic__Todynamic = () => (dynamicAnddynamicAnddynamic__Todynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.dynamic], [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])))(); |
+ let DatabaseToFuture = () => (DatabaseToFuture = dart.constFn(dart.definiteFunctionType(async.Future, [indexed_db.Database])))(); |
+ let DatabaseToFutureOfDatabase = () => (DatabaseToFutureOfDatabase = dart.constFn(dart.definiteFunctionType(FutureOfDatabase(), [indexed_db.Database])))(); |
+ let dynamicTobool = () => (dynamicTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))(); |
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))(); |
+ let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))(); |
+ indexeddb_1_test.STORE_NAME = 'TEST'; |
+ indexeddb_1_test.VERSION = 1; |
+ indexeddb_1_test.databaseNameIndex = 0; |
+ indexeddb_1_test.nextDatabaseName = function() { |
+ return dart.str`Test1_${(() => { |
+ let x = indexeddb_1_test.databaseNameIndex; |
+ indexeddb_1_test.databaseNameIndex = dart.notNull(x) + 1; |
+ return x; |
+ })()}`; |
+ }; |
+ dart.fn(indexeddb_1_test.nextDatabaseName, VoidToString()); |
+ indexeddb_1_test.testUpgrade = function() { |
+ let dbName = indexeddb_1_test.nextDatabaseName(); |
+ let upgraded = false; |
+ return html.window[dartx.indexedDB][dartx.deleteDatabase](dbName).then(FutureOfDatabase())(dart.fn(_ => html.window[dartx.indexedDB][dartx.open](dbName, {version: 1, onUpgradeNeeded: dart.fn(e => { |
+ }, dynamicTovoid())}), IdbFactoryToFutureOfDatabase())).then(dart.dynamic)(dart.fn(db => { |
+ db[dartx.close](); |
+ }, DatabaseTodynamic())).then(FutureOfDatabase())(dart.fn(_ => html.window[dartx.indexedDB][dartx.open](dbName, {version: 2, onUpgradeNeeded: dart.fn(e => { |
+ src__matcher__expect.expect(dart.dload(e, 'oldVersion'), 1); |
+ src__matcher__expect.expect(dart.dload(e, 'newVersion'), 2); |
+ upgraded = true; |
+ }, dynamicTovoid())}), dynamicToFutureOfDatabase())).then(dart.dynamic)(dart.fn(_ => { |
+ src__matcher__expect.expect(upgraded, src__matcher__core_matchers.isTrue); |
+ }, DatabaseTodynamic())); |
+ }; |
+ dart.fn(indexeddb_1_test.testUpgrade, VoidToFuture()); |
+ indexeddb_1_test.testReadWrite = function(key, value, matcher, dbName, storeName, version, stringifyResult) { |
+ if (dbName === void 0) dbName = null; |
+ if (storeName === void 0) storeName = indexeddb_1_test.STORE_NAME; |
+ if (version === void 0) version = indexeddb_1_test.VERSION; |
+ if (stringifyResult === void 0) stringifyResult = false; |
+ return dart.fn(() => { |
+ if (dbName == null) { |
+ dbName = indexeddb_1_test.nextDatabaseName(); |
+ } |
+ function createObjectStore(e) { |
+ let store = dart.dsend(dart.dload(dart.dload(e, 'target'), 'result'), 'createObjectStore', storeName); |
+ src__matcher__expect.expect(store, src__matcher__core_matchers.isNotNull); |
+ } |
+ dart.fn(createObjectStore, dynamicTodynamic()); |
+ let db = null; |
+ return html.window[dartx.indexedDB][dartx.deleteDatabase](core.String._check(dbName)).then(FutureOfDatabase())(dart.fn(_ => html.window[dartx.indexedDB][dartx.open](core.String._check(dbName), {version: core.int._check(version), onUpgradeNeeded: createObjectStore}), IdbFactoryToFutureOfDatabase())).then(dart.dynamic)(dart.fn(result => { |
+ db = result; |
+ let transaction = dart.dsend(db, 'transactionList', [storeName], 'readwrite'); |
+ dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'put', value, key); |
+ return dart.dload(transaction, 'completed'); |
+ }, DatabaseTodynamic())).then(dart.dynamic)(dart.fn(_ => { |
+ let transaction = dart.dsend(db, 'transaction', storeName, 'readonly'); |
+ return dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'getObject', key); |
+ }, dynamicTodynamic())).then(dart.dynamic)(dart.fn(object => { |
+ dart.dsend(db, 'close'); |
+ if (dart.test(stringifyResult)) { |
+ src__matcher__expect.expect(dart.toString(object), matcher); |
+ } else { |
+ src__matcher__expect.expect(object, matcher); |
+ } |
+ }, dynamicTodynamic())).whenComplete(dart.fn(() => { |
+ if (db != null) { |
+ dart.dsend(db, 'close'); |
+ } |
+ return html.window[dartx.indexedDB][dartx.deleteDatabase](core.String._check(dbName)); |
+ }, VoidToFutureOfIdbFactory())); |
+ }, VoidToFuture()); |
+ }; |
+ dart.fn(indexeddb_1_test.testReadWrite, dynamicAnddynamicAnddynamic__Todynamic()); |
+ indexeddb_1_test.testReadWriteTyped = function(key, value, matcher, dbName, storeName, version, stringifyResult) { |
+ if (dbName === void 0) dbName = null; |
+ if (storeName === void 0) storeName = indexeddb_1_test.STORE_NAME; |
+ if (version === void 0) version = indexeddb_1_test.VERSION; |
+ if (stringifyResult === void 0) stringifyResult = false; |
+ return dart.fn(() => { |
+ if (dbName == null) { |
+ dbName = indexeddb_1_test.nextDatabaseName(); |
+ } |
+ function createObjectStore(e) { |
+ let store = dart.dsend(dart.dload(dart.dload(e, 'target'), 'result'), 'createObjectStore', storeName); |
+ src__matcher__expect.expect(store, src__matcher__core_matchers.isNotNull); |
+ } |
+ dart.fn(createObjectStore, dynamicTovoid()); |
+ let db = null; |
+ return html.window[dartx.indexedDB][dartx.deleteDatabase](core.String._check(dbName)).then(FutureOfDatabase())(dart.fn(_ => html.window[dartx.indexedDB][dartx.open](core.String._check(dbName), {version: core.int._check(version), onUpgradeNeeded: createObjectStore}), IdbFactoryToFutureOfDatabase())).then(FutureOfDatabase())(dart.fn(result => { |
+ db = result; |
+ let transaction = db[dartx.transactionList](JSArrayOfString().of([core.String._check(storeName)]), 'readwrite'); |
+ transaction[dartx.objectStore](core.String._check(storeName))[dartx.put](value, key); |
+ return transaction[dartx.completed]; |
+ }, DatabaseToFutureOfDatabase())).then(async.Future)(dart.fn(result => { |
+ let transaction = db[dartx.transaction](storeName, 'readonly'); |
+ return transaction[dartx.objectStore](core.String._check(storeName))[dartx.getObject](key); |
+ }, DatabaseToFuture())).then(dart.dynamic)(dart.fn(object => { |
+ db[dartx.close](); |
+ if (dart.test(stringifyResult)) { |
+ src__matcher__expect.expect(dart.toString(object), matcher); |
+ } else { |
+ src__matcher__expect.expect(object, matcher); |
+ } |
+ }, dynamicTodynamic())).whenComplete(dart.fn(() => { |
+ if (db != null) { |
+ db[dartx.close](); |
+ } |
+ return html.window[dartx.indexedDB][dartx.deleteDatabase](core.String._check(dbName)); |
+ }, VoidToFutureOfIdbFactory())); |
+ }, VoidToFuture()); |
+ }; |
+ dart.fn(indexeddb_1_test.testReadWriteTyped, dynamicAnddynamicAnddynamic__Todynamic()); |
+ indexeddb_1_test.testTypes = function(testFunction) { |
+ unittest$.test('String', unittest$.TestFunction._check(dart.dcall(testFunction, 123, 'Hoot!', src__matcher__core_matchers.equals('Hoot!')))); |
+ unittest$.test('int', unittest$.TestFunction._check(dart.dcall(testFunction, 123, 12345, src__matcher__core_matchers.equals(12345)))); |
+ unittest$.test('List', unittest$.TestFunction._check(dart.dcall(testFunction, 123, JSArrayOfint().of([1, 2, 3]), src__matcher__core_matchers.equals(JSArrayOfint().of([1, 2, 3]))))); |
+ unittest$.test('List 2', unittest$.TestFunction._check(dart.dcall(testFunction, 123, JSArrayOfint().of([2, 3, 4]), src__matcher__core_matchers.equals(JSArrayOfint().of([2, 3, 4]))))); |
+ unittest$.test('bool', unittest$.TestFunction._check(dart.dcall(testFunction, 123, JSArrayOfbool().of([true, false]), src__matcher__core_matchers.equals(JSArrayOfbool().of([true, false]))))); |
+ unittest$.test('largeInt', unittest$.TestFunction._check(dart.dcall(testFunction, 123, 1371854424211, src__matcher__core_matchers.equals("1371854424211"), null, indexeddb_1_test.STORE_NAME, indexeddb_1_test.VERSION, true))); |
+ unittest$.test('largeDoubleConvertedToInt', unittest$.TestFunction._check(dart.dcall(testFunction, 123, 1371854424211.0, src__matcher__core_matchers.equals("1371854424211"), null, indexeddb_1_test.STORE_NAME, indexeddb_1_test.VERSION, true))); |
+ unittest$.test('largeIntInMap', unittest$.TestFunction._check(dart.dcall(testFunction, 123, dart.map({time: 4503599627370492}), src__matcher__core_matchers.equals("{time: 4503599627370492}"), null, indexeddb_1_test.STORE_NAME, indexeddb_1_test.VERSION, true))); |
+ let now = new core.DateTime.now(); |
+ unittest$.test('DateTime', unittest$.TestFunction._check(dart.dcall(testFunction, 123, now, src__matcher__core_matchers.predicate(dart.fn(date => dart.equals(dart.dload(date, 'millisecondsSinceEpoch'), now.millisecondsSinceEpoch), dynamicTobool()))))); |
+ }; |
+ dart.fn(indexeddb_1_test.testTypes, dynamicTovoid()); |
+ indexeddb_1_test.main = function() { |
+ html_individual_config.useHtmlIndividualConfiguration(); |
+ unittest$.group('supported', dart.fn(() => { |
+ unittest$.test('supported', dart.fn(() => { |
+ src__matcher__expect.expect(indexed_db.IdbFactory[dartx.supported], true); |
+ }, VoidTodynamic())); |
+ }, VoidTovoid())); |
+ unittest$.group('supportsDatabaseNames', dart.fn(() => { |
+ unittest$.test('supported', dart.fn(() => { |
+ src__matcher__expect.expect(html.window[dartx.indexedDB][dartx.supportsDatabaseNames], src__matcher__core_matchers.isTrue); |
+ }, VoidTodynamic())); |
+ }, VoidTovoid())); |
+ unittest$.group('functional', dart.fn(() => { |
+ unittest$.test('throws when unsupported', dart.fn(() => { |
+ let expectation = dart.test(indexed_db.IdbFactory[dartx.supported]) ? src__matcher__core_matchers.returnsNormally : src__matcher__throws_matcher.throws; |
+ src__matcher__expect.expect(dart.fn(() => { |
+ let db = html.window[dartx.indexedDB]; |
+ db[dartx.open]('random_db'); |
+ }, VoidTodynamic()), expectation); |
+ }, VoidTodynamic())); |
+ if (dart.test(indexed_db.IdbFactory[dartx.supported])) { |
+ unittest$.test('upgrade', indexeddb_1_test.testUpgrade); |
+ unittest$.group('dynamic', dart.fn(() => { |
+ indexeddb_1_test.testTypes(indexeddb_1_test.testReadWrite); |
+ }, VoidTovoid())); |
+ unittest$.group('typed', dart.fn(() => { |
+ indexeddb_1_test.testTypes(indexeddb_1_test.testReadWriteTyped); |
+ }, VoidTovoid())); |
+ } |
+ }, VoidTovoid())); |
+ }; |
+ dart.fn(indexeddb_1_test.main, VoidTodynamic()); |
+ // Exports: |
+ exports.indexeddb_1_test = indexeddb_1_test; |
+}); |