angularjs之browserTrigger
今天推荐一款来自angularjs源码的单元测试辅助库browserTrigger,这是来自于ngScenario的一段代码。主要用户触发浏览器型行为更新ng中scope view model的值。
这是angularjs源码中单元测试的使用browserTrigger的实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
it( 'should set the model to empty string when empty option is selected' , function () {
scope.robot = 'x' ;
compile( '<select ng-model="robot">' +
'<option value="">--select--</option>' +
'<option value="x">robot x</option>' +
'<option value="y">robot y</option>' +
'</select>' );
expect(element).toEqualSelect( '' , [ 'x' ], 'y' );
browserTrigger(element.find( 'option' ).eq(0));
expect(element).toEqualSelect([ '' ], 'x' , 'y' );
expect(scope.robot).toBe( '' );
});
|
在这段代码中给browserTrigger传入你希望选择的select option,则它会帮助你tigger change,选中当前option,更触发更新ng select的viewmodel。
在browserTrigger中还为我们做了很多其他输入框或者html控件的触发接口,同时也加入了浏览器的兼容性。使得我们的测试更加方便不用考虑浏览器兼容性或者不同的html控件trigger不同的事件去更新scope的值。
具体更多信息请参考ng的官方测试和browserTrigger源码。
本文转自破狼博客园博客,原文链接:http://www.cnblogs.com/whitewolf/p/3807063.html,如需转载请自行联系原作者
angularjs之browserTrigger相关推荐
- AngularJS和DataModel
通常,在AngularJS中使用JSON作为存储数据的模型.我们可能这样在controller中写model: app.controller('BookController',['$scope',fu ...
- AngularJS 杂项知识点
1.要用ngChange要同时使用ngModel,下拉选择获取当前选中值. 2.打包代替动态加载(js文件) requirejs真正的价值在于模块化,不是动态加载,angularjs本身有模块化机制, ...
- angularjs post 跨域
web api搞好了:用Ajax妥妥的:但是前端用的AngulagJS,也懒得再换为Ajax了: 但是问题来了:提示: 已拦截跨源请求:同源策略禁止读取位于 http://x.x.x.x:port/a ...
- AngularJS 指令
1. AngularJS指令的特点: AngularJS通过被称为指令的新属性来扩展HTML,指令的前缀为ng-. AngularJS通过内置的指令来为应用添加功能. AngularJS允许你自定义指 ...
- AngularJS中的按需加载ocLazyLoad
欢迎大家讨论与指导 : ) 初学者,有不足的地方希望各位指出 一.前言 ocLoayLoad是AngularJS的模块按需加载器.一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题.但是当 ...
- 【12】AngularJS 事件
AngularJS 事件 AngularJS 有自己的 HTML 事件指令. ng-click 指令 ng-click 指令定义了 AngularJS 点击事件. <div ng-app=&qu ...
- Angular的ChangeDetectorRef.detectChanges()实现angularJS的$apply()方法,强制刷新数据渲染
在Javascript代码里,都是按照一定顺序来执行的,当轮到一个代码片段执行的时候,浏览器就只会去执行当前的片段,不会做任何其他的事情.所以有时候一些做得不是很好的网页,当点击了某个东西之后会卡住, ...
- AngularJS学习笔记(3)——通过Ajax获取JSON数据
通过Ajax获取JSON数据 以我之前写的与用户交互的动态清单列表为例,使用JSON前todo.html代码如下: <!DOCTYPE html> <html ng-app=&quo ...
- angularjs 学习笔记 简单基础
angularjs是谷歌公司的一个项目,弥补了hml在构建方面的不足,通过指令(directive)来扩展html标签,可以使开发者使用html来声明动态内容. angularjs主要用来开发单页应用 ...
最新文章
- testng入门_单元测试
- javascript 中的getter,setter
- linux系统生成的新文件是什么编码的,Linux系统的默认编码怎样设置?
- Spring Security:初体验
- vscode 插件推荐 - 献给所有前端工程师(2018.4.29更新)
- 我们无法更新系统保留的分区_系统更新是我们手机的基本功能之一 安卓智能更新有哪些用途...
- windows 下opencv for python 的安装
- P2424 约数和 真丶除法分块
- React Native升级方法——升级到最新版本0.59
- DECLARE_DYNAMIC IMPLEMENT_DYNAMIC
- python 网络设备巡检_python写的一个服务器自动巡检工具
- 地产行业主数据建设项目思考
- shell实现ftp命令示例
- android 7.0 调试日志,Android软件调试记录
- 电机学测试题+课后习题+思考题
- cnpm和npm使用,遇到的问题及解决方法
- VSCode 单文件编译 与 多文件编译(windows)
- 挑出区域内每一行最小值,并标记颜色
- 第一场嵌入式笔试——CVTE嵌入式应用工程师
- Windows 11系统映像恢复到新硬盘的3种方式