我正在研究Blob,我注意到当你有一个ArrayBuffer时,你可以很容易地将它转换为Blob,如下所示:
var dataView = new DataView(arrayBuffer);
var blob = new Blob([dataView], { type: mimeString });
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,是否可以从Blob转到ArrayBuffer?
我使用grunt/karma/phantomjs/jasmine对我的一个指令(angularjs)进行单元测试.我的测试运行良好
describe('bar foo', function () {
beforeEach(inject(function ($rootScope, $compile) {
elm = angular.element('<img bar-foo src="img1.png"/>');
scope = $rootScope.$new();
$compile(elm)();
scope.$digest();
}));
....
});
Run Code Online (Sandbox Code Playgroud)
但我确实得到了这些404
WARN [web-server]: 404: /img1.png
WARN [web-server]: 404: /img2.png
...
Run Code Online (Sandbox Code Playgroud)
虽然它们什么也不做,但它们确实会给日志输出增加噪音.有没有办法来解决这个问题 ?(当然,不改变业力的logLevel,因为我确实希望看到它们)
javascript unit-testing http-status-code-404 angularjs karma-runner
我有以下ngSwitch:
<p ng-switch="status">
<span ng-switch-when="wrong|incorrect">
Wrong
</span>
<span ng-switch-default>
Correct
</span>
</p>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我有文本Wrong的两个选项wrong和correct.我试过(你可以看到)使用管道|,但这不起作用.有什么建议 ?
是否可以使用默认值的可选构造函数参数,如下所示
export class Test {
constructor(private foo?: string="foo", private bar?: string="bar") {}
}
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:
参数不能有问号和初始化器.
我想创建像这样的实例
x = new Test(); // x.foo === 'foo'
x = new Test('foo1'); // x.foo === 'foo1'
x = new Test('foo1', 'bar1');
Run Code Online (Sandbox Code Playgroud)
实现这一目标的正确打字方式是什么?
我有这种情况需要将元素滚动到视口中.问题是我不知道哪个元素是可滚动的.例如,在Portrait中,body是可滚动的,而在Landscape中它是另一个元素(并且有更多情况可以改变可滚动元素)
现在的问题是,给定一个需要滚动到视口中的元素,找到第一个可滚动父级的最佳方法是什么?
我在这里设置了一个演示.使用按钮,您可以在两种不同的情况之间切换
<div class="outer">
<div class="inner">
<div class="content">
...
<span>Scroll me into view</span>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
身体是可滚动的或 .outer
有什么建议 ?
我有这种情况,我想知道一个承诺的状态.下面,该函数start仅someTest在它不再运行时调用(Promise未挂起).该start函数可以多次调用,但如果在测试仍在运行时调用它,它将不会等待并返回false
class RunTest {
start() {
retVal = false;
if (!this.promise) {
this.promise = this.someTest();
retVal = true;
}
if ( /* if promise is resolved/rejected or not pending */ ) {
this.promise = this.someTest();
retVal = true;
}
return retVal;
}
someTest() {
return new Promise((resolve, reject) => {
// some tests go inhere
});
}
}
Run Code Online (Sandbox Code Playgroud)
我找不到简单检查承诺状态的方法.喜欢的东西this.promise.isPending会很好:)任何帮助将不胜感激!
我需要用jasmine对一些DOM操作函数进行单元测试(目前我在浏览器和Karma中运行我的测试)
我想知道这样做的最佳方法是什么?
例如,我可以模拟和存根窗口并记录对象并监视它们的一些功能.但这并不是一个简单的解决方案,所以这就是为什么我问这个问题!
或者是否有更好的方法(不使用茉莉花)来做到这一点?
非常感谢
在我的三星Galaxy标签4(Android 4.4.2,Chrome:49.0.2623.105)上,我遇到了keyCode始终为229的情况.
我为两种情况设置了一个简单的测试
<div contenteditable="true"></div>
<input>
<span id="keycode"></span>
Run Code Online (Sandbox Code Playgroud)
脚本:
$('div, input').on('keydown', function (e) {
$('#keycode').html(e.keyCode);
});
Run Code Online (Sandbox Code Playgroud)
幸运的是,我可以找到关于此的帖子,但我找不到一个有效的解决方案.有人建议改为使用keyup或使用该textInput事件,但只会触发该事件blur.
现在,最重要的是,默认股票浏览器不会发生这种情况:(
任何帮助,将不胜感激!
更新:如果事实证明这是不可能的,我仍然可以在插入符号之前抓取字符:post
正如这里指出的那样,npm的进度条显着降低了整个安装进度.给出的解决方案是禁用它
$> npm set progress=false && npm install
Run Code Online (Sandbox Code Playgroud)
我有一个问题,是否可以在项目中设置一些东西(例如在package.json中),这样我可以progress=false在命令行中省略并且可以做到$> npm install并获得与上面相同的结果?
javascript ×6
angularjs ×2
unit-testing ×2
android ×1
arraybuffer ×1
blob ×1
css3 ×1
ecmascript-6 ×1
es6-promise ×1
git ×1
github ×1
html ×1
html5 ×1
jasmine ×1
jshint ×1
karma-runner ×1
keyevent ×1
ng-switch ×1
node.js ×1
npm ×1
performance ×1
promise ×1
typescript ×1