来自 chai-bytes 的分支,作为 ESM 发布,具有更宽松的输入类型。

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

Build status Code coverage Code style License

chai-bytes 扩展了 Chai,增加了一个 equalBytes 函数,可用于测试字节数组(例如 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 问题(例如,它缺少一些方法)。

许可证

chai-bytes 采用 Apache-2.0 许可证