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() }) }) })
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); } }