HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/node_modules/loglevel/test/method-factory-test.js
"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"]);
        });

    });
});