用于字节数组相等的 Chai 断言
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-bytes 在 Apache-2.0 许可证 下可用。