我正在开发一款结合 Ember 的应用程序,jquery-terminal
以帮助用户学习。对于前面的冗长问题,我深表歉意!
我喜欢以 TDD 风格工作,但我很难让它发挥作用。
我想要做的是模拟用户输入jquery-terminal
并断言正确的响应显示在终端中。我已经挖掘了源代码,也许我遗漏了一些东西,但我似乎找不到添加用户输入的地方。终端最终输出:-
<div id="terminal" class="terminal">
<div class="terminal-output"></div>
<div class="cmd" style="width: 100%;">
<span class="prompt">TryRuby:> </span>
<span></span>
<span class="cursor blink"> </span>
<span></span>
<textarea class="clipboard"></textarea>
</div>
</div>
用户输入的文本在第一个未命名的跨度中呈现,但在此处插入文本并不能使其jquery-terminal
在提交时可用,我得到的响应与它为空白一样。
我要模拟的是这个(伪代码)
test('user enters help and submits', function() {
var input = $('#terminal') // find the right node / place to bind is my problem
input.text = 'help'
keyEvent(input, 'keydown', 13) // simulate hitting enter
var match = /next: move to the next lesson/
ok(match.test($('.terminal-output'), 'Expected to find "next: move to the next lesson"')
})
现在,如果我访问该页面并手动输入,这一切都可以正常工作,但我希望以编程方式完成。
欢迎大家提出意见!