// ========================================================================== // SC
.Statechart Unit Test // ========================================================================== /*globals SC
*/
var statechart = null;
module(“SC.Statechart: State - isCurrentState Property Tests”, {
setup: function() { statechart = SC.Statechart.create({ monitorIsActive: YES, rootState: SC.State.design({ initialSubstate: 'a', a: SC.State.design(), b: SC.State.design() }) }); statechart.initStatechart(); }, teardown: function() { statechart.destroy(); statechart = null; }
});
test(“check binding to isCurrentState”, function() {
var a = statechart.getState('a'); var o = SC.Object.create({ value: null, valueBinding: SC.Binding.oneWay().from('isCurrentState', a) }); SC.run(); equals(a.get('isCurrentState'), true); equals(o.get('value'), true); SC.run(function() { statechart.gotoState('b'); }); equals(a.get('isCurrentState'), false); equals(o.get('value'), false); SC.run(function() { statechart.gotoState('a'); }); equals(a.get('isCurrentState'), true); equals(o.get('value'), true); SC.run(function() { statechart.gotoState('b'); }); equals(a.get('isCurrentState'), false); equals(o.get('value'), false);
});