<!doctype html>
<meta charset="utf-8">
<title>style elements fire load events properly</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="author" title="Mozilla" href="https://mozilla.org">
<link rel="help" href="https://html.spec.whatwg.org/#update-a-style-block">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
  let NUM_LOADS = 0;
</script>
<style onload="++NUM_LOADS"></style>
<style onload="++NUM_LOADS">:root { background-color: lime }</style>
<style onload="++NUM_LOADS">:root { background-color: lime }</style> <!-- Intentionally the same -->
<script>
async_test(function(t) {
  assert_equals(document.styleSheets.length, 3, "Should expose the three stylesheets to the OM sync");
  assert_equals(NUM_LOADS, 0, "Should not fire load event sync");
  window.addEventListener("load", t.step_func_done(() => {
    assert_equals(NUM_LOADS, 3, "Load event should've fired for all nodes");
  }));
});
</script>
