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.
59 lines
1.5 KiB
59 lines
1.5 KiB
var level = require('level-test')() |
|
var post = require('../') |
|
var test = require('tape') |
|
var bytewise = require('bytewise') |
|
|
|
test('encoding lt', function (t) { |
|
|
|
var data = [ |
|
{ type: 'put', key: [ 'z', 1 ], value: 'a' }, |
|
{ type: 'put', key: [ 'z', 2 ], value: 'b' }, |
|
{ type: 'put', key: [ 'q', 3 ], value: 'c' }, |
|
{ type: 'put', key: [ 'zz', 4 ], value: 'd' }, |
|
{ type: 'put', key: [ 'a', 5 ], value: 'e' }, |
|
{ type: 'put', key: [ 'z', 6 ], value: 'f' } |
|
] |
|
var expected = [ 'b' ] |
|
t.plan(expected.length * 3) |
|
|
|
var db = level('encoding lt', { keyEncoding: bytewise }) |
|
|
|
var opts = { |
|
lt: [ 'z', 4 ], |
|
gt: [ 'z', 1 ] |
|
} |
|
post(db, opts, function (op) { |
|
t.ok(op.key) |
|
t.equal(op.value, expected.shift()) |
|
t.equal(op.type, 'put') |
|
}) |
|
db.batch(data) |
|
}) |
|
|
|
test('encoding gte', function (t) { |
|
|
|
var data = [ |
|
{ type: 'put', key: [ 'z', 1 ], value: 'a' }, |
|
{ type: 'put', key: [ 'z', 2 ], value: 'b' }, |
|
{ type: 'put', key: [ 'q', 3 ], value: 'c' }, |
|
{ type: 'put', key: [ 'zz', 4 ], value: 'd' }, |
|
{ type: 'put', key: [ 'a', 5 ], value: 'e' }, |
|
{ type: 'put', key: [ 'z', 6 ], value: 'f' } |
|
] |
|
var expected = [ 'b', 'f' ] |
|
t.plan(expected.length * 3) |
|
|
|
var db = level('encoding gte', { keyEncoding: bytewise }) |
|
|
|
var opts = { |
|
lt: [ 'z', undefined ], |
|
gte: [ 'z', 2 ] |
|
} |
|
post(db, opts, function (op) { |
|
t.ok(op.key) |
|
t.equal(op.value, expected.shift()) |
|
t.equal(op.type, 'put') |
|
}) |
|
db.batch(data) |
|
}) |
|
|
|
|