forked from public/fvtt-cthulhu-eternal
Initial import with skill sheet working
This commit is contained in:
93
node_modules/abstract-level/test/self/deferred-operations-test.js
generated
vendored
Normal file
93
node_modules/abstract-level/test/self/deferred-operations-test.js
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
'use strict'
|
||||
|
||||
const test = require('tape')
|
||||
const { mockLevel, mockIterator } = require('../util')
|
||||
|
||||
// NOTE: copied from deferred-leveldown
|
||||
test('deferred operations are called in order', function (t) {
|
||||
t.plan(15)
|
||||
|
||||
const calls = []
|
||||
const db = mockLevel({
|
||||
_put: function (key, value, options, callback) {
|
||||
this.nextTick(callback)
|
||||
calls.push({ type: 'put', key, value, options })
|
||||
},
|
||||
_get: function (key, options, callback) {
|
||||
this.nextTick(callback)
|
||||
calls.push({ type: 'get', key, options })
|
||||
},
|
||||
_del: function (key, options, callback) {
|
||||
this.nextTick(callback)
|
||||
calls.push({ type: 'del', key, options })
|
||||
},
|
||||
_batch: function (arr, options, callback) {
|
||||
this.nextTick(callback)
|
||||
calls.push({ type: 'batch', keys: arr.map(op => op.key).join(',') })
|
||||
},
|
||||
_clear: function (options, callback) {
|
||||
this.nextTick(callback)
|
||||
calls.push({ ...options, type: 'clear' })
|
||||
},
|
||||
_iterator (options) {
|
||||
calls.push({ type: 'iterator' })
|
||||
return mockIterator(this, options, {
|
||||
_next (callback) {
|
||||
this.nextTick(callback)
|
||||
calls.push({ type: 'iterator.next' })
|
||||
}
|
||||
})
|
||||
},
|
||||
_open: function (options, callback) {
|
||||
this.nextTick(callback)
|
||||
t.is(calls.length, 0, 'not yet called')
|
||||
}
|
||||
}, {
|
||||
encodings: {
|
||||
utf8: true,
|
||||
buffer: true
|
||||
}
|
||||
}, {
|
||||
keyEncoding: 'utf8',
|
||||
valueEncoding: 'utf8'
|
||||
})
|
||||
|
||||
db.open(function (err) {
|
||||
t.ifError(err, 'no open() error')
|
||||
t.same(calls, [
|
||||
{ type: 'put', key: '001', value: 'bar1', options: { keyEncoding: 'utf8', valueEncoding: 'utf8' } },
|
||||
{ type: 'get', key: '002', options: { keyEncoding: 'utf8', valueEncoding: 'utf8' } },
|
||||
{ type: 'clear', reverse: false, limit: -1, keyEncoding: 'utf8' },
|
||||
{ type: 'put', key: '010', value: 'bar2', options: { keyEncoding: 'utf8', valueEncoding: 'utf8' } },
|
||||
{ type: 'get', key: Buffer.from('011'), options: { keyEncoding: 'buffer', valueEncoding: 'utf8' } },
|
||||
{ type: 'del', key: '020', options: { customOption: 123, keyEncoding: 'utf8' } },
|
||||
{ type: 'del', key: '021', options: { keyEncoding: 'utf8' } },
|
||||
{ type: 'batch', keys: '040,041' },
|
||||
{ type: 'iterator' },
|
||||
{ type: 'batch', keys: '050,051' },
|
||||
{ type: 'iterator.next' },
|
||||
{ type: 'clear', gt: '060', reverse: false, limit: -1, keyEncoding: 'utf8' }
|
||||
], 'calls correctly behaved')
|
||||
})
|
||||
|
||||
db.put('001', 'bar1', t.ifError.bind(t))
|
||||
db.get('002', t.ifError.bind(t))
|
||||
db.clear(t.ifError.bind(t))
|
||||
db.put('010', 'bar2', t.ifError.bind(t))
|
||||
db.get('011', { keyEncoding: 'buffer' }, t.ifError.bind(t))
|
||||
db.del('020', { customOption: 123 }, t.ifError.bind(t))
|
||||
db.del('021', t.ifError.bind(t))
|
||||
db.batch([
|
||||
{ type: 'put', key: '040', value: 'a' },
|
||||
{ type: 'put', key: '041', value: 'b' }
|
||||
], t.ifError.bind(t))
|
||||
const it = db.iterator()
|
||||
db.batch()
|
||||
.put('050', 'c')
|
||||
.put('051', 'd')
|
||||
.write(t.ifError.bind(t))
|
||||
it.next(t.ifError.bind(t))
|
||||
db.clear({ gt: '060' }, t.ifError.bind(t))
|
||||
|
||||
t.is(calls.length, 0, 'not yet called')
|
||||
})
|
||||
Reference in New Issue
Block a user