// ========================================================================== // Project: SproutCore - JavaScript Application Framework // Copyright: ©2006-2009 Apple Inc. and contributors. // License: Licened under MIT license (see license.js) // ========================================================================== /*global module test equals context ok same */ var view ; module("SC.Control#displayProperties", { setup: function() { view = SC.View.create(SC.Control, { isVisibleInWindow: YES }).createLayer(); }, teardown: function() { view.destroy(); } }); test("setting isSelected to YES adds sel class name", function() { SC.RunLoop.begin(); view.set('isSelected', YES); SC.RunLoop.end(); ok(view.$().hasClass('sel'), 'should have css class sel'); }); test("setting isSelected to SC.MIXED_STATE add mixed class name, and removes sel class name", function() { SC.RunLoop.begin(); view.set('isSelected', SC.MIXED_STATE); SC.RunLoop.end(); ok(view.$().hasClass('mixed'), 'should have css class mixed'); ok(!view.$().hasClass('sel'), 'should NOT have css class sel'); }); test("setting isSelected to ON removes sel class name", function() { SC.RunLoop.begin(); view.set('isSelected', YES); SC.RunLoop.end(); ok(view.$().hasClass('sel'), 'precond - should have sel class'); SC.RunLoop.begin(); view.set('isSelected', NO); SC.RunLoop.end(); ok(!view.$().hasClass('sel'), 'should no longer have sel class'); }); test("setting isEnabled to NO adds disabled class", function() { SC.RunLoop.begin(); view.set('isEnabled', NO); SC.RunLoop.end(); ok(view.$().hasClass('disabled'), 'should have disabled class'); SC.RunLoop.begin(); view.set('isEnabled', YES); SC.RunLoop.end(); ok(!view.$().hasClass('disabled'), 'should remove disabled class'); }); test("should gain focus class if isFirstResponder", function() { SC.RunLoop.begin(); view.set('isFirstResponder', YES); SC.RunLoop.end(); ok(view.$().hasClass('focus'), 'should have focus class'); SC.RunLoop.begin(); view.set('isFirstResponder', NO); SC.RunLoop.end(); ok(!view.$().hasClass('focus'), 'should remove focus class'); }); test("should gain active class if isActive", function() { SC.RunLoop.begin(); view.set('isActive', YES); SC.RunLoop.end(); ok(view.$().hasClass('active'), 'should have active class'); SC.RunLoop.begin(); view.set('isActive', NO); SC.RunLoop.end(); ok(!view.$().hasClass('active'), 'should remove active class'); }); test("should get controlSize class on init", function() { ok(view.$().hasClass(SC.REGULAR_CONTROL_SIZE), 'should have regular control size class'); });