JSCoverage
code coverage for JavaScript

Bug #21 - JS file is not instrumenting

Submitted by: Indra
Date submitted: 2009-11-13 11:55:35 UTC
Status: Closed
Hi,

the following code in js File is not instrumenting at all. after executing the 
jscoverage on the following code.  can you please help in this.
if(typeof js_Logger_js == "undefined")
	js_Logger_js = 1;

var LOG_LEVEL_DEBUG = 0;
var LOG_LEVEL_INFO = 1;
var LOG_LEVEL_WARN = 2;
var LOG_LEVEL_ERROR = 3;
var LOG_LEVEL_OFF = 4;


function LogMessage(name, level, msg) {
	this.name = name;
	this.level = level;
	this.msg = msg;
	this.time = new Date();
}


function LogAppender() {
	var out = new Array();
	var nLogs = 0;
	
	function clear() {
		out = null;
		out = new Array();
		nLogs = 0;
	}
	
	function getLogMessages() {
		return out;
	}

	function write(msg) {
		if (null != out) {
			out[nLogs++] = msg;
		} else {
			nLogs = 0;
		}
	}
	
	this.clear = clear;
	this.getLogMessages = getLogMessages;
	this.write = write;
}

function Logger(level, name) {

	var out = new LogAppender();
	var lLevel = level;
	var nLogs = 0;
	var loggerName;
	if (name == null)
		loggerName = "root";
	else
		loggerName = name;
	var rootLogger = null;
	var loggers = new HashMap();
	
	
	function debug(msg) {
		log(LOG_LEVEL_DEBUG, msg);
	}
	
	function debugEnabled() {
		var enabled = false;
		if (lLevel == LOG_LEVEL_DEBUG)
			enabled = true;
		return enabled;
	}
	
	function info(msg) {
		log(LOG_LEVEL_INFO, msg);
	}

	function infoEnabled() 
	{
		try
		{
		var enabled = false;
		if (lLevel <= LOG_LEVEL_INFO)
			enabled = true;
		return enabled;
	}
		catch (E)
		{
		}
	}
	
	function warn(msg) {
		log(LOG_LEVEL_WARN, msg);
	}
	
	function warnEnabled() {
		var enabled = false;
		if (lLevel <= LOG_LEVEL_WARN)
			enabled = true;
		return enabled;
	}

	function error(msg) {
		log(LOG_LEVEL_ERROR, msg);
	}

	function errorEnabled() {
		var enabled = false;
		if (lLevel <= LOG_LEVEL_ERROR)
			enabled = true;
		return enabled;
	}
	
	function setAppender(appender) {
		out = appender;
	}
	
	function getAppender() {
		return out;
	}
	
	function getLoggerName() {
		return loggerName;
	}
	
	function getLogger(name) {
	
		var newLogger = loggers.get(name);
		if (null == newLogger) {
		top.logger.debug("Creating new logger: "+name);
			newLogger = new Logger(lLevel, name);
			newLogger.setAppender(this.getAppender());
			loggers.put(name, newLogger);
			top.logger.debug("# of named loggers "+loggers.size());
		}else {top.logger.debug("Retrieved logger: "+name);}
		return newLogger;
	}
	
	function getNamedLoggers() {
		return loggers.values();
		}
	
	function getLevel() {
		return lLevel;
	}
	
	function setLevel(level) {
		lLevel = level;
	}
	
	this.debug = debug;
	this.debugEnabled = debugEnabled;
	this.info = info;
	this.infoEnabled = infoEnabled;
	this.warn = warn;
	this.warnEnabled = warnEnabled;
	this.error = error;
	this.errorEnabled = errorEnabled;
	this.setAppender = setAppender;
	this.getAppender = getAppender;
	this.getLoggerName = getLoggerName;
	this.getLogger = getLogger;
	this.getNamedLoggers = getNamedLoggers;
	this.getLevel = getLevel;
	this.setLevel = setLevel;
	
	
	function log(level, msg) {
		if (level >= lLevel) {
			var lm = new LogMessage(loggerName, level, msg);
			out.write(lm);
		}
	}

}
top.logger = top.document.logger = new Logger(LOG_LEVEL_OFF);

Submitted by: Ed
Date submitted: 2010-04-26 01:44:32 UTC
As I believe this is instrumented correctly in the current version of
JSCoverage, I am closing this bug.  If there are any further problems please
submit a new bug.

Add a comment

Your name:
Your email address (optional - will never be displayed):
Comment:
Attachment (optional - maximum 64 KiB):
Copyright © 2008 Silicon Forks siliconforks.com
siliconforks@siliconforks.com