`
fkyq01
  • 浏览: 38509 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

js实现assert

    博客分类:
  • js
阅读更多

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;
}
分享到:
评论

相关推荐

    android用webview加载assert中的html并且可拨打页面中的电话

    总结一下,本文详细介绍了如何在Android应用中使用`WebView`加载`assert`目录下的HTML文件,并实现点击HTML中的电话链接进行拨号。通过`WebViewClient`和`WebChromeClient`的配置,以及权限的设置,我们成功地集成了...

    JavaScript中的console.assert()函数介绍

    在JavaScript程序的开发和维护过程中,Assert(断言)是一个很好的用于保证程序正确性的特性。在具备调试工具的浏览器上,这一特性可以通过调用console.assert()来实现。比如在以下代码中,console.assert()语句保证...

    Node.js assert断言原理与用法分析

    在Node.js的assert模块中,这种机制被实现为一组函数,它们接受一个或多个参数,并对这些参数进行检查。如果检查不通过,则会抛出一个AssertionError错误,从而帮助开发者在问题发生时就能及时发现并处理。 assert...

    前端开源库-justo-assert

    开发者可以通过阅读源码来了解其实现原理,甚至可以根据自己的需求对其进行定制或扩展。开源社区的贡献者们可能还为这个库添加了文档、示例和测试用例,帮助用户更好地理解和使用。 总之,“justo-assert”作为一款...

    node.js中的console.assert方法使用说明

    在Node.js中,console.assert是一个...通过上述对console.assert方法说明、语法、接收参数、使用实例和源码实现的详细解释,相信你已经能够熟练掌握并有效使用Node.js中的console.assert方法来提高代码的质量和健壮性。

    jsspecclojurespec的一个JavaScript实现

    **js.spec:Clojure.spec的JavaScript实现** Clojure.spec是一个强大的规范和测试工具,它提供了一种声明式的方式来描述数据的结构和行为。这个库在Clojure生态系统中被广泛使用,用于验证函数输入和输出,确保代码...

    secp256k1-js:secp256k1的纯JS实现签名,验证,恢复ECDSA

    纯JS实现secp256k1签名,验证,恢复ECDSA。 该代码在浏览器和NodeJS中均按原样工作,而无需捆绑程序。 Node.js的用法 npm install @enumatech/secp256k1-js 例子 const crypto = require ( 'crypto' ) const ...

    uRDF.js:基于JSON-LD格式的RDF存储JavaScript实现

    µRDF.js是带有SPARQL查询处理的RDF存储JavaScript实现。 其核心是基于格式的ECMAScript 5.1实现,该实现旨在使用在微控制器平台上运行。 快速开始 在线演示 从µRDF.js开始的最简单方法是尝试其。 命令行界面 CLI也...

    power-assert:JavaScript中的Power Assert。 通过标准的断言接口提供描述性断言消息。 没有API是最好的API

    是JavaScript中“ Power Assert”概念的实现。 通过标准的接口提供描述性断言消息。 没有API是最好的API 。 借助强大的功能,您无需学习许多断言库API (大多数情况下,您需要记住的只是一个assert(any_...

    @msgpack,msgpack - JavaScript 的 MessagePack , msgpack.org[JavaScript,TypeScript,ECMA-262].zip

    它不仅与浏览器兼容,还与 Node.js 或其他实现 ES2015+ 标准的 JavaScript 引擎兼容。由于它是用TypeScript编写的,因此该库捆绑了最新的类型定义文件 ( d.ts)。*请注意,这是“MessagePack for JavaScript”的第二...

    powerassertmatch断言匹配授权

    5. **性能**:尽管提供了丰富的信息,但`power-assert-match`通过优化实现了性能上的平衡,不会因为增强的错误信息而显著降低运行速度。 6. **社区支持和持续更新**:作为开源项目,`power-assert-match`有活跃的...

    js_assert_vanilla:使用本机js声明功能

    挑战练习的目的是通过实现在每个单元测试工具中都可以找到的东西(一种“ assertEquals”方法)来证明您的问题解决和对JavaScript的理解。 填写“ assertEquals”函数,以便它将正确比较传递的“ expected”和“ ...

    类型安全的TS断言库-JavaScript开发

    typed-assert是一个实现TS 3.7断言功能API的类型安全断言库,没有外部依赖项。 typed-assert typed-assert是一个实现TS 3.7断言函数API的类型安全断言库,没有外部依赖项。 请参阅文档。 安装npm install typed-...

    javascript 很不错的一个JavaScript学习参考书

    3. **对象与原型**:JavaScript中的对象是键值对的集合,通过原型链可以实现对象之间的继承。理解原型、原型链以及构造函数的概念,能帮助你更好地掌握面向对象编程。 4. **闭包**:闭包是JavaScript中一个高级概念...

    Node.js-node.js的异步BDD和持续测试

    在Node.js环境中,可以利用各种测试工具如Mocha、Jest或 Ava 来实现持续测试。这些工具支持自动化运行测试,可以在代码更改后立即重新运行测试,确保每次提交的代码都是经过验证的。 对于持续集成(Continuous ...

    Node.js帮助文档

    - **具体实现**: - **`AtExit`钩子**:通过`AtExit`函数注册一个或多个回调函数,在Node.js进程结束时执行这些回调。 - `AtExit(callback, args)`:注册一个回调函数,并可传入额外参数。 - **断言模块**:提供...

    S3TC:S3TC算法JavaScript实现

    S3TC 算法的 JavaScript 实现。 仅 DXT1 w/o alpha 实现。 该实现足够快,可以用作小图像的在线压缩器(256 到 256 像素约 10-20 毫秒)。 使用示例 假设我们已经有了 WebGL 上下文gl和一个 CommonJS 模块系统。 ...

    vow, ES6兼容和承诺的node.js 和浏览器的a 实现.zip

    vow, ES6兼容和承诺的node.js 和浏览器的a 实现 命令 assert是一个承诺/a 插件实现。 它还支持 ES6承诺规范。可以在 http://dfilatov.github.io/vow/ 找到完整的API引用。正在启动Node.js 中的你可以使用节点软件包...

    本地js测试工具

    在JavaScript(简称JS)开发过程中,测试是确保代码质量、可靠性和可维护性的重要环节。本地JS测试工具能够帮助开发者在本地环境中高效地执行单元测试、集成测试等,以检查代码的功能正确性。本篇文章将深入探讨本地...

Global site tag (gtag.js) - Google Analytics