小编Lor*_*con的帖子

通过异步 JavaScript (Mocha) 进行循环测试

我正在尝试使用 Mocha 测试异步 JavaScript,但在循环异步填充数组时遇到一些问题。

\n\n

我的目标是创建 N ( =arr.length) 个测试,每个测试对应数组的每个元素。

\n\n

可能我缺少一些关于摩卡语义的东西。

\n\n

到目前为止,这是我的(非工作的)简化代码:

\n\n
var arr = []\n\ndescribe("Array test", function(){\n\n    before(function(done){\n        setTimeout(function(){\n            for(var i = 0; i < 5; i++){\n                arr.push(Math.floor(Math.random() * 10))\n            }\n\n            done();\n        }, 1000);\n    });\n\n    it(\'Testing elements\', function(){\n        async.each(arr, function(el, cb){\n            it("testing" + el, function(done){\n                expect(el).to.be.a(\'number\');\n                done()\n            })\n            cb()\n        })\n    })\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到的输出是:

\n\n
  Array test\n    \xe2\x9c\x93 Testing elements\n\n\n  1 passing (1s)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想要一个像这样的输出:

\n\n
  Array test\n      Testing elements\n      \xe2\x9c\x93 testing3\n      \xe2\x9c\x93 testing5\n      \xe2\x9c\x93 testing7\n …
Run Code Online (Sandbox Code Playgroud)

javascript testing bdd mocha.js

5
推荐指数
1
解决办法
2252
查看次数

JavaScript事件和冒泡

我有以下(简化)标记代码:

<div id="container">
    <div data-value="1">
        <span>Click me 1</span>
    </div>
    <div data-value="2">
        <span>Click me 2</span>
    </div>
</div>
<div id="messages"></div>
Run Code Online (Sandbox Code Playgroud)

我想通过仅在其上附加事件监听器来利用冒泡#container,并获取被点击的子项data-value.

document.getElementById('container').addEventListener('click', function(e){
    document.getElementById('messages').innerHTML = 'you clicked ' + e.target.dataset.value;
}, false);
Run Code Online (Sandbox Code Playgroud)

如果点击的区域是div区域(小提琴中的红色),一切正常.我怎样才能获得data-value也只有当点击来自DIV的儿童(如点击蓝色跨度)的数据值,而不改变事件监听器?

这是小提琴:http://jsfiddle.net/hgLagy31/1/

javascript javascript-events event-bubbling

5
推荐指数
1
解决办法
71
查看次数

Solr停用词和空查询

我有一个包含许多文档和索引字段的Solr实例.

我现在想要在查询上应用一个停用词列表以增加结果数量,方法是在查询时完全忽略停用词列表中包含的单词.

因此,在我的配置中,我solr.StopFilterFactoryquery分析仪中使用.

我期待的是,如果我只使用停用词列表中的单个单词执行搜索,则结果集与通配符查询相同text_title:*,即完整文档集.

但相反,我得到0结果.我错过了关于停用词过滤器行为的一些内容吗?

solr stop-words

5
推荐指数
1
解决办法
960
查看次数

在后台运行的命令行脚本进入停止状态

我有一个简短的PHP实用程序脚本,我只是用cli从cli运行它:

php myscript.php
Run Code Online (Sandbox Code Playgroud)

脚本始终在运行,定期执行某些任务(与问题无关).它不需要用户的任何输入.运行之后,我通常按CTRL+ z然后运行bg将进程放在后台,一切都很好.

如果我运行它:

php myscript.php &
Run Code Online (Sandbox Code Playgroud)

脚本在启动时放在后台,但它也处于停止状态.例:

[1] 11513
[1]+  Stopped                 php myscript.php
Run Code Online (Sandbox Code Playgroud)

即使运行bg在这一点上没有帮助,我得赶紧走fg,然后CTRL+ zbg再次,使其工作.

这是php脚本:

<?
while(true){
    echo 'hi '.time()."\n";
    sleep(30);
}
?>
Run Code Online (Sandbox Code Playgroud)

我的问题是我不能直接在后台运行它,因为系统会停止它,我不明白为什么.我怎样才能解决这个问题?

更新:

我制作了相同脚本的bash版本,它可以运行并放入后台(运行而不是停止),只需使用&在末尾启动它(script.sh &)

script.sh:

#!/bin/bash
while true; do
    echo `date`
    sleep 30
done
Run Code Online (Sandbox Code Playgroud)

为什么php脚本在后台启动后停止,而bash脚本没有?什么可能导致这种不同的行为?

php linux bash shell scripting

4
推荐指数
1
解决办法
7984
查看次数

:first-child 选择器选择多个孩子

我正在尝试将样式仅应用于元素的第一个子元素。我在 css 中使用 :first-child 来实现这一点,但看起来这不是我正在寻找的行为。

以以下标记为例:

<ul class="myUl">
    <ul class="mySubUl">
        <li>foo0</li>
        <li>foo1</li>
    </ul>
    <ul class="mySubUl">
        <li>foo2</li>
        <li>foo3</li>
    </ul>
</ul>
======================
<ul class="myUl">
    <li>foo0</li>
    <li>foo1</li>
    <ul class="mySubUl">
        <li>foo2</li>
        <li>foo3</li>
    </ul>
</ul>
Run Code Online (Sandbox Code Playgroud)

和这个简单的 CSS:

ul.myUl li:first-child {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

现场小提琴:http : //jsfiddle.net/bsSDh/1/

这不仅适用于ul.myUl元素的第一个子元素,也适用于 的第一个子元素ul.subUl。如果 CSS 选择器是ul li:first-child(有效),我会期望这种行为,但是由于我向选择器添加了一个类,我希望只将该样式应用于第一个孩子。

为什么这种风格不仅适用于第一个孩子?我是否遗漏了一些关于first-child规格的信息或以错误的方式使用选择器?

css css-selectors

1
推荐指数
1
解决办法
935
查看次数