rx.disposables
Version:
Library for Disposables which can be used independently from RxJS
50 lines (34 loc) • 1.39 kB
JavaScript
var test = require('tape');
var Disposable = require('../disposable');
var BinaryDisposable = require('../binarydisposable');
test('BinaryDisposable#constructor', function (t) {
var disp1 = false;
var disp2 = false;
var d1 = Disposable.create(function () { disp1 = true; });
var d2 = Disposable.create(function () { disp2 = true; });
var b = new BinaryDisposable(d1, d2);
t.equal(b.isDisposed, false, 'should not be disposed');
t.equal(disp1, false, 'first should not be disposed');
t.equal(disp2, false, 'second should not be disposed');
t.end();
});
test('BinaryDisposable#dispose', function (t) {
var disp1 = false;
var disp2 = false;
var d1 = Disposable.create(function () { disp1 = true; });
var d2 = Disposable.create(function () { disp2 = true; });
var b = new BinaryDisposable(d1, d2);
t.equal(b.isDisposed, false, 'should not be disposed');
t.equal(disp1, false, 'first should not be disposed');
t.equal(disp2, false, 'second should not be disposed');
b.dispose();
t.equal(b.isDisposed, true, 'should be disposed');
t.equal(disp1, true, 'first should be disposed');
t.equal(disp2, true, 'second should be disposed');
b.dispose();
t.equal(b.isDisposed, true, 'should be idempotent');
t.equal(disp1, true, 'first should be idempotent');
t.equal(disp2, true, 'second should be idempotent');
t.end();
});
;