草庐IT

Chai-as-Promised

全部标签

javascript - Chai 期待 : an array to contain an object with at least these properties and values

我正在尝试验证像这样的对象数组:[{a:1,b:2,c:3},{a:4,b:5,c:6},...]至少包含一个同时具有{a:1}和{c:3}的对象:我想我可以用chai-things做到这一点,但我不知道对象的所有属性都可以使用expect(array).to.include.something.that.deep.equals({??,a:1,c:3});和contain.a.thing.with.property不适用于多个属性:/测试此类内容的最佳方法是什么? 最佳答案 所需的解决方案似乎是这样的:expect(array).

javascript - Angular 5 HttpClient : Send POST params as URL encoded string

Angular5.0.1我正在查看AngularHttpClient的文档:https://angular.io/guide/http,但我似乎无法弄清楚如何将POST参数作为URLEncoded字符串而不是JSON字符串发送。例如,我的Javahttp客户端默认会这样发送:username=test%40test.com&password=Password1&rolename=Admin但是Angular想要默认发送为Json:{"username":"test@test.com","password":"Password1","rolename":"Admin"}这是我目前的代码:

javascript - AS3 : How do I get dynamic loader URL from LoaderInfo in Event Listener Function?

我正在加载很多图片,并且正在使用一个数组来执行此操作。loader[i].load(newURLRequest(picture[i]));我的事件监听器功能是这样启用的:loader[i].contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);我的onComplete事件处理程序显示了这一点:trace(e.target);//OUTPUT:[objectLoaderInfo]我在LoaderInfo中寻找了一些属性,这些属性可能会识别哪个加载器启动了监听器(“i”的值),这样我就可以具体地处理每个加载器,如下所示:

javascript - ES6 : Applying function as class method

我正在将一个项目从CoffeeScript迁移到ES6(使用6to5和Browserify),并且遇到了可能的限制或者我可能只是不知道正确的语法。在CoffeeScript中我可以这样做:classSomeViewextendsBaseViewtriggerMethod:Marionette.triggerMethod如何在ES6类中表达这一点?我尝试了几件事,但无论我尝试什么,它都会抛出Unexpectedtoken错误。这例如:let{triggerMethod}=Marionette;classSomeViewextendsBaseView{triggerMethod,//doe

javascript - ES6 模块语法 : is it possible to `export * as Name from ...` ?

参见问题标题。我找到了一个greatreferenceexport的形式可用,但我还没有看到我要找的东西。是否可以像下面那样做?//file:constants.jsexportconstSomeConstant1='yay';exportconstSomeConstant2='yayayaya';//file:index.jsexport*asConstantsfrom'./constants.js';即这将在index.js中提供一个命名导出Constants,其中包含来自constants.js的所有命名导出。Thisanswer似乎表明这在TypeScript中是不可能的;纯J

javascript - Chrome 扩展 : Insert fixed div as UI

我想使用chrome扩展程序将一个div插入到固定位置。它将覆盖您当前正在查看的页面。我担心的是我希望它可以在任何页面上工作而不改变它(除了插入我的固定div),但我不知道我这样做是否可行。目前,该按钮不会显示,我在让div显示时遇到了很多麻烦。顺便说一句,定位暂时只是临时的,一旦我在页面上得到它,我会正确定位它!:)这是我所拥有的:这是我的list:{"name":"poop","version":"0.1","manifest_version":2,"description":"shittyappI'mmaking","background":{"scripts":["script

javascript - 使用 `this.$watch` 而不是 `$scope.$watch` 和 'Controller As'

目前我正在使用ControllerAs格式来定义范围Controller。这对于保持View上的值范围清晰且易于遵循非常有效。但是,在实现$watch时我遇到了问题,因为它似乎依赖于$scope,所以下面的代码将不起作用。angular.module('myApp',[]).controller('myController',['contacts',function(contacts){this.contacts=contacts;this.$watch('contacts',function(newValue,oldValue){console.log({older:oldValue

javascript - 您可以在带有数据 URL 的图像上设置 "save as"的文件名吗?

我有这样一张图片:当我右键单击图像并选择“另存为”时,保存对话框会显示“download.jpg”作为文件名。我想选择一个不同的默认文件名。添加downloadimg元素上的标签似乎不起作用。有什么方法可以为此添加名称吗?我看过这个,但它是关于的标签:Isthereanywaytospecifyasuggestedfilenamewhenusingdata:URI? 最佳答案 也许您可以使用caman.js尝试类似的操作.这是一个如何工作的例子。我知道这不是您想要的,但请看一下。DEMO您还可以使用标记来执行此操作,但它会在点击时下

javascript - 解决方法 : javascript dictionary which takes objects as keys

我看了几个关于javascript字典实现的问答,但都不符合我的要求:字典必须能够将对象作为键值必须可以被[]操作符访问于是萌生了覆盖Object.prototype中的valueOf方法的想法,如下:Object.__id__=0;Object.prototype.valueOf=function(){if(!this.__id__)this.__id__=++Object.__id__;return"__id__"+this.__id__;}Object.prototype.toString=Object.prototype.valueOf;//testvarx={p1:"5"};

javascript - 诸如 Chai 之类的断言库如何在不强制调用函数的情况下工作?

在Chai,您可以执行以下操作:expect({}).to.exist;exist不是函数调用,但这在测试框架中仍然有效。相反的(expect({}).to.not.exist)会导致测试失败,但同样,exist不是函数调用。在不让我调用函数的情况下,这些断言如何工作?事实上,如果我尝试说expect({}).to.exist()测试失败,因为exist不是一个函数。 最佳答案 我想出来了(或者至少,我想出了一个方法)。使用JavaScriptgetters:varthrows={geta(){thrownewError('a');