用于字节数组相等的 Chai 断言

Build status Code coverage Code style License

chai-bytes 通过一个 equalBytes 函数扩展了 Chai,该函数可用于测试字节数组(例如,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 的预期值可以是

  • 十六进制字符串,例如,'c0ffee'
  • 数组,例如,[1, 2, 3]
  • 类数组对象(即具有 length 属性且可以通过整数属性访问项目的对象)。这包括 Uint8Array 实例,以及其他。

如果传递的值不属于上述任何类别,则会抛出 TypeError

开发人员说明

chai-bytes 使用来自测试过的浏览器环境(Firefox 和 PhantomJS)的组合代码覆盖率。这是因为 PhantomJS 是一个典型的旧环境,它可能在 Uint8Array 上存在问题(例如,它缺少它们方法的大部分内容)。

许可证

(c) 2018 Alex Ostrovski

chai-bytesApache-2.0 许可证 下可用。