signal tests

This commit is contained in:
Dima Granetchi
2014-11-13 19:10:26 +02:00
parent 8906e8f324
commit f7c2e07731
+75 -3
View File
@@ -1,6 +1,6 @@
package ;
import bindx.Bind;
import bindx.BindSignal;
import buddy.*;
using buddy.Should;
@@ -10,8 +10,80 @@ class SignalTest extends BuddySuite {
public function new() {
super();
describe("BindSignal functionality tests", {
it("signals should dispatch data");
describe("FieldSignal functionality tests", {
var fs:FieldSignal<String>;
var callNum:Int;
before({
fs = new FieldSignal<String>();
callNum = 0;
});
it("signal listeners should listen signal", {
var f = "1";
var t = "2";
function listener(from:String, to:String) {
from.should.be(f);
to.should.be(t);
callNum ++;
fs.remove(listener);
};
var listener2 = function (from:String, to:String) {
from.should.be(f);
to.should.be(t);
callNum ++;
};
fs.add(listener);
fs.add(listener);
fs.add(listener2);
fs.dispatch(f, t); // listener self-remove
callNum.should.be(2);
fs.dispatch(f, t);
callNum.should.be(3);
fs.removeAll();
fs.dispatch(t, f);
callNum.should.be(3);
});
});
describe("MethodSignal functionality tests", {
var ms:MethodSignal;
var callNum:Int;
before({
ms = new MethodSignal();
callNum = 0;
});
it("signal listeners should listen signal", {
function listener() {
callNum ++;
ms.remove(listener);
};
var listener2 = function () {
callNum ++;
};
ms.add(listener);
ms.add(listener);
ms.add(listener2);
ms.dispatch(); // listener self-remove
callNum.should.be(2);
ms.dispatch();
callNum.should.be(3);
ms.removeAll();
ms.dispatch();
callNum.should.be(3);
});
});
}
}