Blame view

node_modules/loglevel/test/method-factory-test.js 1.75 KB
aaac7fed   liuqimichale   add
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.length).toEqual(5);
              expect(log.methodFactory.argsForCall[0]).toEqual(["trace", 0, undefined]);
              expect(log.methodFactory.argsForCall[1]).toEqual(["debug", 0, undefined]);
              expect(log.methodFactory.argsForCall[2]).toEqual(["info",  0, undefined]);
              expect(log.methodFactory.argsForCall[3]).toEqual(["warn",  0, undefined]);
              expect(log.methodFactory.argsForCall[4]).toEqual(["error", 0, undefined]);
  
              log.setLevel("error");
              expect(log.methodFactory.calls.length).toEqual(6);
              expect(log.methodFactory.argsForCall[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.argsForCall[0]).toEqual(["error", 4, "newLogger"]);
          });
  
      });
  });