Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / log4js / test / newLevel-test.js
1 "use strict";
2 var vows = require('vows')
3   , assert = require('assert')
4   , Level = require('../lib/levels')
5   , log4js = require('../lib/log4js')
6   , loggerModule = require('../lib/logger')
7   , Logger = loggerModule.Logger;
8
9 vows.describe('../lib/logger').addBatch({
10   'creating a new log level': {
11     topic: function () {
12       Level.forName("DIAG", 6000);
13       return new Logger();
14     },
15
16     'should export new log level in levels module': function (logger) {
17       assert.isDefined(Level.DIAG);
18       assert.equal(Level.DIAG.levelStr, "DIAG");
19       assert.equal(Level.DIAG.level, 6000);
20     },
21
22     'should create named function on logger prototype': function(logger) {
23       assert.isFunction(logger.diag);
24     },
25
26     'should create isLevelEnabled function on logger prototype': function(logger) {
27       assert.isFunction(logger.isDiagEnabled);
28     },
29   },
30
31   'creating a new log level with underscores': {
32     topic: function () {
33       Level.forName("NEW_LEVEL_OTHER", 6000);
34       return new Logger();
35     },
36
37     'should export new log level to levels module': function (logger) {
38       assert.isDefined(Level.NEW_LEVEL_OTHER);
39       assert.equal(Level.NEW_LEVEL_OTHER.levelStr, "NEW_LEVEL_OTHER");
40       assert.equal(Level.NEW_LEVEL_OTHER.level, 6000);
41     },
42
43     'should create named function on logger prototype in camel case': function(logger) {
44       assert.isFunction(logger.newLevelOther);
45     },
46
47     'should create named isLevelEnabled function on logger prototype in camel case':
48     function(logger) {
49       assert.isFunction(logger.isNewLevelOtherEnabled);
50     }
51   },
52
53   'creating log events containing newly created log level': {
54     topic: function() {
55       var events = [],
56         logger = new Logger();
57       logger.addListener("log", function (logEvent) { events.push(logEvent); });
58
59       logger.log(Level.forName("LVL1", 6000), "Event 1");
60       logger.log(Level.getLevel("LVL1"), "Event 2");
61       logger.log("LVL1", "Event 3");
62       logger.lvl1("Event 4");
63
64       logger.setLevel(Level.forName("LVL2", 7000));
65       logger.lvl1("Event 5");
66
67       return events;
68     },
69
70     'should show log events with new log level': function(events) {
71       assert.equal(events[0].level.toString(), "LVL1");
72       assert.equal(events[0].data[0], "Event 1");
73
74       assert.equal(events[1].level.toString(), "LVL1");
75       assert.equal(events[1].data[0], "Event 2");
76
77       assert.equal(events[2].level.toString(), "LVL1");
78       assert.equal(events[2].data[0], "Event 3");      
79
80       assert.equal(events[3].level.toString(), "LVL1");
81       assert.equal(events[3].data[0], "Event 4");
82     },
83
84     'should not be present if min log level is greater than newly created level':
85     function(events) {
86       assert.equal(events.length, 4);
87     }
88   },
89
90   'creating a new log level with incorrect parameters': {
91     topic: function() {
92       log4js.levels.forName(9000, "FAIL_LEVEL_1");
93       log4js.levels.forName("FAIL_LEVEL_2");
94       return new Logger();
95     },
96
97     'should fail to create the level': function(logger) {
98       assert.isUndefined(Level.FAIL_LEVEL_1);
99       assert.isUndefined(Level.FAIL_LEVEL_2);
100     }
101   },
102
103   'calling log with an undefined log level': {
104     topic: function() {
105       var events = [],
106         logger = new Logger();
107       logger.addListener("log", function (logEvent) { events.push(logEvent); });
108
109       logger.log("LEVEL_DOES_NEXT_EXIST", "Event 1");
110       logger.log(Level.forName("LEVEL_DOES_NEXT_EXIST"), "Event 2");
111
112       return events;
113     },
114
115     'should fallback to the default log level (INFO)': function(events) {
116       assert.equal(events[0].level.toString(), "INFO");
117       assert.equal(events[1].level.toString(), "INFO");
118     }
119   },
120
121   'creating a new level with an existing level name': {
122     topic: function() {
123       var events = [],
124         logger = new Logger();
125       logger.addListener("log", function (logEvent) { events.push(logEvent); });
126       
127       logger.log(log4js.levels.forName("MY_LEVEL", 9000), "Event 1");
128       logger.log(log4js.levels.forName("MY_LEVEL", 8000), "Event 1");
129
130       return events;
131     },
132
133     'should override the existing log level': function(events) {
134       assert.equal(events[0].level.level, 9000);
135       assert.equal(events[1].level.level, 8000);
136     }
137   }
138 }).exportTo(module);