mirror of https://gitgud.io/fatchan/gm
parent
d8e8d84b6e
commit
a797086d89
2 changed files with 90 additions and 10 deletions
@ -0,0 +1,45 @@ |
||||
var assert = require('assert'); |
||||
|
||||
module.exports = function (img, dir, finish, gm) { |
||||
var EventEmitter = require('events').EventEmitter; |
||||
EventEmitter.prototype._maxListeners = 100; |
||||
|
||||
assert.equal(undefined, gm.prototype._options.disposers); |
||||
assert.equal(undefined, img._options.disposers); |
||||
|
||||
emitter = new EventEmitter(); |
||||
|
||||
disposer = { |
||||
emitter: emitter, |
||||
events: ['pleaseDispose', 'readyToDispose'] |
||||
}; |
||||
|
||||
var g = gm('test').options({ disposers: [ disposer ] }); |
||||
assert.deepEqual([disposer], g._options.disposers); |
||||
|
||||
var sub = gm.subClass({ disposers: [ disposer ]}); |
||||
assert.deepEqual([disposer], sub.prototype._options.disposers); |
||||
|
||||
if (!gm.integration) { |
||||
return finish(); |
||||
} |
||||
|
||||
gm(dir + '/photo.JPG').options({ disposers: [ disposer ]}) |
||||
.thumb(1000, 1000, dir + '/dispose.png', function (err) { |
||||
assert.ok(err, "Expecting a disposed error"); |
||||
}); |
||||
|
||||
emitter.emit('pleaseDispose'); |
||||
|
||||
noDispose(); |
||||
|
||||
function noDispose() { |
||||
gm(dir + '/photo.JPG').options({ disposers: [ disposer ]}) |
||||
.thumb(1000, 1000, dir + '/dispose.png', function (err) { |
||||
delete emitter; |
||||
delete disposer; |
||||
finish(err); |
||||
}); |
||||
emitter.emit('disposeOK'); |
||||
} |
||||
} |
Loading…
Reference in new issue