mirror of
https://github.com/Karaka-Management/jsOMS.git
synced 2026-01-11 01:48:40 +00:00
Additional log tests
This commit is contained in:
parent
3a314dbda0
commit
320936bedf
|
|
@ -31,15 +31,13 @@
|
|||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
jsOMS.DataStorage.LocalStorage.available = function ()
|
||||
{
|
||||
try {
|
||||
return 'localStorage' in window && window.localStorage !== null;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
static available()
|
||||
{
|
||||
try {
|
||||
return 'localStorage' in window && window.localStorage !== null;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
};
|
||||
}(window.jsOMS = window.jsOMS || {}));
|
||||
|
|
|
|||
125
Log/Logger.js
125
Log/Logger.js
|
|
@ -22,11 +22,11 @@
|
|||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
constructor (verbose, ui, remote)
|
||||
constructor (verbose = true, ui = true, remote = false)
|
||||
{
|
||||
this.verbose = typeof verbose !== 'undefined' ? verbose : true;
|
||||
this.ui = typeof ui !== 'undefined' ? ui : true;
|
||||
this.remote = typeof remote !== 'undefined' ? remote : false;
|
||||
this.verbose = verbose;
|
||||
this.ui = ui;
|
||||
this.remote = remote;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
static getInstance (verbose, ui, remote)
|
||||
static getInstance (verbose = true, ui = true, remote = false)
|
||||
{
|
||||
if(!jsOMS.Log.Logger.instance) {
|
||||
jsOMS.Log.Logger.instance = new jsOMS.Log.Logger(verbose, ui, remote);
|
||||
|
|
@ -66,15 +66,15 @@
|
|||
*/
|
||||
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) {
|
||||
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);
|
||||
|
||||
if (this.verbose) {
|
||||
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);
|
||||
this.writeVerbose(message, context, level);
|
||||
}
|
||||
|
||||
if (this.ui) {
|
||||
|
|
@ -152,19 +129,78 @@
|
|||
}
|
||||
|
||||
if (this.remote) {
|
||||
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();
|
||||
this.writeRemote(message, context, level);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
|
|
@ -322,7 +358,6 @@
|
|||
/**
|
||||
* Create log message
|
||||
*
|
||||
* @param {string} level Log level
|
||||
* @param {string} message Message to display
|
||||
* @param {Object} [context] Context to put into message
|
||||
*
|
||||
|
|
@ -332,9 +367,9 @@
|
|||
*
|
||||
* @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";
|
||||
|
||||
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 ()
|
||||
{
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -18,7 +18,13 @@
|
|||
<!-- include source files here... -->
|
||||
<script src="../Asset/AssetManager.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/LogLevel.js"></script>
|
||||
|
||||
<script src="../Account/Account.js"></script>
|
||||
<script src="../Account/AccountManager.js"></script>
|
||||
|
|
@ -33,6 +39,9 @@
|
|||
<script src="../Uri/UriFactory.js"></script>
|
||||
|
||||
<!-- include spec files here... -->
|
||||
<script src="Log/LoggerTest.js"></script>
|
||||
<script src="Log/LogLevelTest.js"></script>
|
||||
|
||||
<script src="Asset/AssetManagerTest.js"></script>
|
||||
|
||||
<script src="Account/AccountTest.js"></script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user