草庐IT

Chai-as-Promised

全部标签

javascript - 如何为按钮提供浏览器 "save image as"选项

我正在做一个Canvas绘图项目。我将Canvas转换为图像,然后将该图像保存为“.png”。我必须右键单击图像并选择“将图像另存为”选项。但我想通过一个按钮提供该选项。当我单击按钮时,它应该被保存。任何例子或想法将不胜感激。这是一个将canvas转为png的js函数。functionsave2(){window.open(canvas.toDataURL('image/png'));vargh=(canvas.toDataURL('png'));alert("converted");} 最佳答案 在现代浏览器中你可以使用下载属性f

javascript - Mocha/Chai 测试预期与实际对象数组

当两者都是对象数组时,断言预期结果与实际结果相匹配的最佳方法是什么?我的直接想法是使用Array原型(prototype)过滤器并检查交集是否与预期的大小相同,即:describe('select',function(){it("shouldreturnselectedcolumns",function(done){varquery="selectlunchTime,name";varactual=...resultsofthequery,anarrayofanonymousobjects...//expectedresultsvarexpected=[{"lunchTime":"12

javascript - 为什么我的 mocha/chai Error throw 测试失败了?

我有一个要测试的简单javascript包。我想检查是否抛出了错误,但是当我的测试运行并抛出错误时,测试被标记为失败。代码如下:varshould=require('chai').should(),expect=require('chai').expect();describe('#myTestSuite',function(){it('shouldcheckforTypeErrors',function(){//Pulledstraightfromthe'throw'sectionof//http://chaijs.com/api/bdd/varerr=newReferenceErr

javascript - [Vue warn] : Avoid using non-primitive value as key, 改用字符串/数字值

我正在构建HackerNews的克隆,但出现以下错误:vue.esm.js?efeb:591[Vuewarn]:Avoidusingnon-primitivevalueaskey,usestring/numbervalueinstead.foundin--->atsrc/components/Single.vueatsrc/App.vue错误似乎来自Single.vue但我无法工作它是什么?模板如下:{{story.title}}Score:{{story.score}}{{story.url}}{{comment.text}}{{comment.by}}{{comment.time}

JavaScript 弹出 Chrome 'save as' - 已停用?为什么?

我正在用Javascript打开一个弹出窗口:functionpopup(title,w,h,site){x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;vardate=newDate()varticks=date.getTime();varpopupWindow=window.open(title,"popup"+ticks,'width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y+',resizable=yes,scrollbars=ye

javascript - Chai deep 包含对嵌套对象的断言

我试图断言一个对象包含另一个对象(即不能使用deepequal),但似乎严格检查了嵌套对象。代码示例:describe('Meta',function(){it('objectshouldcontainsaclonedcopy',function(){varobj={a:1,b:'2',c:{a:2,b:'2'}};returnexpect(obj).deep.contains(JSON.parse(JSON.stringify(obj)));});});错误信息:AssertionError:expected{a:1,b:'2',c:{a:2,b:'2'}}tohaveaproper

javascript - 火力地堡 'A network error (such as timeout, interrupted connection or unreachable host) has occurred.'

我正在尝试为我的数据库客户端编写一些测试,这要求我首先对Firebase进行身份验证。我使用Jest作为我的测试运行器。我的测试看起来像:it('shouldsignin',async(done)=>{try{awaitauth.signInWithEmailAndPassword('testabc@test.com','testuser');}catch(e){console.log(e);}done();});我的firebase应用已初始化,我已验证APIkey是否正确。一些有趣的注意事项是,即使我得到:'Anetworkerror(suchastimeout,interrupt

javascript - 如何解决 Component should be written as a pure function error in eslint-react?

constHeader=React.createClass({contextTypes:{router:React.PropTypes.object.isRequired,},render(){return(AB);},});我使用eslint-config-airbnb检查上面的代码,它向我显示一条错误消息,例如Componentshouldbewrittenasapurefunction。那么如何将上面的组件改成纯函数呢?感谢您的帮助。 最佳答案 当你有一个“哑”组件(没有内部状态、生命周期方法等)时,你可以将它写成一个简单的j

javascript - 带有 Webpack 的 VueJS : imports and exports not working as expected

我启动了一个新的Vuetify/Webpack项目,并尝试通过vueinitvuetify/webpack设置项目后实现vue-router。我根据thistutorial中的说明设置路由器.经过一些摆弄后,我通过更改导入Vue组件的方式使其正常工作。在我的router/index.js文件中://worksformeimportMainfrom'../components/Main.vue'//doesNOTwork;fromthetutorialimportMainfrom'@/components/Main'我的问题是,为什么我必须相对导入我的Main.vue文件并在导入时包含.

javascript - 使用 Chai 解决 Protractor 和 Cucumber 中的 promise

最近,我和一位同事对使用Protractor和Chai实现Cucumber步骤定义的“正确”方式存在一些分歧。我们的争论源于对Cucumber上下文中promise解决方案的确切情况的相互缺乏理解。我们正在针对AngularJS应用程序进行测试,因此解决promise和异步行为是不可避免的。我们遇到的最大问题是强制执行同步测试行为并让Cucumber在步骤定义之间等待promise。在某些情况下,我们观察到这样的情况,即Cucumber似乎在Webdriver执行步骤定义之前就直接完成了步骤定义。我们对这个问题的解决方案各不相同......考虑假设场景:Scenario:Whenaus