title: Can't create a KeyboardEvent for testing an input component (angular) within Internet Explorer 11
body: <p>We have our up and running karma test suite for our angular application. All tests are green for chrome. Now I have to fix a test which is failing for IE 11. The exception I get is the following: </p>
  
  <pre><code>TypeError: Object doesn't support this action
         at createEventWithKeycode (http://localhost:9876/_karma_webpack_/main.bundle.js:3574:5)
         at Anonymous function (http://localhost:9876/_karma_webpack_/main.bundle.js:3115:13)
         at Anonymous function (http://localhost:9876/_karma_webpack_/vendor.bundle.js:74994:17)
         at ZoneDelegate.prototype.invoke (http://localhost:9876/_karma_webpack_/polyfills.bundle.js:10531:13)
         at ProxyZoneSpec.prototype.onInvoke (http://localhost:9876/_karma_webpack_/vendor.bundle.js:26806:13)
         at ZoneDelegate.prototype.invoke (http://localhost:9876/_karma_webpack_/polyfills.bundle.js:10531:13)
         at Zone.prototype.run (http://localhost:9876/_karma_webpack_/polyfills.bundle.js:10283:17)
         at Anonymous function (http://localhost:9876/_karma_webpack_/vendor.bundle.js:26503:13)
  </code></pre>
  
  <p>What I understand is that the test case is creating an angular component for testing with the help of angulars TestBed class. With some magic code we get the input component itself and run a keydown event on it:</p>
  
  <pre><code>inputComponent.onKeyDownInput(event);
  </code></pre>
  
  <p>But when I run the code in IE the exception occurs already when I try to create the event object with the following code:</p>
  
  <pre><code>const event = new KeyboardEvent('keydown', {         //This triggers the exception
      bubbles: true,
      cancelable: true,
      shiftKey: true
    });
  </code></pre>
  
  <p>The KeyboardEvent Object is defined in a typings file lib.es6.d.ts:</p>
  
  <pre><code>declare var KeyboardEvent: {
      prototype: KeyboardEvent;
      new(typeArg: string, eventInitDict?: KeyboardEventInit): KeyboardEvent;
      readonly DOM_KEY_LOCATION_JOYSTICK: number;
      readonly DOM_KEY_LOCATION_LEFT: number;
      readonly DOM_KEY_LOCATION_MOBILE: number;
      readonly DOM_KEY_LOCATION_NUMPAD: number;
      readonly DOM_KEY_LOCATION_RIGHT: number;
      readonly DOM_KEY_LOCATION_STANDARD: number;
  }
  </code></pre>
  
  <p>Can someone pls give some light on this issue? Pls remember that everything is working with chrome - only IE doesn't behave!</p>