mh-two-thousand-and-two
2024-04-12 7fc6dbf547b8899d949b67cdec36b96a7d1701c7
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
"use strict";
 
define(['test/test-helpers'], function(testHelpers) {
    var it = testHelpers.itWithFreshLog;
 
    describe("Setting the methodFactory tests:", function() {
 
        it("methodFactory should be called once for each loggable level", function(log) {
            log.methodFactory = jasmine.createSpy("methodFactory");
 
            log.setLevel("trace");
            expect(log.methodFactory.calls.count()).toEqual(5);
            expect(log.methodFactory.calls.argsFor(0)).toEqual(["trace", 0, undefined]);
            expect(log.methodFactory.calls.argsFor(1)).toEqual(["debug", 0, undefined]);
            expect(log.methodFactory.calls.argsFor(2)).toEqual(["info",  0, undefined]);
            expect(log.methodFactory.calls.argsFor(3)).toEqual(["warn",  0, undefined]);
            expect(log.methodFactory.calls.argsFor(4)).toEqual(["error", 0, undefined]);
 
            log.setLevel("error");
            expect(log.methodFactory.calls.count()).toEqual(6);
            expect(log.methodFactory.calls.argsFor(5)).toEqual(["error", 4, undefined]);
        });
 
        it("functions returned by methodFactory should be used as logging functions", function(log) {
            var logFunction = function() {};
            log.methodFactory = function() { return logFunction; };
            log.setLevel("error");
 
            expect(log.warn).not.toEqual(logFunction);
            expect(log.error).toEqual(logFunction);
        });
 
        it("the third argument should be logger's name", function(log) {
            var logger = log.getLogger("newLogger");
            logger.methodFactory = jasmine.createSpy("methodFactory");
 
            logger.setLevel("error");
            expect(logger.methodFactory.calls.argsFor(0)).toEqual(["error", 4, "newLogger"]);
        });
 
    });
});