assert-no-diff

Asserts the equality of JavaScript strings and objects with human-friendly, Bash-colored diffs as error messages

Usage no npm install needed!

<script type="module">
  import assertNoDiff from 'https://cdn.skypack.dev/assert-no-diff';
</script>

README

AssertNoDiff

Asserts the equality of JavaScript strings and objects with human-friendly, Bash-colored diffs as error messages.

CircleCI Coverage Status Language grade: JavaScript

This library provides the JavaScript string and object diff methods of the popular diff library as assertions. The exceptions thrown by the assertions highlight the differences of the actual and expected values with human-friendly Bash-colored messages. This is useful for verifying the equality of larger strings or data structures in tests.

const assertNoDiff = require("assert-no-diff")

// assert no differences between two JavaScript objects
assertNoDiff.json(actualJson, expectedJson)

// compare strings and highlight the differences character-by-character
assertNoDiff.chars(actualString, expectedString)

// compare strings and highlight the mismatching words, whitespace-sensitive
assertNoDiff.wordsWithSpace(actualString, expectedString)

// compare strings and highlight the mismatching lines, ignoring whitespace around them
assertNoDiff.trimmedLines(actualString, expectedString)

You can provide a custom error message as an optional third parameter.

Development

  • run all tests: make test
  • see all available make commands: make help
  • deploy a new version:
    • update package.json to the new version and commit to master
    • run npm publish