JSFiddle - React, Tailwind, and code Playground

by willslab

JavaScript

(function () {
    // no way to mock top.window
    var isStandAloneOriginal = function () {
        return !(top.window.opener && !top.window.opener.closed);
    };
    
    // we can mock this guy
    var getTopWindow = function () {
       return top.window;
    };
    
    var isStandAloneTestable = function () {
        var topWindow = getTopWindow();
        
        return !(topWindow.opener && !topWindow.opener.closed);
    };
    
    alert("isStandAloneOriginal: " + isStandAloneOriginal());
    alert("isStandAloneTestable: " + isStandAloneTestable());
    
    getTopWindow = function () {
        return { opener: true };
    };
    
    alert("isStandAloneTestable (mocked): " + isStandAloneTestable());
}());