| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | "use strict";var devIp = require("../lib/dev-ip");var respNone = require("./fixtures/resp-none");var respSingle = require("./fixtures/resp-single");var respMultiple = require("./fixtures/resp-multiple");var sinon = require("sinon");var assert = require("chai").assert;var os = require("os");// From the resp filesvar match1 = "10.104.103.181";var match2 = "10.104.100.12";var regex = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;describe("Getting the IP with a single result", function () {    var osStub;    var result;    before(function () {        osStub = sinon.stub(os, "networkInterfaces").returns(respSingle);    });    beforeEach(function () {        result = devIp(null);    });    after(function () {        osStub.restore();    });    it("should return the IP when a single match found", function () {        var expected = match1;        assert.deepEqual(result, [expected]);    });    it("should return a string matching the regex", function () {        var actual = regex.exec(result);        assert.isNotNull(actual);    });});describe("Getting the IP with Multiple results", function () {    var osStub;    var result;    before(function () {        osStub = sinon.stub(os, "networkInterfaces").returns(respMultiple);    });    beforeEach(function () {        result = devIp(null);    });    after(function () {        osStub.restore();    });    it("should return an array of results", function () {        assert.equal(result[0], match1);        assert.equal(result[1], match2);    });    it("should return a string matching the regex", function () {        var actual = regex.exec(result[0]);        assert.isNotNull(actual);        actual = regex.exec(result[1]);        assert.isNotNull(actual);    });});describe("Getting the IP with no results", function () {    var osStub;    var result;    before(function () {        osStub = sinon.stub(os, "networkInterfaces").returns(respNone);    });    after(function () {        osStub.restore();    });    it("should return empty array", function () {        var actual = devIp();        assert.isArray(actual);        assert.equal(actual.length, 0);    });});
 |