私はrubyのハーモニーを使用して構築したいくつかのjavascriptライブラリをテストしています。AJAX呼び出しを除いて、すべてが完全に機能しています—これを達成する方法について誰かが何かアイデアを持っていますか?
私のコードは次のようになります(私はRightJSを使用しています):
my.js
function makerequest(argument) {
new Xhr('http://mysite.com/some/jsonp'),{
jsonp: true,
params: {something: argument},
onSuccess: function() {
// Calls a function defined outside my library
parse_response(this.json)
}
}).send()
}
test_makerequest.rb
require 'rubygems'
require 'harmony'
require 'test/unit'
require 'shoulda'
class RequestTest < Test::Unit::TestCase
context "The requesty thing" do
setup do
@page = Harmony::Page.new
@page.load(File.expand_path('js/my.js'))
end
should "get stuff from mysite.com" do
# Here I need to define a 'parse_response' which this
# should section will wait for and then do an 'assert'
# on the results.
results = callback_to_get_results_from__make_request
@page.execute('make_request("an argument")')
assert results == {'foo' => 'bar'}
end
end
end
そうですね、私の質問は、results
非同期コールバックの結果を取得できるように、上記をどのように割り当てる必要があるかということです。