A QUnit plugin for assertion methods to compare two HTML strings for equality after a rigorous normalization process.
JavaScript HTML
Latest commit 670b20e Oct 3, 2016 @JamesMGreene v1.1.0

README.md

Build Status NPM version

QUnit HTML assertion plugin

This plugin for QUnit adds htmlEqual and notHtmlEqual (plus alias htmlNotEqual) assertion methods to test that two HTML strings are equivalent (or not) after a rigorous normalization process.

Usage

assert.htmlEqual(actual, expected [, message]);
assert.notHtmlEqual(actual, expected [, message]);  // Alias: `assert.htmlNotEqual`

Examples

test('Example unit test', function(assert) {
  assert.htmlEqual('<B TITLE=test>test</B>', '<b title="test">test</b>');
  assert.notHtmlEqual('<br />', '<hr />');
});

For more examples, refer to the unit tests.

Compatibility

  • Browsers: This plugin currently works in IE7+ (IE6 untested) but does not fully normalize certain CSS style properties (e.g. color values) in IE < 9. For a little more info, see QUnit PR #368.
  • Node.js: This plugin has not been tested in Node.js. However, it does require DOM support for iframes, so you would need to utilize jsdom, Cheerio, etc., to make it work at all.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.

License

Copyright (c) 2013-2016 James M. Greene Licensed under the MIT license.