QUnit HTML assertion addon

Usage no npm install needed!

<script type="module">
  import qunitAssertHtml from 'https://cdn.skypack.dev/qunit-assert-html';


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.


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


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.


  • 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.


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.


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