.
This commit is contained in:
		
							
								
								
									
										101
									
								
								qwen/nodejs/node_modules/@sinonjs/commons/lib/deprecated.test.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								qwen/nodejs/node_modules/@sinonjs/commons/lib/deprecated.test.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
			
		||||
/* eslint-disable no-console */
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
var assert = require("@sinonjs/referee-sinon").assert;
 | 
			
		||||
var sinon = require("@sinonjs/referee-sinon").sinon;
 | 
			
		||||
 | 
			
		||||
var deprecated = require("./deprecated");
 | 
			
		||||
 | 
			
		||||
var msg = "test";
 | 
			
		||||
 | 
			
		||||
describe("deprecated", function () {
 | 
			
		||||
    describe("defaultMsg", function () {
 | 
			
		||||
        it("should return a string", function () {
 | 
			
		||||
            assert.equals(
 | 
			
		||||
                deprecated.defaultMsg("sinon", "someFunc"),
 | 
			
		||||
                "sinon.someFunc is deprecated and will be removed from the public API in a future version of sinon."
 | 
			
		||||
            );
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    describe("printWarning", function () {
 | 
			
		||||
        beforeEach(function () {
 | 
			
		||||
            sinon.replace(process, "emitWarning", sinon.fake());
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        afterEach(sinon.restore);
 | 
			
		||||
 | 
			
		||||
        describe("when `process.emitWarning` is defined", function () {
 | 
			
		||||
            it("should call process.emitWarning with a msg", function () {
 | 
			
		||||
                deprecated.printWarning(msg);
 | 
			
		||||
                assert.calledOnceWith(process.emitWarning, msg);
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        describe("when `process.emitWarning` is undefined", function () {
 | 
			
		||||
            beforeEach(function () {
 | 
			
		||||
                sinon.replace(console, "info", sinon.fake());
 | 
			
		||||
                sinon.replace(console, "log", sinon.fake());
 | 
			
		||||
                process.emitWarning = undefined;
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            afterEach(sinon.restore);
 | 
			
		||||
 | 
			
		||||
            describe("when `console.info` is defined", function () {
 | 
			
		||||
                it("should call `console.info` with a message", function () {
 | 
			
		||||
                    deprecated.printWarning(msg);
 | 
			
		||||
                    assert.calledOnceWith(console.info, msg);
 | 
			
		||||
                });
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            describe("when `console.info` is undefined", function () {
 | 
			
		||||
                it("should call `console.log` with a message", function () {
 | 
			
		||||
                    console.info = undefined;
 | 
			
		||||
                    deprecated.printWarning(msg);
 | 
			
		||||
                    assert.calledOnceWith(console.log, msg);
 | 
			
		||||
                });
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    describe("wrap", function () {
 | 
			
		||||
        // eslint-disable-next-line mocha/no-setup-in-describe
 | 
			
		||||
        var method = sinon.fake();
 | 
			
		||||
        var wrapped;
 | 
			
		||||
 | 
			
		||||
        beforeEach(function () {
 | 
			
		||||
            wrapped = deprecated.wrap(method, msg);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it("should return a wrapper function", function () {
 | 
			
		||||
            assert.match(wrapped, sinon.match.func);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it("should assign the prototype of the passed method", function () {
 | 
			
		||||
            assert.equals(method.prototype, wrapped.prototype);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        context("when the passed method has falsy prototype", function () {
 | 
			
		||||
            it("should not be assigned to the wrapped method", function () {
 | 
			
		||||
                method.prototype = null;
 | 
			
		||||
                wrapped = deprecated.wrap(method, msg);
 | 
			
		||||
                assert.match(wrapped.prototype, sinon.match.object);
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        context("when invoking the wrapped function", function () {
 | 
			
		||||
            before(function () {
 | 
			
		||||
                sinon.replace(deprecated, "printWarning", sinon.fake());
 | 
			
		||||
                wrapped({});
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            it("should call `printWarning` before invoking", function () {
 | 
			
		||||
                assert.calledOnceWith(deprecated.printWarning, msg);
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            it("should invoke the passed method with the given arguments", function () {
 | 
			
		||||
                assert.calledOnceWith(method, {});
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user