<!DOCTYPE html>
<title>SpeechRecognition onstart and onend events</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
  promise_test(async t => {
  window.SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
  const recognition = new SpeechRecognition();

  // Promise that resolves when the 'start' event is fired.
  const startPromise = new Promise(resolve => {
    recognition.onstart = () => {
      resolve();
    };
  });

  // Promise that resolves when the 'end' event is fired.
  const endPromise = new Promise(resolve => {
    recognition.onend = () => {
      resolve();
    };
  });

  // Start speech recognition.
  recognition.start();

  // Wait for the 'start' event.
  await startPromise;

  // Stop speech recognition.
  recognition.stop();

  // Wait for the 'end' event.
  await endPromise;
}, 'Speech recognition onstart and onend events are called.');
</script>
