| Index: test/codegen/expect/lib/html/indexeddb_5_test.js
|
| diff --git a/test/codegen/expect/lib/html/indexeddb_5_test.js b/test/codegen/expect/lib/html/indexeddb_5_test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..de3443ea9b7eda407bb8d8cffa04ee2d3e4723eb
|
| --- /dev/null
|
| +++ b/test/codegen/expect/lib/html/indexeddb_5_test.js
|
| @@ -0,0 +1,177 @@
|
| +dart_library.library('lib/html/indexeddb_5_test', null, /* Imports */[
|
| + 'dart_sdk',
|
| + 'unittest'
|
| +], function load__indexeddb_5_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 html_config = unittest.html_config;
|
| + const unittest$ = unittest.unittest;
|
| + const src__matcher__expect = unittest.src__matcher__expect;
|
| + const src__matcher__core_matchers = unittest.src__matcher__core_matchers;
|
| + const indexeddb_5_test = Object.create(null);
|
| + let FutureOfDatabase = () => (FutureOfDatabase = dart.constFn(async.Future$(indexed_db.Database)))();
|
| + let ListOfString = () => (ListOfString = dart.constFn(core.List$(core.String)))();
|
| + let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(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 IdbFactoryToFutureOfDatabase = () => (IdbFactoryToFutureOfDatabase = dart.constFn(dart.definiteFunctionType(FutureOfDatabase(), [indexed_db.IdbFactory])))();
|
| + let VoidToFuture = () => (VoidToFuture = dart.constFn(dart.definiteFunctionType(async.Future, [])))();
|
| + let ListOfStringTodynamic = () => (ListOfStringTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [ListOfString()])))();
|
| + let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
|
| + let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
|
| + indexeddb_5_test.main = function() {
|
| + html_config.useHtmlConfiguration();
|
| + if (!dart.test(indexed_db.IdbFactory[dartx.supported])) {
|
| + return;
|
| + }
|
| + let dbName = 'test_db_5';
|
| + let storeName = 'test_store';
|
| + let indexName = 'name_index';
|
| + let db = null;
|
| + unittest$.test('init', dart.fn(() => html.window[dartx.indexedDB][dartx.deleteDatabase](dbName).then(FutureOfDatabase())(dart.fn(_ => html.window[dartx.indexedDB][dartx.open](dbName, {version: 1, onUpgradeNeeded: dart.fn(e => {
|
| + let db = dart.dload(dart.dload(e, 'target'), 'result');
|
| + let objectStore = dart.dsend(db, 'createObjectStore', storeName, {autoIncrement: true});
|
| + let index = dart.dsend(objectStore, 'createIndex', indexName, 'name_index', {unique: false});
|
| + }, dynamicTovoid())}), IdbFactoryToFutureOfDatabase())).then(dart.dynamic)(dart.fn(database => {
|
| + db = database;
|
| + }, DatabaseTodynamic())), VoidToFuture()));
|
| + if (dart.test(html.window[dartx.indexedDB][dartx.supportsDatabaseNames])) {
|
| + unittest$.test('getDatabaseNames', dart.fn(() => html.window[dartx.indexedDB][dartx.getDatabaseNames]().then(dart.dynamic)(dart.fn(names => {
|
| + src__matcher__expect.expect(names[dartx.contains](dbName), src__matcher__core_matchers.isTrue);
|
| + }, ListOfStringTodynamic())), VoidToFuture()));
|
| + }
|
| + let value = dart.map({name_index: 'one', value: 'add_value'});
|
| + unittest$.test('add/delete', dart.fn(() => {
|
| + let transaction = dart.dsend(db, 'transaction', storeName, 'readwrite');
|
| + let key = null;
|
| + return dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', value), 'then', dart.fn(addedKey => {
|
| + key = addedKey;
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => dart.dload(transaction, 'completed'), dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readonly');
|
| + return dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'getObject', key);
|
| + }, dynamicTodynamic())), 'then', dart.fn(readValue => {
|
| + src__matcher__expect.expect(dart.dindex(readValue, 'value'), value[dartx.get]('value'));
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transactionList', JSArrayOfString().of([storeName]), 'readwrite');
|
| + return dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'delete', key);
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => dart.dload(transaction, 'completed'), dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + let transaction = dart.dsend(db, 'transactionList', JSArrayOfString().of([storeName]), 'readonly');
|
| + return dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'count');
|
| + }, dynamicTodynamic())), 'then', dart.fn(count => {
|
| + src__matcher__expect.expect(count, 0);
|
| + }, dynamicTodynamic()));
|
| + }, VoidTodynamic()));
|
| + unittest$.test('clear/count', dart.fn(() => {
|
| + let transaction = dart.dsend(db, 'transaction', storeName, 'readwrite');
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', value);
|
| + return dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dload(transaction, 'completed'), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readonly');
|
| + return dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'count');
|
| + }, dynamicTodynamic())), 'then', dart.fn(count => {
|
| + src__matcher__expect.expect(count, 1);
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => dart.dload(transaction, 'completed'), dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transactionList', JSArrayOfString().of([storeName]), 'readwrite');
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'clear');
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + let transaction = dart.dsend(db, 'transactionList', JSArrayOfString().of([storeName]), 'readonly');
|
| + return dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'count');
|
| + }, dynamicTodynamic())), 'then', dart.fn(count => {
|
| + src__matcher__expect.expect(count, 0);
|
| + }, dynamicTodynamic()));
|
| + }, VoidTodynamic()));
|
| + unittest$.test('index', dart.fn(() => {
|
| + let transaction = dart.dsend(db, 'transaction', storeName, 'readwrite');
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', value);
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', value);
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', value);
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', value);
|
| + return dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dload(transaction, 'completed'), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transactionList', JSArrayOfString().of([storeName]), 'readonly');
|
| + let index = dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'index', indexName);
|
| + return dart.dsend(index, 'count');
|
| + }, dynamicTodynamic())), 'then', dart.fn(count => {
|
| + src__matcher__expect.expect(count, 4);
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readonly');
|
| + let index = dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'index', indexName);
|
| + return dart.dload(dart.dsend(index, 'openCursor', {autoAdvance: true}), 'length');
|
| + }, dynamicTodynamic())), 'then', dart.fn(cursorsLength => {
|
| + src__matcher__expect.expect(cursorsLength, 4);
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readonly');
|
| + let index = dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'index', indexName);
|
| + return dart.dload(dart.dsend(index, 'openKeyCursor', {autoAdvance: true}), 'length');
|
| + }, dynamicTodynamic())), 'then', dart.fn(cursorsLength => {
|
| + src__matcher__expect.expect(cursorsLength, 4);
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readonly');
|
| + let index = dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'index', indexName);
|
| + return dart.dsend(index, 'get', 'one');
|
| + }, dynamicTodynamic())), 'then', dart.fn(readValue => {
|
| + src__matcher__expect.expect(dart.dindex(readValue, 'value'), value[dartx.get]('value'));
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readwrite');
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'clear');
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic()));
|
| + }, VoidTodynamic()));
|
| + let deleteValue = dart.map({name_index: 'two', value: 'delete_value'});
|
| + let updateValue = dart.map({name_index: 'three', value: 'update_value'});
|
| + let updatedValue = dart.map({name_index: 'three', value: 'updated_value'});
|
| + unittest$.test('cursor', dart.fn(() => {
|
| + let transaction = dart.dsend(db, 'transaction', storeName, 'readwrite');
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', value);
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', deleteValue);
|
| + dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'add', updateValue);
|
| + return dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dsend(dart.dload(transaction, 'completed'), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transactionList', JSArrayOfString().of([storeName]), 'readwrite');
|
| + let index = dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'index', indexName);
|
| + let cursors = dart.dsend(dart.dsend(index, 'openCursor'), 'asBroadcastStream');
|
| + dart.dsend(cursors, 'listen', dart.fn(cursor => {
|
| + let value = dart.dload(cursor, 'value');
|
| + if (dart.equals(dart.dindex(value, 'value'), 'delete_value')) {
|
| + dart.dsend(dart.dsend(cursor, 'delete'), 'then', dart.fn(_ => {
|
| + dart.dsend(cursor, 'next');
|
| + }, dynamicTodynamic()));
|
| + } else if (dart.equals(dart.dindex(value, 'value'), 'update_value')) {
|
| + dart.dsend(dart.dsend(cursor, 'update', updatedValue), 'then', dart.fn(_ => {
|
| + dart.dsend(cursor, 'next');
|
| + }, dynamicTodynamic()));
|
| + } else {
|
| + dart.dsend(cursor, 'next');
|
| + }
|
| + }, dynamicTodynamic()));
|
| + return dart.dload(cursors, 'last');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => dart.dload(transaction, 'completed'), dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readonly');
|
| + let index = dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'index', indexName);
|
| + return dart.dsend(index, 'get', 'three');
|
| + }, dynamicTodynamic())), 'then', dart.fn(readValue => {
|
| + src__matcher__expect.expect(dart.dindex(readValue, 'value'), 'updated_value');
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic())), 'then', dart.fn(_ => {
|
| + transaction = dart.dsend(db, 'transaction', storeName, 'readonly');
|
| + let index = dart.dsend(dart.dsend(transaction, 'objectStore', storeName), 'index', indexName);
|
| + return dart.dsend(index, 'get', 'two');
|
| + }, dynamicTodynamic())), 'then', dart.fn(readValue => {
|
| + src__matcher__expect.expect(readValue, src__matcher__core_matchers.isNull);
|
| + return dart.dload(transaction, 'completed');
|
| + }, dynamicTodynamic()));
|
| + }, VoidTodynamic()));
|
| + };
|
| + dart.fn(indexeddb_5_test.main, VoidTodynamic());
|
| + // Exports:
|
| + exports.indexeddb_5_test = indexeddb_5_test;
|
| +});
|
|
|