Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root) Safe-mode: OFF (not secure) /usr/share/nodejs/tap/lib/ drwxr-xr-x |
Viewing file: Select action/file-type: 'use strict' const t = require('./tap.js') t.jobs = 1 const tapStack = [ t ] let level = 0 const suiteStack = [] const describe = (name, fn, opt) => new Suite(name, fn, opt) class Suite { constructor (name, fn, opt) { this.parent = suiteStack[ suiteStack.length - 1 ] if (typeof name === 'function') fn = name, name = null if (fn && fn.name && !name) name = fn.name this.options = opt || {} this.options.todo = this.options.todo || !fn this.fn = fn this.name = name this.after = [] this.test = null this.run() } run () { const t = tapStack[ tapStack.length - 1 ] t.test(this.name, this.options, tt => { this.test = tt tapStack.push(tt) suiteStack.push(this) const ret = this.fn() this.runAfter() suiteStack.pop() return ret }) } runAfter () { this.after.forEach(a => before(a[0], a[1], a[2])) let t do { t = tapStack.pop() } while (t && t !== this.test) if (this.test && !this.test.results) t.end() } } const before = (name, fn, options) => { if (typeof name === 'function') fn = name, name = null if (fn && fn.name && !name) name = fn.name options = options || {} const todo = !fn options.todo = options.todo || todo options.silent = true const suite = suiteStack[ suiteStack.length - 1 ] if (!suite) throw new Error('cannot call "before" outside of describe()') const t = tapStack[ tapStack.length - 1 ] if (!name) name = '' const done = tt => er => er ? tt.threw(er) : tt.end() t.test(name, options, tt => { const ret = fn.call(suite, done(tt)) if (!ret && fn.length === 0) tt.end() else return ret }) } const it = (name, fn, options) => { if (typeof name === 'function') fn = name, name = null if (fn && fn.name && !name) name = fn.name options = options || {} const todo = !fn const suite = suiteStack[ suiteStack.length - 1 ] const t = tapStack[ tapStack.length - 1 ] if (!name) name = '' const done = tt => er => er ? tt.threw(er) : tt.end() options.todo = options.todo || todo options.tapMochaTest = true t.test(name, options, tt => { const ret = fn.call(tt, done(tt)) if (ret && ret.then) return ret else if (fn.length === 0) tt.end() }) } it.skip = (name, fn) => it(name, fn, { skip: true }) it.todo = (name, fn) => it(name, fn, { todo: true }) function after (name, fn, options) { const suite = suiteStack[ suiteStack.length - 1 ] if (!suite) throw new Error('cannot call "after" outside of describe()') suite.after.push([name, fn, options]) } function moment (when, fn) { const t = tapStack[ tapStack.length - 1 ] // need function because 'this' tells us which tap object // has the tapMochaTest thing in its options object t[when](function (cb) { if (!this.options.tapMochaTest) return cb() const suite = suiteStack[ suiteStack.length - 1 ] const ret = fn.call(this, cb) if (ret && ret.then) return ret else if (fn.length === 0) return cb() }) } const beforeEach = fn => moment('beforeEach', fn) const afterEach = fn => moment('afterEach', fn) exports.it = exports.specify = it exports.context = exports.describe = describe exports.before = before exports.after = after exports.beforeEach = beforeEach exports.afterEach = afterEach let saved exports.global = _ => { if (!saved) saved = new Map() Object.keys(exports).filter(g => g !== 'global').forEach(g => { if (!saved.has(g)) saved.set(g, global[g]) global[g] = exports[g] }) } exports.deglobal = _ => Object.keys(exports).filter(g => g !== 'global').forEach(g => { if (saved && saved.has(g)) global[g] = saved.get(g) }) |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0036 ]-- |