Steve Gravrock 40be00310d Don't immediately move to the next queueable fn on async error
This allows assertion failures and other errors that occcur after the async
error to be routed to the correct spec/suite.

Previously, Jasmine treated global errors and unhandled promise rejections
just like exceptions thrown from a synchronous spec: it recorded the error
as a spec failure and moved on. Now, global errors and uhandled rejections
are recorded as failures but the current queueable fn will continue until
it either signals completion or times out. Global errors and unhandled
rejections are different from synchronous exceptions: it's common for the
queueable fn that caused them to continue executing. Immediately moving on
often meant that the queueable fn would produce expectation failures or
other errors when a different spec or suite was running, thus causing
those failures to be routed to the wrong place.
2021-09-24 11:22:04 -07:00
2014-06-06 23:09:08 -07:00
2016-02-28 18:33:39 +01:00
2019-06-20 06:46:51 -04:00
2012-12-03 09:38:54 -08:00
2017-06-04 00:40:53 -03:00
2017-08-10 10:38:05 -07:00
2021-07-01 17:06:14 -07:00
2021-05-08 12:06:49 -07:00

Build Status Open Source Helpers FOSSA Status

A JavaScript Testing Framework

Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.

Documentation & guides live here: http://jasmine.github.io For a quick start guide of Jasmine, see the beginning of http://jasmine.github.io/edge/introduction.html.

Contributing

Please read the contributors' guide.

Installation

For the Jasmine NPM module:
https://github.com/jasmine/jasmine-npm.

For the Jasmine browser runner:
https://github.com/jasmine/jasmine-browser.

For the Jasmine Ruby Gem:
https://github.com/jasmine/jasmine-gem.

To install Jasmine standalone on your local box (where {#.#.#} below is substituted by the release number downloaded):

  • Download the standalone distribution for your desired release from the releases page.
  • Create a Jasmine directory in your project. - mkdir my-project/jasmine
  • Move the dist to your project directory. - mv jasmine/dist/jasmine-standalone-{#.#.#}.zip my-project/jasmine
  • Change directory. - cd my-project/jasmine
  • Unzip the dist. - unzip jasmine-standalone-{#.#.#}.zip

Add the following to your HTML file:

<link rel="shortcut icon" type="image/png" href="lib/jasmine-{#.#.#}/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="lib/jasmine-{#.#.#}/jasmine.css">

<script type="text/javascript" src="lib/jasmine-{#.#.#}/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-{#.#.#}/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine-{#.#.#}/boot.js"></script>

Supported environments

Jasmine tests itself across many browsers (Safari, Chrome, Firefox, Microsoft Edge, and Internet Explorer) as well as nodejs.

Environment Supported versions
Node 10, 12, 14, 16
Safari 8-14
Chrome Evergreen
Firefox Evergreen, 68, 78
Edge Evergreen
Internet Explorer 10, 11

For evergreen browsers, each version of Jasmine is tested against the version of the browser that is available to us at the time of release. Other browsers, as well as older & newer versions of some supported browsers, are likely to work. However, Jasmine isn't tested against them and they aren't actively supported.

Support

Maintainers

Maintainers Emeritus

Copyright (c) 2008-2018 Pivotal Labs. This software is licensed under the MIT License.

License

FOSSA Status

Description
No description provided
Readme 68 GiB
Languages
JavaScript 94.8%
TypeScript 2.4%
Vue 1.1%
CSS 0.9%
SCSS 0.5%
Other 0.2%