/
test.logger.js
143 lines (110 loc) · 3.99 KB
/
test.logger.js
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
var cordova = require('cordova')
var logger = require('cordova/plugin/logger')
var exec = require("cordova/exec")
// fake device ready, but can't test the queued messages this way
logger.__onDeviceReady()
//(function() {
describe("logger using exec", function () {
var savedLevel
beforeEach(function() {
savedLevel = logger.level()
logger.useConsole(false)
exec.reset();
})
afterEach(function() {
logger.level(savedLevel)
})
it("is not logging to console", function () {
expect(logger.useConsole()).toBe(false)
})
it("is using level WARN by default", function () {
expect(logger.level()).toBe(logger.WARN)
})
it("has it's level constants set right", function () {
expect(logger.LOG ).toBe("LOG")
expect(logger.ERROR).toBe("ERROR")
expect(logger.WARN ).toBe("WARN")
expect(logger.INFO ).toBe("INFO")
expect(logger.DEBUG).toBe("DEBUG")
})
it("supports setting the level", function () {
logger.level(logger.INFO)
expect(logger.level()).toBe(logger.INFO)
})
it("implements log() correctly", function () {
logger.log("1")
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.LOG, "1"]);
})
it("implements error() correctly", function () {
logger.error("2")
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.ERROR, "2"]);
})
it("implements warn() correctly", function () {
logger.warn("3")
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.WARN, "3"]);
})
it("implements info() correctly", function () {
logger.level(logger.INFO)
logger.info("4")
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.INFO, "4"]);
})
it("implements debug() correctly", function () {
logger.level(logger.DEBUG)
logger.debug("5")
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.DEBUG, "5"]);
})
it("implements logLevel() correctly", function () {
logger.logLevel("LOG", "6")
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.LOG, "6"]);
})
it("implements format strings correctly", function () {
logger.log("a-%s-b-%o-c")
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.LOG, "a-%s-b-%o-c"]);
logger.log("a-%s-b-%o-c", "xyz", {f:1, g:2})
expect(exec).toHaveBeenCalledWith(null, null, "Logger", "logLevel", [logger.LOG, "a-xyz-b-{\"f\":1,\"g\":2}-c"]);
})
})
describe("logger using console", function () {
var loggedMessage
var originalConsoleLog = console.log
function fakeConsoleLog(message) {
loggedMessage = message
}
beforeEach(function() {
logger.useConsole(true)
loggedMessage = null
console.log = fakeConsoleLog
})
afterEach(function() {
console.log = originalConsoleLog
})
it("is logging to console", function () {
expect(logger.useConsole()).toBe(true)
})
it("implements log() correctly", function () {
logger.log("1")
expect(loggedMessage).toBe("1")
})
it("implements error() correctly", function () {
logger.error("2")
expect(loggedMessage).toBe("ERROR: 2")
})
it("implements warn() correctly", function () {
logger.warn("3")
expect(loggedMessage).toBe("WARN: 3")
})
it("implements info() correctly", function () {
logger.info("4")
expect(loggedMessage).toBe(null)
logger.level(logger.INFO)
logger.info("4")
expect(loggedMessage).toBe("INFO: 4")
})
it("implements debug() correctly", function () {
logger.debug("5")
expect(loggedMessage).toBe(null)
logger.level(logger.DEBUG)
logger.debug("5")
expect(loggedMessage).toBe("DEBUG: 5")
})
})