title: Async callback and timeout not working as expected
body: <p>I am not sure why I get this error. I call the <code>done()</code> function and define <code>jasmine.DEFAULT_TIMEOUT_INTERVAL</code>. Why is it throwing this error.</p>
  
  <blockquote>
    <p>Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.</p>
  </blockquote>
  
  <pre><code>describe('Puppeteer', () =&gt; {
      let originalTimeout;
  
      beforeEach(function () {
          originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
          jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
      });
  
    it('Logs in, redirects and does something', async (done) =&gt; {
      const browser = await puppeteer.launch({
        headless: true,
        args: [
          '--incognito'
        ]
      });
      const page = await browser.newPage();
      await page.goto('localhost:3000/login');
      ... // Login Credentials
      await page.waitForNavigation({ waitUntil: 'load' }); // redirects
      ... // perform some action on website
      expect(a &lt; b)
        .toEqual(true);
      browser.close();
      done();
    });
  
      afterEach(function () {
          jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
      });
  });  
  </code></pre>
  
  <p>That doesnt do anything neither</p>
  
  <pre><code>describe('...', () =&gt; {
    it('...', async (done) =&gt; {
      ....
    }, 10000);
  });
  </code></pre>
  
  <p>Writing it this way works, but why?</p>
  
  <pre><code>describe('Puppeteer', () =&gt; {
    it('Logs in, redirects and does something', () =&gt; {
      (async () =&gt; {
        const browser = await puppeteer.launch({
          headless: true,
          args: [
            '--incognito'
          ]
        });
        ....
        expect(a &lt; b)
          .toEqual(true);
        browser.close();
      })();
    });
  });  
  </code></pre>