String.prototype.subs = function(var_args) {
var ret = this;
for(var i = 0; i < arguments.length; i++) {
ret = ret.replace(/\%s/, String(arguments[i]));
}
return ret;
};
function assert(expr, m) {
var msg = "";
if(!expr){
if(isString(m)) {
msg = m;
}else if(isFunction(m)) {
msg = m();
}else {
msg = 'Assertion failed';
}
throw new MyException(msg);
}
}
function assertEqual(expected, actual, m) {
function generateMessage() {
var message = 'Expected: %s (%s), actual: %s (%s)'.subs(expected, typeof expected, actual, typeof actual);
return formatErrorMessage(message, m);
}
assert(expected == actual, generateMessage);
}
function assertNotEqual(unexpected, actual, m) {
function generateMessage() {
var message = 'Expected value other than "%s" (%s)'.subs(unexpected, typeof unexpected);
return formatErrorMessage(message, m);
}
assert(unexpected != actual, generateMessage);
}
function assertNull(val, m) {
assert(val === null, function() {
var message = "Expected null value.";
return formatErrorMessage(message, m);
});
}
function assertNotNull(val, m) {
assert(val !== null, function() {
var message = "Unexpected null value.";
return formatErrorMessage(message, m);
});
}
function MyException(message){
this.message = message;
}
分享到:
相关推荐
在JavaScript程序的开发和维护过程中,Assert(断言)是一个很好的用于保证程序正确性的特性。在具备调试工具的浏览器上,这一特性可以通过调用console.assert()来实现。比如在以下代码中,console.assert()语句保证...
µRDF.js是带有SPARQL查询处理的RDF存储JavaScript实现。 其核心是基于格式的ECMAScript 5.1实现,该实现旨在使用在微控制器平台上运行。 快速开始 在线演示 从µRDF.js开始的最简单方法是尝试其。 命令行界面 CLI也...
是JavaScript中“ Power Assert”概念的实现。 通过标准的接口提供描述性断言消息。 没有API是最好的API 。 借助强大的功能,您无需学习许多断言库API (大多数情况下,您需要记住的只是一个assert(any_...
纯JS实现secp256k1签名,验证,恢复ECDSA。 该代码在浏览器和NodeJS中均按原样工作,而无需捆绑程序。 Node.js的用法 npm install @enumatech/secp256k1-js 例子 const crypto = require ( 'crypto' ) const ...
挑战练习的目的是通过实现在每个单元测试工具中都可以找到的东西(一种“ assertEquals”方法)来证明您的问题解决和对JavaScript的理解。 填写“ assertEquals”函数,以便它将正确比较传递的“ expected”和“ ...
主要介绍了node.js中的console.assert方法使用说明,本文介绍了console.assert的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
typed-assert是一个实现TS 3.7断言功能API的类型安全断言库,没有外部依赖项。 typed-assert typed-assert是一个实现TS 3.7断言函数API的类型安全断言库,没有外部依赖项。 请参阅文档。 安装npm install typed-...
S3TC 算法的 JavaScript 实现。 仅 DXT1 w/o alpha 实现。 该实现足够快,可以用作小图像的在线压缩器(256 到 256 像素约 10-20 毫秒)。 使用示例 假设我们已经有了 WebGL 上下文gl和一个 CommonJS 模块系统。 ...
vow, ES6兼容和承诺的node.js 和浏览器的a 实现 命令 assert是一个承诺/a 插件实现。 它还支持 ES6承诺规范。可以在 http://dfilatov.github.io/vow/ 找到完整的API引用。正在启动Node.js 中的你可以使用节点软件包...
MQEmitter 的 P2P 实现,基于和 HyperEmitter 驱动的 。 有关实际 API,请参阅 。 listen和connect函数是从内部HyperEmitter 。 安装 $ npm install mqemitter-p2p --save 例子 var fs = require ( 'fs' ) var ...
node-nanomsg 是 nanomsg 的 JavaScript 语言实现版本。 安装方法:npm install nanomsg 示例代码: var nanomsg = require('nanomsg'); var assert = require('assert'); var AF_SP = nanomsg.AF_SP; var ...
适用于JavaScript / ECMA-262的MessagePack 这是MessagePackJavaScript / ECMA-262实现, MessagePack是一种有效的二进制序列化格式: 该库是通用JavaScript,意味着它与所有主要浏览器和NodeJS兼容。 另外,由于它...
一个typeof实现安全JavaScript的原语对象表示。 什么在哪里讨论 文档 来源 问题 CI 覆盖范围: 执照: 麻省理工学院 npm install empathy名字里有什么? 同理心深入了解变量的灵魂,并真正感受到它的实际类型。 我在...
EDTF.js完全实现了ISO 8601-2指定的级别0、1和2,但以下情况除外: 在实验/非标准级别上支持间隔的季节3。 ES6 EDTF.js被编写为使用许多ES6功能的标准Nodes.js / CommonJS模块。 因此,它需要Node.js 6或更高版本...
multer Express中间件实现前端传入文件进行保存 JSON Web Token 对登录状态码的生成以及验证 multer-aliyun-oss 阿里云对象存储OSS上传图片 前台前端 技术栈:Vue.js Vue.cli Vue脚手架,Vue的构建工具 SCSS 工具类...
既然可以这样在控制台输出信息,那以后再调试Js的时候不就可以省去很多麻烦了嘛!避免不误人子弟,特意使用for(var i in console)查看了下各种浏览器控制台对console的支持, 结果如下: IE 11 控制台 log , info , ...
我想提出这样的事情,如果还有其他未调用的模拟实现,则会抛出错误。 这仅适用于以下模拟实现: mockFn.mockImplementationOnce(fn) mockFn.mockReturnValueOnce(value) mockFn.mockResolvedValueOnce(value) ...
基于node+koa实现的mock数据接口,Koa需要v7.6.0以上node版本,低于此版本请先升级node 目录结构 // server.js const Koa = require('koa'); const Router = require('koa-router'); const qs = require('qs'); ...
一些用于JavaScript采访的直接插入类JS缺乏内置的堆/ dset实现,所以这里写了一些快速的文章,所以没有它我不会卡住。 为了避免争先恐后地查找/修复在线实现,我写了自己的以确保在需要时可以快速访问这些基本类。堆...
这是 NodeJS 实现。用法这是一个基本示例: module . exports = function ( suite ) { var i = 0 ; suite . name ( "Basic" ) ; suite . init ( function ( ) { i ++ ; } ) ; suite . define ( "Passing Test" , ...