fix: Resolve TypeScript errors
Signed-off-by: Hermes Agent <hermes@nosuchhost>
This commit is contained in:
258
client/node_modules/abstract-leveldown/test/clear-range-test.js
generated
vendored
Normal file
258
client/node_modules/abstract-leveldown/test/clear-range-test.js
generated
vendored
Normal file
@@ -0,0 +1,258 @@
|
||||
var concat = require('level-concat-iterator')
|
||||
|
||||
var data = (function () {
|
||||
var d = []
|
||||
var i = 0
|
||||
var k
|
||||
for (; i < 100; i++) {
|
||||
k = (i < 10 ? '0' : '') + i
|
||||
d.push({
|
||||
key: k,
|
||||
value: String(Math.random())
|
||||
})
|
||||
}
|
||||
return d
|
||||
}())
|
||||
|
||||
exports.setUp = function (test, testCommon) {
|
||||
test('setUp common', testCommon.setUp)
|
||||
}
|
||||
|
||||
exports.range = function (test, testCommon) {
|
||||
function rangeTest (name, opts, expected) {
|
||||
test('db#clear() with ' + name, function (t) {
|
||||
prepare(t, function (db) {
|
||||
db.clear(opts, function (err) {
|
||||
t.ifError(err, 'no clear error')
|
||||
verify(t, db, expected)
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function prepare (t, callback) {
|
||||
var db = testCommon.factory()
|
||||
|
||||
db.open(function (err) {
|
||||
t.ifError(err, 'no open error')
|
||||
|
||||
db.batch(data.map(function (d) {
|
||||
return {
|
||||
type: 'put',
|
||||
key: d.key,
|
||||
value: d.value
|
||||
}
|
||||
}), function (err) {
|
||||
t.ifError(err, 'no batch error')
|
||||
callback(db)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function verify (t, db, expected) {
|
||||
var it = db.iterator({ keyAsBuffer: false, valueAsBuffer: false })
|
||||
|
||||
concat(it, function (err, result) {
|
||||
t.ifError(err, 'no concat error')
|
||||
t.is(result.length, expected.length, 'correct number of entries')
|
||||
t.same(result, expected)
|
||||
|
||||
db.close(t.end.bind(t))
|
||||
})
|
||||
}
|
||||
|
||||
function exclude (data, start, end, expectedLength) {
|
||||
data = data.slice()
|
||||
var removed = data.splice(start, end - start + 1) // Inclusive
|
||||
if (expectedLength != null) checkLength(removed, expectedLength)
|
||||
return data
|
||||
}
|
||||
|
||||
// For sanity checks on test arguments
|
||||
function checkLength (arr, length) {
|
||||
if (arr.length !== length) {
|
||||
throw new RangeError('Expected ' + length + ' elements, got ' + arr.length)
|
||||
}
|
||||
|
||||
return arr
|
||||
}
|
||||
|
||||
rangeTest('full range', {}, [])
|
||||
|
||||
// Reversing has no effect without limit
|
||||
rangeTest('reverse=true', {
|
||||
reverse: true
|
||||
}, [])
|
||||
|
||||
rangeTest('gte=00', {
|
||||
gte: '00'
|
||||
}, [])
|
||||
|
||||
rangeTest('gte=50', {
|
||||
gte: '50'
|
||||
}, data.slice(0, 50))
|
||||
|
||||
rangeTest('lte=50 and reverse=true', {
|
||||
lte: '50',
|
||||
reverse: true
|
||||
}, data.slice(51))
|
||||
|
||||
rangeTest('gte=49.5 (midway)', {
|
||||
gte: '49.5'
|
||||
}, data.slice(0, 50))
|
||||
|
||||
rangeTest('gte=49999 (midway)', {
|
||||
gte: '49999'
|
||||
}, data.slice(0, 50))
|
||||
|
||||
rangeTest('lte=49.5 (midway) and reverse=true', {
|
||||
lte: '49.5',
|
||||
reverse: true
|
||||
}, data.slice(50))
|
||||
|
||||
rangeTest('lt=49.5 (midway) and reverse=true', {
|
||||
lt: '49.5',
|
||||
reverse: true
|
||||
}, data.slice(50))
|
||||
|
||||
rangeTest('lt=50 and reverse=true', {
|
||||
lt: '50',
|
||||
reverse: true
|
||||
}, data.slice(50))
|
||||
|
||||
rangeTest('lte=50', {
|
||||
lte: '50'
|
||||
}, data.slice(51))
|
||||
|
||||
rangeTest('lte=50.5 (midway)', {
|
||||
lte: '50.5'
|
||||
}, data.slice(51))
|
||||
|
||||
rangeTest('lte=50555 (midway)', {
|
||||
lte: '50555'
|
||||
}, data.slice(51))
|
||||
|
||||
rangeTest('lt=50555 (midway)', {
|
||||
lt: '50555'
|
||||
}, data.slice(51))
|
||||
|
||||
rangeTest('gte=50.5 (midway) and reverse=true', {
|
||||
gte: '50.5',
|
||||
reverse: true
|
||||
}, data.slice(0, 51))
|
||||
|
||||
rangeTest('gt=50.5 (midway) and reverse=true', {
|
||||
gt: '50.5',
|
||||
reverse: true
|
||||
}, data.slice(0, 51))
|
||||
|
||||
rangeTest('gt=50 and reverse=true', {
|
||||
gt: '50',
|
||||
reverse: true
|
||||
}, data.slice(0, 51))
|
||||
|
||||
// Starting key is actually '00' so it should avoid it
|
||||
rangeTest('lte=0', {
|
||||
lte: '0'
|
||||
}, data)
|
||||
|
||||
// Starting key is actually '00' so it should avoid it
|
||||
rangeTest('lt=0', {
|
||||
lt: '0'
|
||||
}, data)
|
||||
|
||||
rangeTest('gte=30 and lte=70', {
|
||||
gte: '30',
|
||||
lte: '70'
|
||||
}, exclude(data, 30, 70))
|
||||
|
||||
rangeTest('gt=29 and lt=71', {
|
||||
gt: '29',
|
||||
lt: '71'
|
||||
}, exclude(data, 30, 70))
|
||||
|
||||
rangeTest('gte=30 and lte=70 and reverse=true', {
|
||||
lte: '70',
|
||||
gte: '30',
|
||||
reverse: true
|
||||
}, exclude(data, 30, 70))
|
||||
|
||||
rangeTest('gt=29 and lt=71 and reverse=true', {
|
||||
lt: '71',
|
||||
gt: '29',
|
||||
reverse: true
|
||||
}, exclude(data, 30, 70))
|
||||
|
||||
rangeTest('limit=20', {
|
||||
limit: 20
|
||||
}, data.slice(20))
|
||||
|
||||
rangeTest('limit=20 and gte=20', {
|
||||
limit: 20,
|
||||
gte: '20'
|
||||
}, exclude(data, 20, 39, 20))
|
||||
|
||||
rangeTest('limit=20 and reverse=true', {
|
||||
limit: 20,
|
||||
reverse: true
|
||||
}, data.slice(0, -20))
|
||||
|
||||
rangeTest('limit=20 and lte=79 and reverse=true', {
|
||||
limit: 20,
|
||||
lte: '79',
|
||||
reverse: true
|
||||
}, exclude(data, 60, 79, 20))
|
||||
|
||||
rangeTest('limit=-1 should clear whole database', {
|
||||
limit: -1
|
||||
}, [])
|
||||
|
||||
rangeTest('limit=0 should not clear anything', {
|
||||
limit: 0
|
||||
}, data)
|
||||
|
||||
rangeTest('lte after limit', {
|
||||
limit: 20,
|
||||
lte: '50'
|
||||
}, data.slice(20))
|
||||
|
||||
rangeTest('lte before limit', {
|
||||
limit: 50,
|
||||
lte: '19'
|
||||
}, data.slice(20))
|
||||
|
||||
rangeTest('gte after database end', {
|
||||
gte: '9a'
|
||||
}, data)
|
||||
|
||||
rangeTest('gt after database end', {
|
||||
gt: '9a'
|
||||
}, data)
|
||||
|
||||
rangeTest('lte after database end and reverse=true', {
|
||||
lte: '9a',
|
||||
reverse: true
|
||||
}, [])
|
||||
|
||||
rangeTest('lte and gte after database and reverse=true', {
|
||||
lte: '9b',
|
||||
gte: '9a',
|
||||
reverse: true
|
||||
}, data)
|
||||
|
||||
rangeTest('lt and gt after database and reverse=true', {
|
||||
lt: '9b',
|
||||
gt: '9a',
|
||||
reverse: true
|
||||
}, data)
|
||||
}
|
||||
|
||||
exports.tearDown = function (test, testCommon) {
|
||||
test('tearDown', testCommon.tearDown)
|
||||
}
|
||||
|
||||
exports.all = function (test, testCommon) {
|
||||
exports.setUp(test, testCommon)
|
||||
exports.range(test, testCommon)
|
||||
exports.tearDown(test, testCommon)
|
||||
}
|
||||
Reference in New Issue
Block a user