{
  "results": [
    {
      "test": "/uievents/idlharness.window.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "idl_test setup",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Partial interface UIEvent: original interface defined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Partial interface KeyboardEvent: original interface defined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: attribute view",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: attribute detail",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: attribute which",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent must be primary interface of new UIEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of new UIEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new UIEvent(\"event\") must inherit property \"view\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new UIEvent(\"event\") must inherit property \"detail\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new UIEvent(\"event\") must inherit property \"which\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface: attribute relatedTarget",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent must be primary interface of new FocusEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of new FocusEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FocusEvent interface: new FocusEvent(\"event\") must inherit property \"relatedTarget\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new FocusEvent(\"event\") must inherit property \"view\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new FocusEvent(\"event\") must inherit property \"detail\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new FocusEvent(\"event\") must inherit property \"which\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute screenX",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute screenY",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute clientX",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute clientY",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute ctrlKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute shiftKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute altKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute metaKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute button",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute buttons",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: attribute relatedTarget",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: operation getModifierState(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent must be primary interface of new MouseEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of new MouseEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"screenX\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"screenY\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"clientX\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"clientY\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"ctrlKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"shiftKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"altKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"metaKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"button\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"buttons\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"relatedTarget\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new MouseEvent(\"event\") must inherit property \"getModifierState(DOMString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: calling getModifierState(DOMString) on new MouseEvent(\"event\") with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new MouseEvent(\"event\") must inherit property \"view\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new MouseEvent(\"event\") must inherit property \"detail\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new MouseEvent(\"event\") must inherit property \"which\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: constant DOM_DELTA_PIXEL on interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: constant DOM_DELTA_PIXEL on interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: constant DOM_DELTA_LINE on interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: constant DOM_DELTA_LINE on interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: constant DOM_DELTA_PAGE on interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: constant DOM_DELTA_PAGE on interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: attribute deltaX",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: attribute deltaY",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: attribute deltaZ",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: attribute deltaMode",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent must be primary interface of new WheelEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of new WheelEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: new WheelEvent(\"event\") must inherit property \"DOM_DELTA_PIXEL\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: new WheelEvent(\"event\") must inherit property \"DOM_DELTA_LINE\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: new WheelEvent(\"event\") must inherit property \"DOM_DELTA_PAGE\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: new WheelEvent(\"event\") must inherit property \"deltaX\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: new WheelEvent(\"event\") must inherit property \"deltaY\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: new WheelEvent(\"event\") must inherit property \"deltaZ\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WheelEvent interface: new WheelEvent(\"event\") must inherit property \"deltaMode\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"screenX\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"screenY\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"clientX\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"clientY\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"ctrlKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"shiftKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"altKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"metaKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"button\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"buttons\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"relatedTarget\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: new WheelEvent(\"event\") must inherit property \"getModifierState(DOMString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MouseEvent interface: calling getModifierState(DOMString) on new WheelEvent(\"event\") with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new WheelEvent(\"event\") must inherit property \"view\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new WheelEvent(\"event\") must inherit property \"detail\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new WheelEvent(\"event\") must inherit property \"which\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: attribute data",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: attribute isComposing",
          "status": "FAIL",
          "message": "assert_true: The prototype object must have a property \"isComposing\" expected true got false"
        },
        {
          "name": "InputEvent interface: attribute inputType",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent must be primary interface of new InputEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of new InputEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: new InputEvent(\"event\") must inherit property \"data\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent interface: new InputEvent(\"event\") must inherit property \"isComposing\" with the proper type",
          "status": "FAIL",
          "message": "assert_inherits: property \"isComposing\" not found in prototype chain"
        },
        {
          "name": "InputEvent interface: new InputEvent(\"event\") must inherit property \"inputType\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new InputEvent(\"event\") must inherit property \"view\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new InputEvent(\"event\") must inherit property \"detail\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new InputEvent(\"event\") must inherit property \"which\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_STANDARD on interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_STANDARD on interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_LEFT on interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_LEFT on interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_RIGHT on interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_RIGHT on interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_NUMPAD on interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: constant DOM_KEY_LOCATION_NUMPAD on interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute key",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute code",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute location",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute ctrlKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute shiftKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute altKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute metaKey",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute repeat",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute isComposing",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: operation getModifierState(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute charCode",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: attribute keyCode",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent must be primary interface of new KeyboardEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of new KeyboardEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"DOM_KEY_LOCATION_STANDARD\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"DOM_KEY_LOCATION_LEFT\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"DOM_KEY_LOCATION_RIGHT\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"DOM_KEY_LOCATION_NUMPAD\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"key\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"code\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"location\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"ctrlKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"shiftKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"altKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"metaKey\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"repeat\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"isComposing\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"getModifierState(DOMString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: calling getModifierState(DOMString) on new KeyboardEvent(\"event\") with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"charCode\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "KeyboardEvent interface: new KeyboardEvent(\"event\") must inherit property \"keyCode\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new KeyboardEvent(\"event\") must inherit property \"view\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new KeyboardEvent(\"event\") must inherit property \"detail\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new KeyboardEvent(\"event\") must inherit property \"which\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface: attribute data",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent must be primary interface of new CompositionEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of new CompositionEvent(\"event\")",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CompositionEvent interface: new CompositionEvent(\"event\") must inherit property \"data\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new CompositionEvent(\"event\") must inherit property \"view\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new CompositionEvent(\"event\") must inherit property \"detail\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "UIEvent interface: new CompositionEvent(\"event\") must inherit property \"which\" with the proper type",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/legacy-domevents-tests/approved/stopImmediatePropagation.effect.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Description: stopImmediatePropagation() prevents other event listeners from being triggered and, unlike Event.stopPropagation(), its effect must be immediate. Once it has been called, further calls to this method have no additional effect.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/legacy-domevents-tests/approved/stopPropagation.deferred.effect.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Description: stopPropagation() prevents other event listeners from being triggered but its effect must be deferred until all event listeners attached on the Event.currentTarget have been triggered.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/legacy-domevents-tests/approved/dispatchEvent.click.checkbox.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Checkbox state is unchanged before the synthetic click event is dispatched",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test Description: MouseEvent: Default action is performed when a synthetic click event is dispatched on a checkbox element",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/legacy-domevents-tests/approved/domnodeinserted.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Description: DOMNodeInserted event fires when a node has been added as a child of another node.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/mouse/mouse_buttons_back_forward.html",
      "status": "ERROR",
      "message": "unimplemented",
      "subtests": [
        {
          "name": "Tests that the mouseup is preventable.",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/constructors/inputevent-constructor.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "InputEvent constructor without InputEventInit.",
          "status": "FAIL",
          "message": "assert_false: .isComposing expected false got undefined"
        },
        {
          "name": "InputEvent construtor with InputEventInit where data is null",
          "status": "FAIL",
          "message": "assert_true: .isComposing expected true got undefined"
        },
        {
          "name": "InputEvent construtor with InputEventInit where data is empty string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "InputEvent construtor with InputEventInit where data is non empty string",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/order-of-events/mouse-events/click-cancel.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Default action is canceled if the click event is canceled.",
          "status": "FAIL",
          "message": "assert_unreached: click failed Reached unreachable code"
        }
      ]
    },
    {
      "test": "/uievents/interface/click-event.htm",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "synthetic click event is a MouseEvent",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/order-of-events/focus-events/focus-automated-blink-webkit.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Focus-related events should fire in the correct order (same DocumentOwner)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Focus-related events should fire in the correct order (different DocumentOwner)",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/legacy-domevents-tests/submissions/Microsoft/converted/EventListener.dispatch.new.event.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Description: Implementations of the DOM event model must be reentrant. Event listeners may perform actions that cause additional events to be dispatched. Such events are handled in a synchronous manner, the event propagation that causes the event listener to be triggered must resume only after the event dispatch of the new event is completed.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/legacy-domevents-tests/approved/ProcessingInstruction.DOMCharacterDataModified.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Description: DOMCharacterDataModified event fires after ProcessingInstruction.data have been modified, but the node itself has not been inserted or deleted. The proximal event target of this event shall be the ProcessingInstruction node.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/uievents/legacy/Event-subclasses-init.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Call initUIEvent without parameters",
          "status": "FAIL",
          "message": "assert_throws: function \"function () { eventType.prototype[initFunction].call(event) }\" did not throw"
        },
        {
          "name": "Call initMouseEvent without parameters",
          "status": "FAIL",
          "message": "assert_throws: function \"function () { eventType.prototype[initFunction].call(event) }\" did not throw"
        },
        {
          "name": "Call initKeyboardEvent without parameters",
          "status": "FAIL",
          "message": "assert_throws: function \"function () { eventType.prototype[initFunction].call(event) }\" did not throw"
        },
        {
          "name": "Call initCompositionEvent without parameters",
          "status": "FAIL",
          "message": "assert_throws: function \"function () { eventType.prototype[initFunction].call(event) }\" did not throw"
        }
      ]
    }
  ]
}