test('setup', function (t) { db = leveldown(tempy.directory()) db.open(function (err) { t.error(err, 'no error') db.batch(data, function (err) { t.error(err, 'no error') t.end() }) }) })
fs.unlink(base + '.uuid', function (err) { if (err) { return callback(); } var todo = 4; var done = []; stores.forEach(function (store, i) { move(store, i, function (err, storePath) { /* istanbul ignore if */ if (err) { return callback(err); } done.push(storePath); if (!(--todo)) { done.forEach(function (item) { leveldown.destroy(item, function () { if (++todo === done.length) { fs.rmdir(base, callback); } }); }); } }); }); });
const openLevelDb = async (config, pathForTest) => { let path; if (!pathForTest) { path = config.chrome_profile_path + "/Local Storage/leveldb"; } else { path = pathForTest; } try { let db = await levelup(leveldown(path), {createIfMissing: false}); return new Promise((resolve, reject) => { let resolved = false; db.createKeyStream().on("data", (data) => { let key = data.toString(); if(key.startsWith("_chrome-extension://" + config.onetab_ext_id) && key.endsWith("state")) { resolve(createLevelDBInterface(db, key)); resolved = true; } }).on("end", () => { if (!resolved) { reject(new Error("one tab data is not found.")); } }); }) } catch (err) { return Promise.reject("can't open chrome localstorage db. If browser is running, please quit." + err.message); } }