Skip to content

Commit 5cb52e3

Browse files
committed
test: make tests independent without require global set up steps: browser tests
1 parent c83d4a7 commit 5cb52e3

File tree

3 files changed

+37
-43
lines changed

3 files changed

+37
-43
lines changed

test/browser.js

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,4 @@
1-
/* global self */
21
'use strict'
32

4-
const IPFSRepo = require('ipfs-repo')
5-
const series = require('async/series')
6-
7-
const idb = self.indexedDB ||
8-
self.mozIndexedDB ||
9-
self.webkitIndexedDB ||
10-
self.msIndexedDB
11-
12-
// book keeping
13-
let dbs = []
14-
15-
function createRepo (id, done) {
16-
dbs.push(id)
17-
18-
const repo = new IPFSRepo(id)
19-
series([
20-
(cb) => repo.init({}, cb),
21-
(cb) => repo.open(cb)
22-
], (err) => {
23-
if (err) {
24-
return done(err)
25-
}
26-
done(null, repo)
27-
})
28-
}
29-
30-
function removeRepos (done) {
31-
dbs.forEach((db) => {
32-
idb.deleteDatabase(db)
33-
idb.deleteDatabase(`${db}/blocks`)
34-
})
35-
dbs = []
36-
done()
37-
}
38-
39-
const repo = {
40-
create: createRepo,
41-
remove: removeRepos
42-
}
43-
44-
require('./bitswap.js')(repo)
45-
require('./decision-engine/decision-engine')(repo)
3+
require('./bitswap.js')
4+
require('./decision-engine/decision-engine')
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/* global self */
2+
'use strict'
3+
4+
const IPFSRepo = require('ipfs-repo')
5+
const series = require('async/series')
6+
7+
const idb = self.indexedDB ||
8+
self.mozIndexedDB ||
9+
self.webkitIndexedDB ||
10+
self.msIndexedDB
11+
12+
function createTempRepo (callback) {
13+
const date = Date.now().toString()
14+
const path = `/bitswap-tests-${date}-${Math.random()}`
15+
16+
const repo = new IPFSRepo(path)
17+
18+
series([
19+
(cb) => repo.init({}, cb),
20+
(cb) => repo.open(cb)
21+
], (err) => {
22+
if (err) {
23+
return callback(err)
24+
}
25+
repo.teardown = (callback) => {
26+
idb.deleteDatabase(path)
27+
idb.deleteDatabase(`${path}/blocks`)
28+
callback()
29+
}
30+
31+
callback(null, repo)
32+
})
33+
}
34+
35+
module.exports = createTempRepo

test/utils/repo-browser.js

Whitespace-only changes.

0 commit comments

Comments
 (0)