Projektstart
This commit is contained in:
33
backend/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js
generated
vendored
Normal file
33
backend/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
'use strict'
|
||||
|
||||
const { unregister, registerBeforeExit } = require('../..')
|
||||
const assert = require('assert')
|
||||
|
||||
function setup () {
|
||||
const obj = { foo: 'bar' }
|
||||
registerBeforeExit(obj, shutdown)
|
||||
}
|
||||
|
||||
let shutdownCalled = false
|
||||
let timeoutFinished = false
|
||||
function shutdown (obj, event) {
|
||||
shutdownCalled = true
|
||||
if (event === 'beforeExit') {
|
||||
setTimeout(function () {
|
||||
timeoutFinished = true
|
||||
assert.strictEqual(obj.foo, 'bar')
|
||||
unregister(obj)
|
||||
}, 100)
|
||||
process.on('beforeExit', function () {
|
||||
assert.strictEqual(timeoutFinished, true)
|
||||
})
|
||||
} else {
|
||||
throw new Error('different event')
|
||||
}
|
||||
}
|
||||
|
||||
setup()
|
||||
|
||||
process.on('exit', function () {
|
||||
assert.strictEqual(shutdownCalled, true)
|
||||
})
|
||||
21
backend/node_modules/on-exit-leak-free/test/fixtures/close.js
generated
vendored
Normal file
21
backend/node_modules/on-exit-leak-free/test/fixtures/close.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
'use strict'
|
||||
|
||||
const { register } = require('../..')
|
||||
const assert = require('assert')
|
||||
|
||||
function setup () {
|
||||
const obj = { foo: 'bar' }
|
||||
register(obj, shutdown)
|
||||
}
|
||||
|
||||
let shutdownCalled = false
|
||||
function shutdown (obj) {
|
||||
shutdownCalled = true
|
||||
assert.strictEqual(obj.foo, 'bar')
|
||||
}
|
||||
|
||||
setup()
|
||||
|
||||
process.on('exit', function () {
|
||||
assert.strictEqual(shutdownCalled, true)
|
||||
})
|
||||
24
backend/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js
generated
vendored
Normal file
24
backend/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
'use strict'
|
||||
|
||||
const { register } = require('../..')
|
||||
const assert = require('assert')
|
||||
|
||||
function setup () {
|
||||
let obj = { foo: 'bar' }
|
||||
register(obj, shutdown)
|
||||
setImmediate(function () {
|
||||
obj = undefined
|
||||
gc() // eslint-disable-line
|
||||
})
|
||||
}
|
||||
|
||||
let shutdownCalled = false
|
||||
function shutdown (obj) {
|
||||
shutdownCalled = true
|
||||
}
|
||||
|
||||
setup()
|
||||
|
||||
process.on('exit', function () {
|
||||
assert.strictEqual(shutdownCalled, false)
|
||||
})
|
||||
24
backend/node_modules/on-exit-leak-free/test/fixtures/unregister.js
generated
vendored
Normal file
24
backend/node_modules/on-exit-leak-free/test/fixtures/unregister.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
'use strict'
|
||||
|
||||
const { register, unregister } = require('../..')
|
||||
const assert = require('assert')
|
||||
|
||||
function setup () {
|
||||
const obj = { foo: 'bar' }
|
||||
register(obj, shutdown)
|
||||
setImmediate(function () {
|
||||
unregister(obj)
|
||||
unregister(obj) // twice, this should not throw
|
||||
})
|
||||
}
|
||||
|
||||
let shutdownCalled = false
|
||||
function shutdown (obj) {
|
||||
shutdownCalled = true
|
||||
}
|
||||
|
||||
setup()
|
||||
|
||||
process.on('exit', function () {
|
||||
assert.strictEqual(shutdownCalled, false)
|
||||
})
|
||||
Reference in New Issue
Block a user