JSPM

chai-bites

0.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2557
  • Score
    100M100P100Q113215F
  • License Apache-2.0

Chai assertions for byte arrays equality

Package Exports

  • chai-bites
  • chai-bites/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (chai-bites) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Fork of chai-bytes published as ESM with relaxed input types.

Chai Assertions for Byte Arrays Equality

Build status Code coverage Code style License

chai-bytes extends Chai with a equalBytes function, which can be used to test equality of byte arrays (i.e., Uint8Array instances).

Basic Usage

const { expect, assert } = require('chai')
  .use(require('chai-bytes'));

const buffer = new Uint8Array([ 1, 2, 3, 4, 5 ]);
expect(buffer).to.equalBytes('0102030405');
// `assert` style works, too
assert.equalBytes(buffer, [1, 2, 3, 4, 5], 'error message');

An expected value passed to equalBytes can be:

  • Hexadecimal string, e.g., 'c0ffee'
  • Array, e.g., [1, 2, 3]
  • Array-like object (i.e., an object having the length property and items accessible by integer properties). This includes Uint8Array instances, among other things

If the passed value does not fall into any of these categories, a TypeError is thrown.

Developer Notes

chai-bytes uses combined code coverage from the tested browser environments (Firefox and PhantomJS). This is because PhantomJS is a typical old environment that may have problems with Uint8Arrays (e.g., it misses a substantial parts of their methods).

License

chai-bytes is available under Apache-2.0 license.