草庐IT

angularJS-karma-jasmine

全部标签

javascript - 你如何使用 jasmine + TypeScript 测试一个用常量调用的函数

我正在开发Angular2/TypeScript项目并使用jasmine进行单元测试。如何使用jasmine.js测试用常量调用的函数。例如。Logo.tsexportconstRADIUS:number=10;exportclassLogo{...protecteddrawCircle(x:number,y:number,r:number){...}protecteddrawLogo(){this.drawCircle(RADIUS,RADIUS,RADIUS);}...}Logo.spec.tsdescribe('drawLogo',function(){beforeEach(()

javascript - 如何不允许在 AngularJS 的 ui-select 中复制粘贴值

我有一个下拉列表和一个ui-select。基于下拉值ui-select值是绑定(bind)的。但如果我直接将该特定值粘贴到ui-select中,它就会显示为选中状态。我们如何防止ui-select复制粘贴值?示例如下所示。选择查询{{$item.ShortDescription}}{{qiQueryFinding.ShortDescription}} 最佳答案 http://plnkr.co/edit/BVaXpviCACi5sd3aw9oX?p=preview使用这些代码。{{$select.selected.name}}emai

javascript - 在 AngularJS 之后加载 jQuery

这个问题在这里已经有了答案:"ThinkinginAngularJS"ifIhaveajQuerybackground?[closed](15个答案)关闭5年前。我试图在完整的页面加载后运行一个小的jQuery代码段,但即使在页面完全加载后也没有呈现一些AngularJS代码。jQuery在页面加载后在控制台中工作。这是我正在尝试的jQuery:jQuery("a:contains('Clone')").parent().parent().parent().prepend(jQuery("#clone_external"));但还是没有发生克隆按钮不是普通按钮,它是一个Angular按

javascript - 如何使用转换 :translateY() "AngularJS"? 创建垂直滚动条

我正在使用InfiniteScroll在我的应用程序中,我想实现指令中当前不支持的双向滚动效果。我添加了滚动检测方法,它可以发现滚动的向上/向下移动,因此我正在基于此进行计算。我添加了translateY,因此可以轻松添加和删除新元素。因此理想情况下,在向下移动时,应该添加一个新元素,同时应该删除向上的旧元素。滚动不流畅,卡住了。所有元素都是动态的,可以有不同的高度。更新了这个方法handler=function(){varcontainerBottom,containerTopOffset,elementBottom,remaining,shouldScroll,currentPos

javascript - AngularJS 资源未设置内容类型

我正在尝试编写一个AngularJS资源模块,它将向服务器发布一些数据。默认的内容类型似乎是“application/xml”。我正在尝试将内容类型覆盖为“application/x-www-form-urlencoded”。当做一个普通的$http.post()时,我可以设置内容类型,当我检查Firebug时,我可以看到它设置正确。当我使用资源的POST方法时,无法更改默认的内容类型。我认为我正在根据documentation的方式进行操作描述。http://jsfiddle.net/vBsUH/3/varmyApp=angular.module('myApp',['myResour

javascript - 如何在 Jasmine.js 中使用带有 toHaveBeenCalledWith 的 spy 和可变数组?

我有一些代码以数组作为单个参数调用回调函数。调用回调后,代码更改数组内容。它类似于这段代码:functionmyCode(callback){varsomeArray=[1,2,3,4];callback(someArray);//changesomeArrayinarbitrarywayssomeArray.splice(2);...}现在,我想验证是否使用正确的数组内容调用回调。使用Jasmine.js我会这样写我的规范:describe("Mycode",function(){varcallback;beforeEach(function(){callback=jasmine.c

javascript - 如何使用 angularjs 对 HTML 列表进行渐进式增强?

假设我有一个可访问的网站,该网站将在禁用JS的情况下进行咨询。我有一个新闻列表,我可以这样总结:News1News2News3每次重新加载页面时,您都会添加最新的新闻,如果您获得超过10条新闻,则旧的新闻将被丢弃。现在,如果我使用AngulardJS,我必须将数据放入一个模型和一个ng-repeat,并摆脱我的静态HTML。该列表将动态填充,因此使用JS的人将看到几乎实时更新的列表。我需要的是让两者协同工作。我需要静态列表,如果JS被激活,我希望将当前元素插入到模型中并由angularjs管理。现在我目前的做法是:当我的模型初始化时,分离列表DOM,手动提取数据,并删除所有子列表在列表

javascript - 如何在 Jasmine 测试框架中处理谷歌地图事件

我正在尝试使用jasmine框架为Googlemap编写Javascript测试。我想要做的是启动map并更改边界(缩小)并测试map是否已正确缩小。我遇到的问题是jasmine好像没有办法处理事件。Jasmine有一个spyOn()方法,可以查找方法(不是事件)的用法。jasmine中还有waits()方法可以等待特定的时间。这些方法都不适用于处理事件。有人对Jasmine的事件有任何经验吗?我正在使用的代码:describe('Mapview',function(){beforeEach(function(){$('body').append("");this.view=newMa

javascript - AngularJS 指令隔离范围不更新父级

我有一个有模型绑定(bind)的指令,当通过ng-click调用save()方法时,父范围不会更新,除非我调用$scope.$apply()然后抛出$applyalreadyinprogress错误。我正在使用ngResource,事件有一个监听器调用$scope.model.$save();有解决办法吗?还是我做错了什么?.directive('editable',function(){return{restrict:'AE',templateUrl:'/assets/partials/editable.html',scope:{value:'=editable',field:'@f

javascript - AngularJS - 为 GET 请求设置 HTTP header

可能这是一个普遍的问题,可以在网上找到,但我得到的是这里。AddingacustomheadertoHTTPrequestusingangular.js所以我照着做,把代码改成了设置标题varconfig={headers:{'Authorization':'XXXYYYtoken="xxxxxxxx",realm="dash-api"',"X-Testing":"testing"}};获取请求调用:return$http.get(api.host+'/agn/12/adv/1860/cam?status=1',config).then(function(response){retur