code: function(result) {
          var errors, that, testIframe, root;
          var oldIframe, oldIframeName, oldIframeRoot, iframeName;
          errors = [];
          that = this;
          oldIframe = W.getFrame();
  
          if (oldIframe) {
              oldIframeName = W.getFrameName();
              oldIframeRoot = W.getFrameRoot();
              root = W.getIFrameAnyChild(oldIframe);
          }
          else {
              root = document.body;
          }
  
          try {
              iframeName = 'testIFrame';
              testIframe = W.add('iframe', root, {
                  id: iframeName,
                  style: { display: 'none' }
              });
              W.setFrame(testIframe, iframeName, root);
              W.loadFrame('/pages/testpage.htm', function() {
                  var found;
                  found = W.getElementById('root');
                  if (!found) {
                      errors.push('W.loadFrame failed to load a test frame ' +
                                  'correctly.');
                  }
                  root.removeChild(testIframe);
                  if (oldIframe) {
                      W.setFrame(oldIframe, oldIframeName, oldIframeRoot);
                  }
                  else {
                      W.frameElement = null;
                      W.frameWindow = null;
                      W.frameDocument = null;
                      W.frameRoot = null;
                  }
                  result(!errors.length, errors);
              });
          }
          catch(e) {
              errors.push('W.loadFrame raised an error.');
              return { success: false, errors: errors, data: e };
          }
      }
docs: ### loadFrameTest
  
  Checks whether the iframe can be created and used
  
  Requires an active connection.
  
  @param {function} result The asynchronous result function
  
  @return {array} Array of synchronous errors