chromium/third_party/blink/web_tests/bindings/webidl-sequence-conversion.html

<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<body>
<div></div>
<script>

  test(function () {

    var div = document.querySelector("div");
    var clickEvent = null;
    var path = null;

    div.addEventListener("click", function (ev) {
      clickEvent = ev;
      path = ev.composedPath();
    });
    div.click();

    assert_not_equals(clickEvent, null, "click event captured");

    var getter_called = false;
    var setter_called = false;

    Object.defineProperty(Array.prototype, "0", {
      get: function () { getter_called = true; },
      set: function () { setter_called = true; }
    });

    delete Array.prototype["0"];

    assert_false(getter_called, "Array.prototype[0] getter called");
    assert_false(setter_called, "Array.prototype[0] setter called");

    assert_equals(path.length, 5, "click event path length");

  }, "conversion should use [[DefineOwnProperty]]");

</script>
</body>