// ========================================================================== // Project: SproutCore
- JavaScript Application Framework // Copyright: ©2006-2011 Strobe Inc. and contributors. // ©2008-2011 Apple Inc. All rights reserved. // License: Licensed under MIT license (see license.js) // ========================================================================== // ======================================================================== // SC
.RenderDelegate Base Tests // ========================================================================
module(“Render Delegates – Inheritance”);
test(“Extending SC
.RenderDelegate should include helpers”, function() {
var render_delegate = SC.RenderDelegate.create({ }); // we'll test to make sure the sizing helper is around. ok(render_delegate.addSizeClassName, "Instantiated render delegate has helper method.");
});
test(“sc_super works.”, function() {
var tick = 0, base_called_on = -1, derived_called_on = -1; var base = SC.RenderDelegate.create({ aMethod: function() { base_called_on = tick; tick++; } }); var derived = base.create({ aMethod: function() { derived_called_on = tick; tick++; sc_super(); } }); derived.aMethod(); equals(derived_called_on, 0, "Derived method called on tick 0"); equals(base_called_on, 1, "Base called on tick 1");
});
test(“Function.prototype.enhance works.”, function() {
var tick = 0, base_called_on = -1, derived_called_on = -1; var base = SC.RenderDelegate.create({ aMethod: function(arg1, arg2) { equals(arg1, "ARG2", "First argument is swapped"); equals(arg2, "ARG1", "Second argument is swapped"); base_called_on = tick; tick++; } }); var derived = base.create({ aMethod: function(orig, arg1, arg2) { equals(arg1, "ARG1", "First argument is correct"); equals(arg2, "ARG2", "Second argument is correct"); derived_called_on = tick; tick++; // swap arguments orig(arg2, arg1); }.enhance() }); derived.aMethod("ARG1", "ARG2"); equals(derived_called_on, 0, "Derived method called on tick 0"); equals(base_called_on, 1, "Base called on tick 1");
});