code: function createSandbox() {
    // collect registered language extensions
    var sandbox = {};
    sandbox.extensions = [];
    // mock prettify.js API
    sandbox.window = {};
    sandbox.window.PR = sandbox.PR = {
      registerLangHandler: function (handler, exts) {
        sandbox.extensions = sandbox.extensions.concat(exts);
      },
      createSimpleLexer: function (sPatterns, fPatterns) {
        return function (job) {};
      },
      sourceDecorator: function (options) {
        return function (job) {};
      },
      prettyPrintOne: function (src, lang, ln) {
        return src;
      },
      prettyPrint: function (done, root) {},
      PR_ATTRIB_NAME: 'atn',
      PR_ATTRIB_VALUE: 'atv',
      PR_COMMENT: 'com',
      PR_DECLARATION: 'dec',
      PR_KEYWORD: 'kwd',
      PR_LITERAL: 'lit',
      PR_NOCODE: 'nocode',
      PR_PLAIN: 'pln',
      PR_PUNCTUATION: 'pun',
      PR_SOURCE: 'src',
      PR_STRING: 'str',
      PR_TAG: 'tag',
      PR_TYPE: 'typ'
    };
    return sandbox;
  }
docs: Returns a mock object PR of the prettify API. This is used to collect
  registered language file extensions.
  
  @return {Object} PR object with an additional `extensions` property.