Skip to content
Permalink
main
Go to file
1 contributor

Users who have contributed to this file

146 lines (93 sloc) 5.63 KB

Jasmine Core 3.6 Release Notes

Summary

This is a maintenance release of Jasmine with a number of new features and fixes.

Highlights

  • Added support for custom object formatters

  • Don't require matchers and asymmetric equality testers to pass custom object formatters back to Jasmine

    • Supports custom object formatters.
    • Makes it easier to write high quality matchers and asymmetric equality testers.
    • The old API will still work until 4.0.
  • Properly import jasmineRequire object before using

    • Improves compatibility with Webpack
    • Merges #1766 from @amilligan
  • Added a toHaveBeenCalledOnceWith matcher

  • Added a toHaveSize matcher

    • Merges #1796 from @wokier
  • Added a toBePending async matcher

  • Added support for user-defined spec/suite properties

    • Allows specs/suites to pass data to custom reporters
    • Merges #1763 from @johnjbarton
  • Route unhandled promise rejections to onerror

Internal notes

  • Use a version of eslint that works on Node 8

  • Check for syntax and standard library objects that don't work in IE

  • Run eslint against all files

  • Add Additional Test for equals Matcher

  • Depend on head of jasmine-browser to fix IE failures in CI

  • Fixed test failure in Firefox 74

  • Added test for resolveTo/rejectWith with empty parameters

    • Merges #1802 from @chivesrs
  • Removed unnecessary uses of new in tests

  • Realigned the browser testing matrix to match current reality

    • Use Windows instead of Linux so we can get current browsers from Sauce.
    • Test against the version of Firefox that corresponds to ESR as well as latest.
    • Test the latest Edge rather than a specific older version.
    • Test Safari 8 and 13 instead of 8, 9 and 10. What works in those versions is likely to work in the ones in between.
  • Don't leak global error handlers between Jasmine's own tests

  • Added basic property tests for matchersUtil.equals

  • Added integration tests for existing matcher interfaces

  • Added integration tests for asymmetric equality testers

  • Test IE before other browsers on Travis

Other Changes

  • Show diffs involving root-level asymmetric equality testers

  • Fixed references to master in docs

  • Allow spy throwError to throw an Object

    • Merges #1822 from @terencehonles
  • Added missing periods to README

    • Merges #1828 from @dirkpuge
  • Expose setSpec/SuiteProperty on interface

    • Merges #1820 from @johnjbarton
  • Prevent undesired reloads when karma-jasmine-html-reporter is used

  • Correctly report spec and suite duration

  • Added jsdocs for MatchersUtil

  • Allow the .callThrough spy strategy to call constructor functions without errors

  • Inject a per-runable pretty printer into MatchersUtil

    • Supports custom object formatters
  • Include stack traces in unhandled promise rejection messages

  • Describe the naming for the function it

    • Merges #1772 from @johnlinp
  • Correctly extract error messages from stack traces that don't start with Error

  • Fixed objectContaining to not match when the expected is the empty object and the actual is a non-object

  • Fixed toEqual(0, Number.MIN_VALUE) to fail instead of passing

    • Merges #1764 from @dubzzz
  • Fixed comparison between ObjectContaining and non-objects on IE

  • Provide better diffs for object graphs that include objectContaining

  • Indent multiline failure messages in the output of withContext

    • This makes it easier to see where each failure message begins and ends.
  • Report async expectations that complete after the runable completes

  • Treat NodeJS assertion failures as expectation failures

    • Merges #1678 from @apla

_Release Notes generated with Anchorman

You can’t perform that action at this time.