包详细信息

code-equality-assertions

ef41.1kMIT1.1.0

Test assertion library for checking the contents of strings of Javascript.

自述文件

Code Equality Assertions

Test assertion library for checking the contents of strings of Javascript.

  • ignores non-semantic differences like whitespace and quote style
  • gives a reasonable diff when the assertion fails
  • works in Node or browsers

QUnit Integration

import QUnit from "qunit";
import "code-equality-assertions/qunit";
QUnit.module("my tests", () => {
  QUnit.test("it works", (assert) => {
    assert.codeEqual(`console.log("hello")`, `console.log('hello' );`);
  });
});

Chai integration

const chai = require('chai');
const { codeEquality } = require("code-equality-assertions/chai");

chai.use(codeEquality)

// type extension
import type { CodeEqualityAssertions } from 'code-equality-assertions/chai';
declare module 'vitest' /* or 'chai', depending on your setup */ {
  interface Assertion extends CodeEqualityAssertions {}
}

Low-level usage

import { codeEqual } from "code-equality-assertions";
let { result, diff } = codeEqual(someTest(), "console.log('hello')");
if (!result) {
  console.log(`Found a difference: ${diff}`);
}

Contributing

  1. pnpm install
  2. pnpm run build or pnpm run build --watch
  3. Launch any of the examples:
    • pnpm run example:qunit-browser
    • pnpm run example:qunit-node