forked from public/fvtt-cthulhu-eternal
73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
'use strict'
|
|
|
|
const common = require('./common')
|
|
const kSublevels = Symbol('sublevels')
|
|
|
|
function suite (options) {
|
|
const testCommon = common(options)
|
|
const test = testCommon.test
|
|
|
|
require('./factory-test')(test, testCommon)
|
|
require('./manifest-test')(test, testCommon)
|
|
require('./open-test').all(test, testCommon)
|
|
require('./close-test').all(test, testCommon)
|
|
|
|
if (testCommon.supports.createIfMissing) {
|
|
require('./open-create-if-missing-test').all(test, testCommon)
|
|
}
|
|
|
|
if (testCommon.supports.errorIfExists) {
|
|
require('./open-error-if-exists-test').all(test, testCommon)
|
|
}
|
|
|
|
require('./put-test').all(test, testCommon)
|
|
require('./get-test').all(test, testCommon)
|
|
require('./del-test').all(test, testCommon)
|
|
require('./put-get-del-test').all(test, testCommon)
|
|
require('./get-many-test').all(test, testCommon)
|
|
|
|
require('./batch-test').all(test, testCommon)
|
|
require('./chained-batch-test').all(test, testCommon)
|
|
|
|
require('./iterator-test').all(test, testCommon)
|
|
require('./iterator-range-test').all(test, testCommon)
|
|
require('./async-iterator-test').all(test, testCommon)
|
|
|
|
require('./deferred-open-test').all(test, testCommon)
|
|
require('./encoding-test').all(test, testCommon)
|
|
require('./encoding-json-test').all(test, testCommon)
|
|
require('./encoding-custom-test').all(test, testCommon)
|
|
require('./encoding-buffer-test').all(test, testCommon)
|
|
require('./encoding-decode-error-test').all(test, testCommon)
|
|
|
|
if (testCommon.supports.seek) {
|
|
require('./iterator-seek-test').all(test, testCommon)
|
|
}
|
|
|
|
if (testCommon.supports.snapshots) {
|
|
require('./iterator-snapshot-test').all(test, testCommon)
|
|
} else {
|
|
require('./iterator-no-snapshot-test').all(test, testCommon)
|
|
}
|
|
|
|
require('./clear-test').all(test, testCommon)
|
|
require('./clear-range-test').all(test, testCommon)
|
|
require('./sublevel-test').all(test, testCommon)
|
|
|
|
// Run the same suite on a sublevel
|
|
if (!testCommon.internals[kSublevels]) {
|
|
const factory = testCommon.factory
|
|
|
|
suite({
|
|
...testCommon,
|
|
internals: { [kSublevels]: true },
|
|
factory (opts) {
|
|
return factory().sublevel('test', opts)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
suite.common = common
|
|
module.exports = suite
|