unexpected-function-equality

Determine function equivalence by pretty-printing, then comparing the strings

Usage no npm install needed!

<script type="module">
  import unexpectedFunctionEquality from 'https://cdn.skypack.dev/unexpected-function-equality';
</script>

README

unexpected-function-equality

NPM version Build Status Coverage Status Dependency Status

Unexpected function(al) equality :)

Plugin for Unexpected 10+ that overrides the <function> to equal <function> assertion with an implementation that disregards whitespace. This is accomplished by parsing and pretty-printing the functions, then doing a string comparison.

Example:

var expect = require('unexpected')
  .clone()
  .use(require('unexpected-function-equality'));

it('should consider the two functions equal', function () {
  expect(
    function (a) {
      return 123 - 456;
    },
    'to equal',
    function (a) {
      return 123 - 456;
    }
  );
});

This is handy when testing code that generates code.

Releases

Changelog

License

Unexpected-function-equality is licensed under a standard 3-clause BSD license -- see the LICENSE file for details.