mirror of
https://github.com/Karaka-Management/jsOMS.git
synced 2026-01-11 17:58:41 +00:00
Additional log tests
This commit is contained in:
parent
3a314dbda0
commit
320936bedf
|
|
@ -31,15 +31,13 @@
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
|
static available()
|
||||||
}
|
{
|
||||||
|
try {
|
||||||
jsOMS.DataStorage.LocalStorage.available = function ()
|
return 'localStorage' in window && window.localStorage !== null;
|
||||||
{
|
} catch (e) {
|
||||||
try {
|
return false;
|
||||||
return 'localStorage' in window && window.localStorage !== null;
|
}
|
||||||
} catch (e) {
|
};
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}(window.jsOMS = window.jsOMS || {}));
|
}(window.jsOMS = window.jsOMS || {}));
|
||||||
|
|
|
||||||
125
Log/Logger.js
125
Log/Logger.js
|
|
@ -22,11 +22,11 @@
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
constructor (verbose, ui, remote)
|
constructor (verbose = true, ui = true, remote = false)
|
||||||
{
|
{
|
||||||
this.verbose = typeof verbose !== 'undefined' ? verbose : true;
|
this.verbose = verbose;
|
||||||
this.ui = typeof ui !== 'undefined' ? ui : true;
|
this.ui = ui;
|
||||||
this.remote = typeof remote !== 'undefined' ? remote : false;
|
this.remote = remote;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
static getInstance (verbose, ui, remote)
|
static getInstance (verbose = true, ui = true, remote = false)
|
||||||
{
|
{
|
||||||
if(!jsOMS.Log.Logger.instance) {
|
if(!jsOMS.Log.Logger.instance) {
|
||||||
jsOMS.Log.Logger.instance = new jsOMS.Log.Logger(verbose, ui, remote);
|
jsOMS.Log.Logger.instance = new jsOMS.Log.Logger(verbose, ui, remote);
|
||||||
|
|
@ -66,15 +66,15 @@
|
||||||
*/
|
*/
|
||||||
interpolate (message, context, level)
|
interpolate (message, context, level)
|
||||||
{
|
{
|
||||||
let newMessage = jsOMS.Log.Logger.MSG_FULL;
|
message = typeof message === 'undefined' ? jsOMS.Log.Logger.MSG_FULL : message;
|
||||||
|
|
||||||
for (let replace in context) {
|
for (let replace in context) {
|
||||||
if (context.hasOwnProperty(replace)) {
|
if (context.hasOwnProperty(replace)) {
|
||||||
newMessage = newMessage.replace('{' + replace + '}', context[replace]);
|
message = message.replace('{' + replace + '}', context[replace]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return newMessage;
|
return message;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -121,30 +121,7 @@
|
||||||
context = this.createContext(message, context, level);
|
context = this.createContext(message, context, level);
|
||||||
|
|
||||||
if (this.verbose) {
|
if (this.verbose) {
|
||||||
let color = '000';
|
this.writeVerbose(message, context, level);
|
||||||
|
|
||||||
switch (level) {
|
|
||||||
case 'info':
|
|
||||||
case 'notice':
|
|
||||||
case 'log':
|
|
||||||
color = '000';
|
|
||||||
break;
|
|
||||||
case 'debug':
|
|
||||||
color = '289E39';
|
|
||||||
break;
|
|
||||||
case 'warning':
|
|
||||||
case 'alert':
|
|
||||||
color = 'FFA600';
|
|
||||||
break;
|
|
||||||
case 'error':
|
|
||||||
case 'critical':
|
|
||||||
case 'emergency':
|
|
||||||
color = 'CF304A';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log('%c' + this.interpolate(message, context, level), 'color: #' + color);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.ui) {
|
if (this.ui) {
|
||||||
|
|
@ -152,19 +129,78 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.remote) {
|
if (this.remote) {
|
||||||
let request = new jsOMS.Message.Request.Request();
|
this.writeRemote(message, context, level);
|
||||||
request.setData(context);
|
|
||||||
request.setType(jsOMS.Message.Response.Response.ResponseType.JSON);
|
|
||||||
request.setUri('/{/lang}/api/log');
|
|
||||||
request.setMethod(jsOMS.Message.Request.Request.RequestMethod.POST);
|
|
||||||
request.setRequestHeader('Content-Type', 'application/json');
|
|
||||||
request.setSuccess(function (xhr)
|
|
||||||
{
|
|
||||||
});
|
|
||||||
request.send();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create local log message
|
||||||
|
*
|
||||||
|
* @param {string} message Message to display
|
||||||
|
* @param {Object} [context] Context to put into message
|
||||||
|
* @param {string} level Log level
|
||||||
|
*
|
||||||
|
* @return {void}
|
||||||
|
*
|
||||||
|
* @method
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
writeVerbose (message, context, level)
|
||||||
|
{
|
||||||
|
let color = '000';
|
||||||
|
|
||||||
|
switch (level) {
|
||||||
|
case 'info':
|
||||||
|
case 'notice':
|
||||||
|
case 'log':
|
||||||
|
color = '000';
|
||||||
|
break;
|
||||||
|
case 'debug':
|
||||||
|
color = '289E39';
|
||||||
|
break;
|
||||||
|
case 'warning':
|
||||||
|
case 'alert':
|
||||||
|
color = 'FFA600';
|
||||||
|
break;
|
||||||
|
case 'error':
|
||||||
|
case 'critical':
|
||||||
|
case 'emergency':
|
||||||
|
color = 'CF304A';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('%c' + this.interpolate(message, context, level), 'color: #' + color);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create remote log message
|
||||||
|
*
|
||||||
|
* @param {string} message Message to display
|
||||||
|
* @param {Object} [context] Context to put into message
|
||||||
|
* @param {string} level Log level
|
||||||
|
*
|
||||||
|
* @return {void}
|
||||||
|
*
|
||||||
|
* @method
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
writeRemote (message, context, level)
|
||||||
|
{
|
||||||
|
let request = new jsOMS.Message.Request.Request();
|
||||||
|
request.setData(context);
|
||||||
|
request.setType(jsOMS.Message.Response.Response.ResponseType.JSON);
|
||||||
|
request.setUri('/{/lang}/api/log');
|
||||||
|
request.setMethod(jsOMS.Message.Request.Request.RequestMethod.POST);
|
||||||
|
request.setRequestHeader('Content-Type', 'application/json');
|
||||||
|
request.setSuccess(function (xhr)
|
||||||
|
{
|
||||||
|
});
|
||||||
|
request.send();
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create log message
|
* Create log message
|
||||||
*
|
*
|
||||||
|
|
@ -322,7 +358,6 @@
|
||||||
/**
|
/**
|
||||||
* Create log message
|
* Create log message
|
||||||
*
|
*
|
||||||
* @param {string} level Log level
|
|
||||||
* @param {string} message Message to display
|
* @param {string} message Message to display
|
||||||
* @param {Object} [context] Context to put into message
|
* @param {Object} [context] Context to put into message
|
||||||
*
|
*
|
||||||
|
|
@ -332,9 +367,9 @@
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
console (level, message, context = {})
|
console (message, context = {})
|
||||||
{
|
{
|
||||||
this.write(message, context, jsOMS.Log.LogLevel.INFO);
|
this.writeVerbose(message, context, jsOMS.Log.LogLevel.INFO);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
describe('LogLevelTest', function ()
|
|
||||||
{
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
beforeEach(function ()
|
|
||||||
{
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(function ()
|
|
||||||
{
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
describe('LogLevelTest', function ()
|
|
||||||
{
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
beforeEach(function ()
|
|
||||||
{
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(function ()
|
|
||||||
{
|
|
||||||
});
|
|
||||||
});
|
|
||||||
24
tests/Log/LogLevelTest.js
Normal file
24
tests/Log/LogLevelTest.js
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
describe('LogLevelTest', function ()
|
||||||
|
{
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
describe('testEnum', function ()
|
||||||
|
{
|
||||||
|
it('Testing amount of enums', function ()
|
||||||
|
{
|
||||||
|
expect(Object.keys(jsOMS.Log.LogLevel).length).toBe(8);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing values of enums', function ()
|
||||||
|
{
|
||||||
|
expect(jsOMS.Log.LogLevel.EMERGENCY).toBe('emergency');
|
||||||
|
expect(jsOMS.Log.LogLevel.ALERT).toBe('alert');
|
||||||
|
expect(jsOMS.Log.LogLevel.CRITICAL).toBe('critical');
|
||||||
|
expect(jsOMS.Log.LogLevel.ERROR).toBe('error');
|
||||||
|
expect(jsOMS.Log.LogLevel.WARNING).toBe('warning');
|
||||||
|
expect(jsOMS.Log.LogLevel.NOTICE).toBe('notice');
|
||||||
|
expect(jsOMS.Log.LogLevel.INFO).toBe('info');
|
||||||
|
expect(jsOMS.Log.LogLevel.DEBUG).toBe('debug');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
@ -2,11 +2,229 @@ describe('LoggerTest', function ()
|
||||||
{
|
{
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
beforeEach(function ()
|
describe('testLocalLogging', function ()
|
||||||
{
|
{
|
||||||
|
it('Testing emergency functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.emergency();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing alert functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.alert();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing critical functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.critical();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing error functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.error();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing warning functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.warning();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing notice functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.notice();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing info functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.info();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing debug functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.debug();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing log functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.log();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing log functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.log();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing console functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(true, false, false);
|
||||||
|
|
||||||
|
log.console();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(function ()
|
describe('testInvalidLocalLogging', function ()
|
||||||
{
|
{
|
||||||
|
it('Testing emergency functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.emergency();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing alert functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.alert();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing critical functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.critical();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing error functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.error();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing warning functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.warning();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing notice functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.notice();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing info functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.info();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing debug functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.debug();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing log functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.log();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing log functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.log();
|
||||||
|
expect(console.log).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Testing console functionality', function ()
|
||||||
|
{
|
||||||
|
spyOn(console, 'log');
|
||||||
|
|
||||||
|
let log = new jsOMS.Log.Logger(false, false, false);
|
||||||
|
|
||||||
|
log.console();
|
||||||
|
expect(console.log).toHaveBeenCalled();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ describe('MathProcessorTest', function ()
|
||||||
it('Testing formula evaluation', function ()
|
it('Testing formula evaluation', function ()
|
||||||
{
|
{
|
||||||
expect(jsOMS.mathEvaluate('3 + 4 * 2 / ( 1 - 5 ) ^ 2 ^ 3 + 1.5')).toBeCloseTo(4.5, 2);
|
expect(jsOMS.mathEvaluate('3 + 4 * 2 / ( 1 - 5 ) ^ 2 ^ 3 + 1.5')).toBeCloseTo(4.5, 2);
|
||||||
|
expect(jsOMS.mathEvaluate('3+4*2/(1-5)^2^3+1.5')).toBeCloseTo(4.5, 2);
|
||||||
expect(jsOMS.mathEvaluate('invalid')).toBe(null);
|
expect(jsOMS.mathEvaluate('invalid')).toBe(null);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,13 @@
|
||||||
<!-- include source files here... -->
|
<!-- include source files here... -->
|
||||||
<script src="../Asset/AssetManager.js"></script>
|
<script src="../Asset/AssetManager.js"></script>
|
||||||
<script src="../Autoloader.js"></script>
|
<script src="../Autoloader.js"></script>
|
||||||
|
|
||||||
|
<script src="../Message/Request/Request.js"></script>
|
||||||
|
<script src="../Message/Request/OSType.js"></script>
|
||||||
|
<script src="../Message/Request/BrowserType.js"></script>
|
||||||
|
|
||||||
<script src="../Log/Logger.js"></script>
|
<script src="../Log/Logger.js"></script>
|
||||||
|
<script src="../Log/LogLevel.js"></script>
|
||||||
|
|
||||||
<script src="../Account/Account.js"></script>
|
<script src="../Account/Account.js"></script>
|
||||||
<script src="../Account/AccountManager.js"></script>
|
<script src="../Account/AccountManager.js"></script>
|
||||||
|
|
@ -33,6 +39,9 @@
|
||||||
<script src="../Uri/UriFactory.js"></script>
|
<script src="../Uri/UriFactory.js"></script>
|
||||||
|
|
||||||
<!-- include spec files here... -->
|
<!-- include spec files here... -->
|
||||||
|
<script src="Log/LoggerTest.js"></script>
|
||||||
|
<script src="Log/LogLevelTest.js"></script>
|
||||||
|
|
||||||
<script src="Asset/AssetManagerTest.js"></script>
|
<script src="Asset/AssetManagerTest.js"></script>
|
||||||
|
|
||||||
<script src="Account/AccountTest.js"></script>
|
<script src="Account/AccountTest.js"></script>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user