forked from splunk/splunk-sdk-javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_log.js
More file actions
93 lines (84 loc) · 3.33 KB
/
Copy pathtest_log.js
File metadata and controls
93 lines (84 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// Copyright 2011 Splunk, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"): you may
// not use this file except in compliance with the License. You may obtain
// a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
exports.setup = function() {
var isBrowser = typeof window !== "undefined";
var unload = function(name) {
for (var k in require.cache) {
if (require.cache.hasOwnProperty(k) && k.match(name + "$")) {
delete require.cache[k];
}
}
};
if (isBrowser) {
return {};
}
else {
return {
"Default level with no environment variable": function(test) {
var oldVal = process.env.LOG_LEVEL;
delete process.env.LOG_LEVEL;
unload("log.js");
var logger = require("../lib/log.js");
test.equal(process.env.LOG_LEVEL, logger.Logger.levels.ERROR);
process.env.LOG_LEVEL = oldVal;
unload("log.js");
test.done();
},
"Setting a nonexistant level default to errors": function(test) {
var oldVal = process.env.LOG_LEVEL;
process.env.LOG_LEVEL = "25";
unload("log.js");
var logger = require("../lib/log.js");
test.equal(process.env.LOG_LEVEL, logger.Logger.levels.ERROR);
process.env.LOG_LEVEL = oldVal;
unload("log.js");
test.done();
},
"Setting logging level as integer works": function(test) {
var oldVal = process.env.LOG_LEVEL;
process.env.LOG_LEVEL = "3";
unload("log.js");
var logger = require("../lib/log.js");
test.equal(process.env.LOG_LEVEL, logger.Logger.levels.INFO);
process.env.LOG_LEVEL = oldVal;
unload("log.js");
test.done();
},
"Setting logging level as string works": function(test) {
var oldVal = process.env.LOG_LEVEL;
process.env.LOG_LEVEL = "INFO";
unload("log.js");
var logger = require("../lib/log.js");
test.equal(process.env.LOG_LEVEL, logger.Logger.levels.INFO);
process.env.LOG_LEVEL = oldVal;
unload("log.js");
test.done();
},
"Setting logging level after the fact works": function(test) {
var oldVal = process.env.LOG_LEVEL;
unload("log.js");
var logger = require("../lib/log.js");
logger.Logger.setLevel();
process.env.LOG_LEVEL = oldVal;
unload("log.js");
test.done();
}
};
}
};
if (module === require.main) {
var test = require("../contrib/nodeunit/test_reporter");
var suite = exports.setup();
test.run([{"Tests": suite}]);
}