Files
jasmine/release_notes/release_notes.md
2013-07-26 12:01:42 -07:00

39 KiB

Release Notes

Summary

Changes

This reverts commit 8f5d0beb8c.

Async timeout support is just not ready for prime time. * Colin O'Byrne and JR Boyens, pair+cobyrne+jboyens@pivotallabs.com

Jasmine spies now have a 'and' property which allows the user to change the spy's execution strategy-- such as '.and.callReturn(4)' and a 'calls' property which allows inspection of the calls a spy has received.

  • This is a breaking change *

There is a CallTracker that keeps track of all calls and arguments and a SpyStrategy which determines what the spy should do when it is called. * Davis W. Frank & Sheel Choksi, pair+davis+sheel@pivotallabs.com

Still not green, but getting close. Summary of Older IE discrepancies:

  • Older IE doesn't have apply/call on the timing functions
  • Older IE doesn't allow applying falsy arguments
  • Older IE doesn't allow setting onclick to undefined values
  • Older IE doesn't have text property on dom nodes

Phantomjs's execptions toString include a ': ' at the end, so instead use the exception's name property * Sheel Choksi, sheelchoksi@gmail.com

Have Jasmine HTML use the source files in specs * Davis W. Frank, dwfrank+github@infe.ws

ObjectContaining wrong filed value error message * Davis W. Frank, dwfrank+github@infe.ws

Removed unnecessary parameter from suiteFactory() call. * Davis W. Frank, dwfrank+github@infe.ws

Similar to the changes in Jasmine core and console, this gets the HTML specs of Jasmine using j$ instead of jasmine so that they use the source files instead of the built distribution * Sheel Choksi, sheelchoksi@gmail.com

  • included what was thrown for failure messages in toThrow and toThrowError
  • fixed typo from 'execption' to 'exception' in toThrowError failure messages
  • clarified failure messages in toThrowError to include specific error types

Fixes #52680709 * Sheel Choksi, sheelchoksi@gmail.com

Finishes #52810587 * Sheel Choksi, sheelchoksi@gmail.com

Async queue runner fixes * Sheel Choksi, sheelchoksi@gmail.com

Go back to having all suites and specs run asynchronously so that they properly wait for any async specs that there might be * Sheel Choksi, sheelchoksi@gmail.com

As pointed out by @jdmarshall. Fixes #399 * Sheel Choksi, sheelchoksi@gmail.com

Continue running functions even if an async spec throws an exception during the synchronous portion of the spec * Sheel Choksi, sheelchoksi@gmail.com

This prevents the stack from growing as large for the normal cases and is giving a significant speedup for the performance suite * Davis W. Frank and Sheel Choksi, pair+davis+sheel@pivotallabs.com

The node performance suite can be run with node: node spec/node_suite.js --perf * Davis W. Frank and Sheel Choksi, pair+davis+sheel@pivotallabs.com

jasmine.any Boolean support * Davis W. Frank, dwfrank+github@infe.ws

Add execution time elapsed to JsApiReporter * Davis W. Frank, dwfrank+github@infe.ws

Since this information is desired in ConsoleReporter, HtmlReporter, and now JsApiReporter, the executionTime is passed through in jasmineDone from Env instead of making each reporter compute it.

Fixes #30, Finishes #45659879 * Sheel Choksi, sheelchoksi@gmail.com

Remove unused formatException from util * Davis W. Frank, dwfrank+github@infe.ws

The ExceptionFormatter is used instead of formatException from jasmine util * Sheel Choksi, sheelchoksi@gmail.com

Query selectors * Davis W. Frank, dwfrank+github@infe.ws

Fix spec to throw error, ensuring a stack property * Davis W. Frank, dwfrank+github@infe.ws

Fix up refactoring mistake in toThrowError * pivotalprivate, accounts+github+private@pivotallabs.com

strengthen the associated tests to protect against it in the future * Sheel Choksi, sheelchoksi@gmail.com

Avoid instantiating passed in errorType in toThrowError * Davis W. Frank, dwfrank+github@infe.ws

since the passed in errorType could be a custom user function, we instead detect if its an instanceof Error by using a Surrogate (inspired by Backbone's use of surrogacy) * Sheel Choksi, sheelchoksi@gmail.com

In Safari Mac 6.0.4 (and possibly other versions), a new error does not have the stack property. Throwing the error and then catching it ensures that the stack property has the correct value.

This fix gets the specs to run green in Safari. * Sheel Choksi, sheelchoksi@gmail.com

Replace calls to these functions with querySelector and querySelectorAll * Sheel Choksi, sheelchoksi@gmail.com

  • It still supports no expected, which means that something was thrown
  • Expected value is now tested via equality in order to pass

Adding toThrowError:

  • toThrowError() passes if an Error type was thrown
  • toThrowError(String) & toThrowError(RegExp) compare Expected to the Error message
  • toThrowError(Error constructor) compares Expected to the constructor of what was thrown
  • toThrowError(Error constructor, String) & toThrowError(Error constructor, RegExp) compares both the Error and the message

Also, equality now handles Errors, enforcing the message as part of the equality. * Davis W. Frank, dwfrank+github@infe.ws

Also, dev_boot.js is now a copy of boot.js and has additional changes to load jasmine the second time, into the j$ reference. * Davis W. Frank, dwfrank+github@infe.ws

Remove deprecated jasmine.Matchers.pp function. * Davis W. Frank, dwfrank+github@infe.ws

Add titles to specs in HtmlReporter * Davis W. Frank, dwfrank+github@infe.ws

Each spec symbol contains a title, which is the full name of the spec it represents.

Finishes #48420677 * Sheel Choksi, sheelchoksi@gmail.com

Regex exception matching * Rajan Agaskar, ragaskar@gmail.com

Adding link for how to get grunt-cli installed * pivotalprivate, accounts+github+private@pivotallabs.com

Canonical Jasmine version now lives in package.json (Node formatted) and is copied into Jasmine source (JavaScript and Ruby)

Jasmine distribution now has MIT license and Pivotal Labs copyright at the top of each distributed file. * Davis W. Frank, dwfrank+github@infe.ws

If ommited or null, delay for refered methods will default to 0. This will make setTimeout and setInterval methods to behave as expected by HTML5 specs:

"Let timeout [delay] be the second argument to the method, or zero if the argument was omitted."

This commit also fixes an issue with tick() being called without arguments, that causes the scheduler to break and stop working after this call. * Caio Cunha, opensource@caiotoon.com


_Release Notes generated with Anchorman