standard-log 6.2.6 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/standard-log.js +3697 -3688
- package/dist/standard-log.js.gz +0 -0
- package/dist/standard-log.js.map +1 -1
- package/dist/standard-log.js.map.gz +0 -0
- package/lib/captureLogs.d.ts.map +1 -1
- package/lib/captureLogs.js +1 -1
- package/lib/captureLogs.js.map +1 -1
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +10 -2
- package/lib/config.js.map +1 -1
- package/lib/configForTest.d.ts.map +1 -1
- package/lib/configForTest.js +2 -0
- package/lib/configForTest.js.map +1 -1
- package/lib/memory/MemoryLogReporter.d.ts +1 -0
- package/lib/memory/MemoryLogReporter.d.ts.map +1 -1
- package/lib/memory/MemoryLogReporter.js +7 -8
- package/lib/memory/MemoryLogReporter.js.map +1 -1
- package/libm/captureLogs.d.ts.map +1 -1
- package/libm/captureLogs.js +1 -1
- package/libm/captureLogs.js.map +1 -1
- package/libm/config.d.ts.map +1 -1
- package/libm/config.js +10 -2
- package/libm/config.js.map +1 -1
- package/libm/configForTest.d.ts.map +1 -1
- package/libm/configForTest.js +2 -0
- package/libm/configForTest.js.map +1 -1
- package/libm/memory/MemoryLogReporter.d.ts +1 -0
- package/libm/memory/MemoryLogReporter.d.ts.map +1 -1
- package/libm/memory/MemoryLogReporter.js +5 -7
- package/libm/memory/MemoryLogReporter.js.map +1 -1
- package/package.json +2 -2
- package/src/captureLogs.spec.ts +3 -1
- package/src/captureLogs.ts +2 -2
- package/src/config.spec.ts +15 -7
- package/src/config.ts +10 -2
- package/src/configForTest.ts +2 -0
- package/src/console/createConsoleLogReporter.spec.ts +135 -127
- package/src/getLogger.spec.ts +1 -1
- package/src/logReporter.spec.ts +78 -67
- package/src/memory/MemoryLogReporter.spec.ts +80 -76
- package/src/memory/MemoryLogReporter.ts +5 -7
|
@@ -1,177 +1,185 @@
|
|
|
1
|
-
import a from 'assertron'
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
store.reset()
|
|
9
|
-
config({ mode: 'test' })
|
|
10
|
-
})
|
|
1
|
+
import a from 'assertron'
|
|
2
|
+
import {
|
|
3
|
+
addCustomLogLevel, clearCustomLogLevel, config, configForTest,
|
|
4
|
+
ConsoleLogFormatter, createConsoleLogReporter,
|
|
5
|
+
LogFilter, logLevels, plainLogFormatter, ProhibitedDuringProduction
|
|
6
|
+
} from '..'
|
|
7
|
+
import { store } from '../store'
|
|
11
8
|
|
|
12
|
-
describe('
|
|
13
|
-
|
|
14
|
-
const reporter = createConsoleLogReporter({ formatter: plainLogFormatter });
|
|
15
|
-
['emergency', 'info', 'warn', 'debug'].forEach(level => {
|
|
16
|
-
reporter.write({ id: 'plain', level: (logLevels as any)[level], args: ['hello', 'world'], timestamp: new Date() })
|
|
17
|
-
})
|
|
18
|
-
})
|
|
19
|
-
})
|
|
9
|
+
describe('production checks', () => {
|
|
10
|
+
beforeEach(() => store.reset())
|
|
20
11
|
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
test('set filter during production mode throws', () => {
|
|
13
|
+
config({ mode: 'production' })
|
|
23
14
|
const reporter = createConsoleLogReporter()
|
|
24
|
-
|
|
15
|
+
a.throws(() => { reporter.filter = () => true }, ProhibitedDuringProduction)
|
|
25
16
|
})
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
|
|
18
|
+
const idFormatter: ConsoleLogFormatter = (entry) => [entry.id]
|
|
19
|
+
test('set formatter during production mode throws', () => {
|
|
20
|
+
config({ mode: 'production' })
|
|
21
|
+
const reporter = createConsoleLogReporter()
|
|
22
|
+
a.throws(() => reporter.formatter = idFormatter, ProhibitedDuringProduction)
|
|
29
23
|
})
|
|
30
24
|
})
|
|
31
25
|
|
|
32
|
-
describe('log level', () => {
|
|
33
|
-
test('error, alert, critical and emergency logs are written to console.error', () => {
|
|
34
|
-
const id = 'log'
|
|
35
|
-
const reporter = createConsoleLogReporter()
|
|
36
|
-
const fakeConsole = reporter.console = createFakeConsole();
|
|
37
26
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
reporter.write({ id, level: logLevels.alert, args: ['alert'], timestamp: new Date() })
|
|
41
|
-
reporter.write({ id, level: logLevels.error, args: ['error'], timestamp: new Date() })
|
|
27
|
+
describe('unit tests', () => {
|
|
28
|
+
beforeEach(() => configForTest())
|
|
42
29
|
|
|
43
|
-
|
|
30
|
+
describe('rendering tests', () => {
|
|
31
|
+
test('plain rendering', () => {
|
|
32
|
+
const reporter = createConsoleLogReporter({ formatter: plainLogFormatter });
|
|
33
|
+
['emergency', 'info', 'warn', 'debug'].forEach(level => {
|
|
34
|
+
reporter.write({ id: 'plain', level: (logLevels as any)[level], args: ['hello', 'world'], timestamp: new Date() })
|
|
35
|
+
})
|
|
36
|
+
})
|
|
44
37
|
})
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
describe('id', () => {
|
|
40
|
+
test('default is "console"', () => {
|
|
41
|
+
const reporter = createConsoleLogReporter()
|
|
42
|
+
expect(reporter.id).toBe('console')
|
|
43
|
+
})
|
|
44
|
+
test('can be overridden', () => {
|
|
45
|
+
const reporter = createConsoleLogReporter({ id: 'neo-console' })
|
|
46
|
+
expect(reporter.id).toBe('neo-console')
|
|
47
|
+
})
|
|
48
|
+
})
|
|
51
49
|
|
|
52
|
-
|
|
50
|
+
describe('log level', () => {
|
|
51
|
+
test('error, alert, critical and emergency logs are written to console.error', () => {
|
|
52
|
+
const id = 'log'
|
|
53
|
+
const reporter = createConsoleLogReporter()
|
|
54
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
reporter.write({ id, level: logLevels.emergency, args: ['emergency'], timestamp: new Date() })
|
|
57
|
+
reporter.write({ id, level: logLevels.critical, args: ['critical'], timestamp: new Date() })
|
|
58
|
+
reporter.write({ id, level: logLevels.alert, args: ['alert'], timestamp: new Date() })
|
|
59
|
+
reporter.write({ id, level: logLevels.error, args: ['error'], timestamp: new Date() })
|
|
56
60
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const reporter = createConsoleLogReporter()
|
|
61
|
+
expect(fakeConsole.errors.length).toBe(4)
|
|
62
|
+
})
|
|
60
63
|
|
|
61
|
-
|
|
64
|
+
test('warn logs are written to console.warn', () => {
|
|
65
|
+
const id = 'log'
|
|
66
|
+
const reporter = createConsoleLogReporter()
|
|
62
67
|
|
|
63
|
-
|
|
64
|
-
reporter.write({ id, level: logLevels.info, args: ['info'], timestamp: new Date() })
|
|
68
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
65
69
|
|
|
66
|
-
|
|
67
|
-
})
|
|
70
|
+
reporter.write({ id, level: logLevels.warn, args: ['warn'], timestamp: new Date() })
|
|
68
71
|
|
|
72
|
+
expect(fakeConsole.warns.length).toBe(1)
|
|
73
|
+
})
|
|
69
74
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const fakeConsole = reporter.console = createFakeConsole();
|
|
75
|
+
test('notice and info logs are written to console.info', () => {
|
|
76
|
+
const id = 'log'
|
|
77
|
+
const reporter = createConsoleLogReporter()
|
|
74
78
|
|
|
75
|
-
|
|
76
|
-
reporter.write({ id, level: logLevels.trace, args: ['trace'], timestamp: new Date() })
|
|
77
|
-
reporter.write({ id, level: logLevels.planck, args: ['planck'], timestamp: new Date() })
|
|
79
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
78
80
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
})
|
|
81
|
+
reporter.write({ id, level: logLevels.notice, args: ['notice'], timestamp: new Date() })
|
|
82
|
+
reporter.write({ id, level: logLevels.info, args: ['info'], timestamp: new Date() })
|
|
82
83
|
|
|
83
|
-
|
|
84
|
-
|
|
84
|
+
expect(fakeConsole.infos.length).toBe(2)
|
|
85
|
+
})
|
|
85
86
|
|
|
86
|
-
test('are written according to their log level value', () => {
|
|
87
|
-
addCustomLogLevel('high', 50)
|
|
88
|
-
addCustomLogLevel('important', 450)
|
|
89
|
-
addCustomLogLevel('interest', 650)
|
|
90
|
-
addCustomLogLevel('silly', 1000)
|
|
91
87
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
test('debug, trace, and planck logs are written to console.debug', () => {
|
|
89
|
+
const id = 'log'
|
|
90
|
+
const reporter = createConsoleLogReporter()
|
|
91
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
95
92
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
reporter.write({ id, level: 1000, args: ['d'], timestamp: new Date() })
|
|
93
|
+
reporter.write({ id, level: logLevels.debug, args: ['debug'], timestamp: new Date() })
|
|
94
|
+
reporter.write({ id, level: logLevels.trace, args: ['trace'], timestamp: new Date() })
|
|
95
|
+
reporter.write({ id, level: logLevels.planck, args: ['planck'], timestamp: new Date() })
|
|
100
96
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
expect(fakeConsole.infos.length).toBe(1)
|
|
104
|
-
expect(fakeConsole.debugs.length).toBe(1)
|
|
97
|
+
expect(fakeConsole.debugs.length).toBe(3)
|
|
98
|
+
})
|
|
105
99
|
})
|
|
106
|
-
})
|
|
107
100
|
|
|
108
|
-
|
|
101
|
+
describe('custom logs', () => {
|
|
102
|
+
afterEach(() => clearCustomLogLevel())
|
|
109
103
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
104
|
+
test('are written according to their log level value', () => {
|
|
105
|
+
addCustomLogLevel('high', 50)
|
|
106
|
+
addCustomLogLevel('important', 450)
|
|
107
|
+
addCustomLogLevel('interest', 650)
|
|
108
|
+
addCustomLogLevel('silly', 1000)
|
|
115
109
|
|
|
116
|
-
|
|
110
|
+
const id = 'log'
|
|
111
|
+
const reporter = createConsoleLogReporter()
|
|
112
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
117
113
|
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
reporter.write({ id, level: 50, args: ['a'], timestamp: new Date() })
|
|
115
|
+
reporter.write({ id, level: 450, args: ['b'], timestamp: new Date() })
|
|
116
|
+
reporter.write({ id, level: 650, args: ['c'], timestamp: new Date() })
|
|
117
|
+
reporter.write({ id, level: 1000, args: ['d'], timestamp: new Date() })
|
|
120
118
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
119
|
+
expect(fakeConsole.errors.length).toBe(1)
|
|
120
|
+
expect(fakeConsole.warns.length).toBe(1)
|
|
121
|
+
expect(fakeConsole.infos.length).toBe(1)
|
|
122
|
+
expect(fakeConsole.debugs.length).toBe(1)
|
|
123
|
+
})
|
|
126
124
|
})
|
|
127
125
|
|
|
128
|
-
|
|
129
|
-
config({ mode: 'production' })
|
|
130
|
-
const reporter = createConsoleLogReporter()
|
|
131
|
-
a.throws(() => reporter.formatter = idFormatter, ProhibitedDuringProduction)
|
|
132
|
-
})
|
|
133
|
-
})
|
|
126
|
+
const idFormatter: ConsoleLogFormatter = (entry) => [entry.id]
|
|
134
127
|
|
|
135
|
-
describe('
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
128
|
+
describe('formatter', () => {
|
|
129
|
+
test('use specific formatter', () => {
|
|
130
|
+
const id = 'id-only'
|
|
131
|
+
const reporter = createConsoleLogReporter({ formatter: idFormatter })
|
|
132
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
140
133
|
|
|
141
|
-
|
|
142
|
-
reporter.write({ id: 'secret', level: logLevels.emergency, args: ['emergency'], timestamp: new Date() })
|
|
134
|
+
reporter.write({ id, level: logLevels.emergency, args: ['emergency'], timestamp: new Date() })
|
|
143
135
|
|
|
144
|
-
|
|
145
|
-
|
|
136
|
+
expect(fakeConsole.errors).toEqual([['id-only']])
|
|
137
|
+
})
|
|
146
138
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
139
|
+
test('formatter can be changed afterward', () => {
|
|
140
|
+
const reporter = createConsoleLogReporter()
|
|
141
|
+
const formatter = reporter.formatter
|
|
142
|
+
reporter.formatter = idFormatter
|
|
143
|
+
expect(reporter.formatter).not.toEqual(formatter)
|
|
144
|
+
})
|
|
152
145
|
})
|
|
153
146
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
147
|
+
describe('filter', () => {
|
|
148
|
+
const filter: LogFilter = (entry) => entry.id !== 'secret'
|
|
149
|
+
test('use specific filter', () => {
|
|
150
|
+
const reporter = createConsoleLogReporter({ formatter: idFormatter, filter })
|
|
151
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
152
|
+
|
|
153
|
+
reporter.write({ id: 'normal', level: logLevels.emergency, args: ['emergency'], timestamp: new Date() })
|
|
154
|
+
reporter.write({ id: 'secret', level: logLevels.emergency, args: ['emergency'], timestamp: new Date() })
|
|
155
|
+
|
|
156
|
+
expect(fakeConsole.errors).toEqual([['normal']])
|
|
157
|
+
})
|
|
158
|
+
|
|
159
|
+
test('can change filter', () => {
|
|
160
|
+
const reporter = createConsoleLogReporter()
|
|
161
|
+
const filter = reporter.filter
|
|
162
|
+
reporter.filter = entry => entry.id !== 'secret'
|
|
163
|
+
expect(reporter.filter).not.toEqual(filter)
|
|
164
|
+
})
|
|
158
165
|
})
|
|
159
|
-
})
|
|
160
166
|
|
|
161
|
-
test('write log entry with multiple arguments', () => {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
167
|
+
test('write log entry with multiple arguments', () => {
|
|
168
|
+
const id = 'log'
|
|
169
|
+
const reporter = createConsoleLogReporter({ formatter: plainLogFormatter })
|
|
170
|
+
const fakeConsole = reporter.console = createFakeConsole()
|
|
165
171
|
|
|
166
|
-
|
|
172
|
+
const entry = { id, level: logLevels.info, args: ['a', 'b', 'c'], timestamp: new Date() }
|
|
167
173
|
|
|
168
|
-
|
|
174
|
+
reporter.write(entry)
|
|
169
175
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
176
|
+
expect(fakeConsole.infos).toEqual([
|
|
177
|
+
[entry.timestamp.toISOString(), 'log', '(INFO)', 'a', 'b', 'c']
|
|
178
|
+
])
|
|
179
|
+
})
|
|
173
180
|
})
|
|
174
181
|
|
|
182
|
+
|
|
175
183
|
function createFakeConsole() {
|
|
176
184
|
const errors: any[] = []
|
|
177
185
|
const infos: any[] = []
|
package/src/getLogger.spec.ts
CHANGED
|
@@ -380,7 +380,7 @@ test('auto configure', async () => {
|
|
|
380
380
|
expect(store.value.configured).toBeFalsy()
|
|
381
381
|
const log = getLogger('auto config')
|
|
382
382
|
|
|
383
|
-
log.
|
|
383
|
+
log.info('config is called automatically as expected')
|
|
384
384
|
|
|
385
385
|
await delay(10)
|
|
386
386
|
expect(store.value.configured).toBeTruthy()
|
package/src/logReporter.spec.ts
CHANGED
|
@@ -1,88 +1,99 @@
|
|
|
1
|
-
import a from 'assertron'
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import a from 'assertron'
|
|
2
|
+
import {
|
|
3
|
+
addLogReporter, clearLogReporters, config,
|
|
4
|
+
createConsoleLogReporter, createMemoryLogReporter,
|
|
5
|
+
getConsoleReporter, getLogReporter, hasConsoleReporter,
|
|
6
|
+
LogFilter, logLevels, ProhibitedDuringProduction
|
|
7
|
+
} from '.'
|
|
8
|
+
import { store } from './store'
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
store.reset()
|
|
11
|
-
config({ mode: 'test' })
|
|
12
|
-
})
|
|
10
|
+
describe('production checks', () => {
|
|
11
|
+
beforeEach(() => store.reset())
|
|
13
12
|
|
|
14
|
-
describe('addLogReporter()', () => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
describe('addLogReporter()', () => {
|
|
14
|
+
test('throws in production mode', () => {
|
|
15
|
+
config({ mode: 'production' })
|
|
16
|
+
const reporter = createMemoryLogReporter()
|
|
17
|
+
a.throws(() => addLogReporter(reporter), ProhibitedDuringProduction)
|
|
18
|
+
})
|
|
19
19
|
})
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
describe('clearLogReporters()', () => {
|
|
22
|
+
test('throws in production mode', () => {
|
|
23
|
+
config({ mode: 'production' })
|
|
24
|
+
a.throws(() => clearLogReporters(), ProhibitedDuringProduction)
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
})
|
|
25
28
|
|
|
26
|
-
|
|
29
|
+
describe('unit tests', () => {
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
store.reset()
|
|
32
|
+
config({ mode: 'test' })
|
|
27
33
|
})
|
|
28
34
|
|
|
29
|
-
describe('
|
|
30
|
-
test('
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
expect(getLogReporter('console')).toBeDefined()
|
|
35
|
-
})
|
|
35
|
+
describe('addLogReporter()', () => {
|
|
36
|
+
test('adds log reporter', () => {
|
|
37
|
+
const count = store.value.reporters.length
|
|
38
|
+
const reporter = createMemoryLogReporter()
|
|
39
|
+
addLogReporter(reporter)
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
const filter: LogFilter = entry => entry.level < logLevels.alert
|
|
39
|
-
addLogReporter(createConsoleLogReporter({ id: 'c2', filter }))
|
|
40
|
-
addLogReporter(createConsoleLogReporter({ id: 'c3' }))
|
|
41
|
-
const c3 = getConsoleReporter()!
|
|
42
|
-
expect(c3.filter).toBe(filter)
|
|
41
|
+
expect(store.value.reporters.length).toBe(count + 1)
|
|
43
42
|
})
|
|
44
43
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
})
|
|
53
|
-
})
|
|
44
|
+
describe('add another console reporter', () => {
|
|
45
|
+
test('will not replace existing one', () => {
|
|
46
|
+
expect(getLogReporter('console')).toBeDefined()
|
|
47
|
+
addLogReporter(createConsoleLogReporter({ id: 'c2' }))
|
|
48
|
+
expect(getLogReporter('c2')).toBeUndefined()
|
|
49
|
+
expect(getLogReporter('console')).toBeDefined()
|
|
50
|
+
})
|
|
54
51
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
test('will carry over existing filter', () => {
|
|
53
|
+
const filter: LogFilter = entry => entry.level < logLevels.alert
|
|
54
|
+
addLogReporter(createConsoleLogReporter({ id: 'c2', filter }))
|
|
55
|
+
addLogReporter(createConsoleLogReporter({ id: 'c3' }))
|
|
56
|
+
const c3 = getConsoleReporter()!
|
|
57
|
+
expect(c3.filter).toBe(filter)
|
|
58
|
+
})
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
test('will combine existing filter and new filter', () => {
|
|
61
|
+
addLogReporter(createConsoleLogReporter({ id: 'c2', filter: entry => entry.level > logLevels.critical }))
|
|
62
|
+
addLogReporter(createConsoleLogReporter({ id: 'c3', filter: entry => entry.level < logLevels.error }))
|
|
63
|
+
const c2 = getConsoleReporter()!
|
|
64
|
+
expect(c2.filter!({ level: logLevels.info } as any)).toBe(false)
|
|
65
|
+
expect(c2.filter!({ level: logLevels.alert } as any)).toBe(false)
|
|
66
|
+
})
|
|
67
|
+
})
|
|
62
68
|
})
|
|
63
|
-
})
|
|
64
69
|
|
|
65
|
-
describe('
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
describe('getLogReporter()', () => {
|
|
71
|
+
test('get log reporter by id', () => {
|
|
72
|
+
expect(getLogReporter('console')).toBeDefined()
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
test('get log reporter with unknown id gets undefined', () => {
|
|
76
|
+
expect(getLogReporter('blah')).toBeUndefined()
|
|
77
|
+
})
|
|
69
78
|
})
|
|
70
79
|
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
describe('clearLogReporters()', () => {
|
|
81
|
+
test('removes all reporters', () => {
|
|
82
|
+
clearLogReporters()
|
|
73
83
|
|
|
74
|
-
|
|
84
|
+
expect(store.value.reporters.length).toBe(0)
|
|
85
|
+
})
|
|
75
86
|
})
|
|
76
|
-
})
|
|
77
87
|
|
|
78
|
-
describe('hasConsoleReporter()', () => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
describe('hasConsoleReporter()', () => {
|
|
89
|
+
test('returns true if there is a console reporter', () => {
|
|
90
|
+
expect(hasConsoleReporter()).toBeTruthy()
|
|
91
|
+
})
|
|
92
|
+
test('returns false if there is no console reporter', () => {
|
|
93
|
+
clearLogReporters()
|
|
94
|
+
expect(hasConsoleReporter()).toBeFalsy()
|
|
95
|
+
addLogReporter(createMemoryLogReporter())
|
|
96
|
+
expect(hasConsoleReporter()).toBeFalsy()
|
|
97
|
+
})
|
|
87
98
|
})
|
|
88
99
|
})
|