Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/avvio/test/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict'
const test = require('tap').test
const boot = require('..')
test('chainable standalone', (t) => {
t.plan(5)
const readyResult = boot()
.use(function (ctx, opts, done) {
t.pass('1st plugin')
done()
}).after(function (err, done) {
t.error(err)
t.pass('2nd after')
done()
}).ready(function () {
t.pass('we are ready')
})
t.equal(readyResult, undefined)
})
test('chainable automatically binded', (t) => {
t.plan(5)
const app = {}
boot(app)
const readyResult = app
.use(function (ctx, opts, done) {
t.pass('1st plugin')
done()
}).after(function (err, done) {
t.error(err)
t.pass('2nd after')
done()
}).ready(function () {
t.pass('we are ready')
})
t.equal(readyResult, undefined)
})
;['use', 'after', 'ready'].forEach((key) => {
test('throws if ' + key + ' is already there', (t) => {
t.plan(1)
const app = {}
app[key] = () => {}
try {
boot(app)
t.fail('error must happen')
} catch (err) {
t.equal(err.message, key + '() is already defined, specify an expose option')
}
})
test('support expose for ' + key, (t) => {
const app = {}
app[key] = () => {}
const expose = {}
expose[key] = 'muahah'
boot(app, {
expose: expose
})
t.end()
})
})
test('chainable standalone with server', (t) => {
t.plan(6)
const server = {}
boot(server, {
expose: {
use: 'register'
}
})
const readyResult = server.register(function (ctx, opts, done) {
t.pass('1st plugin')
done()
}).after(function (err, done) {
t.error(err)
t.pass('2nd after')
done()
}).register(function (ctx, opts, done) {
t.pass('3rd plugin')
done()
}).ready(function () {
t.pass('we are ready')
})
t.equal(readyResult, undefined)
})
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0116 ]-- |