chai-bytes が公開された chai-bytes のフォークでは、入力タイプが緩和されたESMとして公開されています。

チャイアサーションにはバイト配列の等式があります

Build status Code coverage Code style License

Chai-bytesequalBytes 関数によって チャイ を拡張します。これにより、バイト配列の等式(すなわち、Uint8Array インスタンス)をテストできます。

基本的な使い方

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');

equalBytes に渡される想定値は次のとおりです。

  • 16進数文字列(例:'c0ffee'
  • 配列(例:[1, 2, 3]
  • 配列に似たオブジェクト(すなわち、length プロパティを持つオブジェクト、および整数プロパティによってアクセスできるアイテム)。とりわけ、Uint8Array インスタンスが含まれます。

渡される値がこれらのカテゴリのいずれにも当てはまらない場合、TypeError がスローされます。

開発者メモ

Chai-bytes は、テストされたブラウザ環境(FirefoxとPhantomJS)から、結合コードカバレッジを使用します。その理由は、PhantomJSはUint8Array に問題がある可能性のある典型的な古い環境であることです(たとえば、重要なメソッドの一部がありません)。

ライセンス

Chai-bytesApache-2.0ライセンス で利用できます。