@qooxdoo/framework
Version:
The JS Framework for Coders
91 lines (68 loc) • 2.35 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2004-2009 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Fabian Jakobs (fjakobs)
************************************************************************ */
qx.Class.define("qx.test.log.RingBuffer", {
extend: qx.dev.unit.TestCase,
members: {
setUp() {
this.__initialLogLevel = qx.log.Logger.getLevel();
},
tearDown() {
qx.log.Logger.setLevel(this.__initialLogLevel);
if (this.appender) {
qx.log.Logger.unregister(this.appender);
}
this.appender = null;
},
testLog() {
this.appender = new qx.log.appender.RingBuffer();
qx.log.Logger.setLevel("debug");
qx.log.Logger.clear();
qx.log.Logger.register(this.appender);
qx.log.Logger.debug("test");
var events = this.appender.getAllLogEvents();
this.assertEquals(1, events.length);
this.assertEquals("test", events[0].items[0].text);
qx.log.Logger.unregister(this.appender);
this.appender = null;
},
testExceedMaxMessages() {
var appender = new qx.log.appender.RingBuffer(2);
for (var i = 0; i < 10; i++) {
appender.process({ index: i });
}
var events = appender.getAllLogEvents();
this.assertEquals(2, events.length);
this.assertEquals(8, events[0].index);
this.assertEquals(9, events[1].index);
},
testRetrieveLogEvents() {
var appender = new qx.log.appender.RingBuffer(6);
for (var i = 0; i < 10; i++) {
var event = {
index: i
};
appender.process(event);
}
var events = appender.retrieveLogEvents(5);
this.assertEquals(5, events.length);
this.assertEquals(5, events[0].index);
this.assertEquals(9, events[4].index);
},
testClearHistory() {
var appender = new qx.log.appender.RingBuffer();
appender.process({});
this.assertEquals(1, appender.getAllLogEvents().length);
appender.clearHistory();
this.assertEquals(0, appender.getAllLogEvents().length);
}
}
});