jasmine-multiline-matchers

0.2.2 • Public • Published

jasmine-multiline-matchers

Use multiline template strings as values for your expectations without worrying about indentation.

Install

yarn add jasmine-multiline-matchers

or

npm install jasmine-multiline-matchers

Usage

See explaination of the problems with multiline template strings and how they are handled in the README for dedent-preserving-indents which is the library used under the hood of these matchers.

toEqualMultiline

A version of toEqual that supports multiline template strings.

it(`returns a multiline string`, () => {
  const expected = `
           Here is a multiline string
             - It can be indented
               However you like.
        And it doesn't just check the first line`
  expect(f()).toEqualMultiline(expected)
})

The expected string will have its whitespace trimmed to the line with the least whitespace, so the above would become:

  Here is a multiline string
      - It can be indented
        However you like.
And it doesn't just check the first line

toThrowMultiline

A version of toThrow that supports multiline template strings. Note that unlike toThrow it assumes you will supply an expected value you want to compare to the Error's message.

it(`returns a multiline string`, () => {
  const expected = `
          Here is a an error message
            - It is formatted
              However you like`
  expect(() => f()).toThrowMultiline(expected)
})

Using the matchers with Jest

Add the following line to your jest.config.js:

{
  ...
  setupTestFrameworkScriptFile: `<rootDir>/src/__tests__/testHelpers/customMatchers.js`,
}

Then in customMatchers.js:

import toEqualSuccessWithValue from '../../matchers/validation/toEqualSuccessWithValue'
import toEqualFailureWithValue from '../../matchers/validation/toEqualFailureWithValue'
 
expect.extend({
  toEqualSuccessWithValue,
  toEqualFailureWithValue,
})

Package Sidebar

Install

npm i jasmine-multiline-matchers

Weekly Downloads

1

Version

0.2.2

License

MIT

Unpacked Size

39.7 kB

Total Files

18

Last publish

Collaborators

  • undistraction