UNPKG

x-default-browser

Version:

Detect default web browser of the current user, cross-platform (Win/Lin/Mac)

80 lines (67 loc) 2.38 kB
var assert = require("assert"); var detect = require("rewire")("../lib/detect-mac"); var defaultBrowserIdResponse = { err: undefined, browserId: undefined, }; var defaultBrowserIdStub = function () { if (defaultBrowserIdResponse.err) { return Promise.reject(defaultBrowserIdResponse.err); } else { return Promise.resolve(defaultBrowserIdResponse.browserId); } }; detect.__set__("defaultBrowserMac", defaultBrowserIdStub); describe("macOS tests", function () { beforeEach(function () { defaultBrowserIdResponse.err = undefined; defaultBrowserIdResponse.browserId = undefined; }); it("detects chrome", function (done) { defaultBrowserIdResponse.browserId = "com.google.chrome"; detect(function (err, res) { assert.equal(res.isChrome, true); assert.equal(res.isChromium, false); assert.equal(res.isWebkit, true); assert.equal(res.commonName, "chrome"); assert.equal(res.identity, defaultBrowserIdResponse.browserId); done(err); }); }); it("detects opera", function (done) { defaultBrowserIdResponse.browserId = "com.operasoftware.Opera"; detect(function (err, res) { assert.equal(res.isChrome, false); assert.equal(res.isChromium, false); assert.equal(res.isOpera, true); assert.equal(res.isWebkit, true); assert.equal(res.commonName, "opera"); assert.equal(res.identity, defaultBrowserIdResponse.browserId); done(err); }); }); it("detects firefox", function (done) { defaultBrowserIdResponse.browserId = "org.mozilla.firefox"; detect(function (err, res) { assert.equal(res.isFirefox, true); assert.equal(res.isWebkit, false); assert.equal(res.commonName, "firefox"); assert.equal(res.identity, defaultBrowserIdResponse.browserId); done(err); }); }); it("detects safari", function (done) { defaultBrowserIdResponse.browserId = "com.apple.Safari"; detect(function (err, res) { assert.equal(res.isSafari, true); assert.equal(res.isChrome, false); assert.equal(res.isChromium, false); assert.equal(res.isOpera, false); assert.equal(res.isFirefox, false); assert.equal(res.isWebkit, true); assert.equal(res.commonName, "safari"); assert.equal(res.identity, defaultBrowserIdResponse.browserId); done(err); }); }); });