@qooxdoo/framework
Version:
The JS Framework for Coders
86 lines (71 loc) • 2.43 kB
JavaScript
qx.Class.define("qx.test.log.DeprecationMethodOverriding",
{
extend : qx.dev.unit.TestCase,
members :
{
__lastWarnMsg : null,
__orgWarnMesthod : null,
__orgTraceMesthod : null,
setUp : function() {
this.__orgWarnMesthod = qx.log.Logger.warn;
this.__orgTraceMesthod = qx.log.Logger.trace;
var that = this;
qx.log.Logger.warn = function(msg) {
that.__lastWarnMsg = msg;
};
qx.log.Logger.trace = function() {};
},
tearDown : function() {
qx.log.Logger.warn = this.__orgWarnMesthod;
qx.log.Logger.trace = this.__orgTraceMesthod;
this.__orgWarnMesthod = null;
this.__orgTraceMesthod = null;
this.__lastWarnMsg = null;
},
"testClassA: baseclass" : function()
{
var instance = new qx.test.log.fixture.ClassA();
this.__test(instance, 1, 1, null);
instance.dispose();
},
"testClassB1: overrides method" : function()
{
var instance = new qx.test.log.fixture.ClassB1();
this.__test(instance, 2, 2, /qx.test.log.fixture.ClassB1.prototype._applyOldProperty()/);
instance.dispose();
},
"testClassC1: doesn't override method" : function()
{
var instance = new qx.test.log.fixture.ClassC1();
this.__test(instance, 2, 3, /qx.test.log.fixture.ClassB1.prototype._applyOldProperty()/);
instance.dispose();
},
"testClassB2: doesn't override method" : function()
{
var instance = new qx.test.log.fixture.ClassB2();
this.__test(instance, 1, 2, null);
instance.dispose();
},
"testClassC2: overrides method" : function()
{
var instance = new qx.test.log.fixture.ClassC2();
this.__test(instance, 2, 3, /qx.test.log.fixture.ClassC2.prototype._applyOldProperty()/);
instance.dispose();
},
__test : function(instance, callCountOldProperty, callCountNewProperty, reqExpWarnMsg)
{
instance.setOldProperty("Jo");
instance.setNewProperty("Do");
this.assertEquals(callCountOldProperty, instance.getCallCountApplyOldProperty());
this.assertEquals(callCountNewProperty, instance.getCallCountApplyNewProperty());
if (qx.core.Environment.get("qx.debug"))
{
if (reqExpWarnMsg) {
this.assertTrue(reqExpWarnMsg.test(this.__lastWarnMsg));
} else {
this.assertNull(this.__lastWarnMsg);
}
}
}
}
});