text: import { clone } from '../Source/Cesium.js';
  import { defaultValue } from '../Source/Cesium.js';
  import { Context } from '../Source/Cesium.js';
  import createCanvas from './createCanvas.js';
  import createFrameState from './createFrameState.js';
  import getWebGLStub from './getWebGLStub.js';
  
      function createContext(options, canvasWidth, canvasHeight) {
          // clone options so we can change properties
          options = clone(defaultValue(options, {}));
          options.webgl = clone(defaultValue(options.webgl, {}));
          options.webgl.antialias = defaultValue(options.webgl.antialias, false);
          if (!!window.webglStub) {
              options.getWebGLStub = getWebGLStub;
          }
  
          var canvas = createCanvas(canvasWidth, canvasHeight);
          var context = new Context(canvas, options);
  
          if (!!window.webglValidation) {
              context.validateShaderProgram = true;
              context.validateFramebuffer = true;
              context.logShaderCompilation = true;
              context.throwOnWebGLError = true;
          }
  
          var us = context.uniformState;
          us.update(createFrameState(context));
  
          // Add function for test
          context.destroyForSpecs = function() {
              document.body.removeChild(context.canvas);
              return context.destroy();
          };
  
          return context;
      }
  export default createContext;
  