You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.7 KiB
53 lines
1.7 KiB
var test = require('tape') |
|
var SubLevel = require('../') |
|
var levelup = require('level-test')() |
|
var through = require('through') |
|
|
|
var base = SubLevel(levelup('test-sublevel')) |
|
|
|
var sub = base.sublevel('levelup-users') |
|
|
|
|
|
function put (user, contrib) { |
|
return { key: user, value: { contrib: contrib }, type: 'put', valueEncoding : 'json' }; |
|
} |
|
|
|
var batch = [ |
|
[ 'rvagg', 'leveldown' ] |
|
, [ 'dominictarr', 'levelup' ] |
|
, [ 'juliangruber', 'multilevel' ] |
|
].map(function (x) { return put(x[0], x[1]) }) |
|
|
|
// the two following tests ensure that https://github.com/dominictarr/level-sublevel/issues/30 is and stays fixed |
|
test('key only stream keys do not include sublevel prefix', function (t) { |
|
|
|
sub.batch(batch, function (err, res) { |
|
if (err) return t.fail(err) |
|
}) |
|
|
|
var arr = [] |
|
sub.createReadStream({ keys: true, values: false }) |
|
.pipe(through(arr.push.bind(arr), function () { |
|
t.ok(~arr.indexOf('rvagg'), 'has rvagg without prefix') |
|
t.ok(~arr.indexOf('dominictarr'), 'has dominictarr without prefix') |
|
t.ok(~arr.indexOf('juliangruber'), 'has juliangruber without prefix') |
|
t.end() |
|
})) |
|
}) |
|
|
|
test('key/value stream keys don not include sublevel prefix', function (t) { |
|
|
|
sub.batch(batch, function (err, res) { |
|
if (err) return t.fail(err) |
|
}) |
|
|
|
var arr = [] |
|
sub.createReadStream({ keys: true, values: true }) |
|
.pipe(through(arr.push.bind(arr), function () { |
|
var keys = arr.map(function (x) { return x.key }) |
|
t.ok(~keys.indexOf('rvagg'), 'has rvagg without prefix') |
|
t.ok(~keys.indexOf('dominictarr'), 'has dominictarr without prefix') |
|
t.ok(~keys.indexOf('juliangruber'), 'has juliangruber without prefix') |
|
t.end() |
|
})) |
|
})
|
|
|