<HTML>
  <HEAD></HEAD>
  <BODY>
    <script src='black_box_js_test_utils.js'></script>
    <script>
      var s = document.createElement('script');
      var onLoadCalled = false;
      var scriptExecuted = false;
      // notReached and onEndTest are defined in black_box_js_test_utils.js
      s.onerror = notReached;
      s.onload = () => {
        assertTrue(scriptExecuted);
        assertFalse(onLoadCalled);
        onEndTest();
      }
      s.src='script_executed.js'
      document.head.appendChild(s);
    </script>
  </BODY>
</HTML>
