var button, rootResponder, pane, expectedAction, targetObject, sendActionSpy;
module(“SC.Button”, {
setup: function() { expectedAction = 'myAction'; targetObject = SC.Object.create({ myAction: function() { } }); var rootResponder = {sendAction: function(){} }; sendActionSpy = CoreTest.spyOn(rootResponder, 'sendAction'); pane = SC.Object.create({ rootResponder: rootResponder }); button = SC.Button.create({ target: targetObject, action: 'myAction', pane: pane }); }
});
test(“#mouseUp - triggers the action when mouse is over the button”, function() {
button.set('isActive', true); button.mouseUp(); ok(sendActionSpy.wasCalledWith(expectedAction, targetObject, button, pane, null, button), 'triggers the action');
});
test(“#mouseUp - does not trigger action if mouse is not over the button”, function() {
button.set('isActive', false); button.mouseUp(); ok(!sendActionSpy.wasCalled, 'should not trigger the action');
});
test('#mouseUp - makes the button no longer active', function () {
button.set('isActive', true); button.mouseUp(); equals(button.get('isActive'), false, 'should set the button to not be active');
});
test('#mouseDown - makes the button active', function() {
button.set('isActive', false); button.mouseDown(); equals(button.get('isActive'), true, 'should set the button to be active');
});
test('#mouseExited - makes but button no longer active', function() {
button.set('isActive', false); button.mouseExited(); equals(button.get('isActive'), false, 'should set the button to no longer be active');
});