diff --git a/actionpack/test/javascript/ajax_test.rb b/actionpack/test/javascript/ajax_test.rb index 5b61524984e6ca968c629a42735da490c17e4f10..65395833983dc4a2596c102154db83e85934176f 100644 --- a/actionpack/test/javascript/ajax_test.rb +++ b/actionpack/test/javascript/ajax_test.rb @@ -111,3 +111,54 @@ class LegacyButtonToRemoteTest < ButtonToRemoteTest end end end + +class ObserveFieldTest < AjaxTestCase + def protect_against_forgery? + false + end + + def field(options = {}) + observe_field("title", options) + end + + test "basic" do + assert_html field, + %w(data-observe="true") + end + + test "with a :frequency option" do + assert_html field(:frequency => 5.minutes), + %w(data-observe="true" data-frequency="300") + end + + test "using a url string" do + assert_html field(:url => "/some/other/url"), + %w(data-observe="true" data-url="/some/other/url") + end + + test "using a url hash" do + assert_html field(:url => {:controller => :blog, :action => :update}), + %w(data-observe="true" data-url="/url/hash") + end + +# def test_observe_field +# assert_dom_equal %(), +# observe_field("glass", :frequency => 5.minutes, :url => { :action => "reorder_if_empty" }) +# end +# +# def test_observe_field_using_with_option +# expected = %() +# assert_dom_equal expected, observe_field("glass", :frequency => 5.minutes, :url => { :action => "check_value" }, :with => 'id') +# assert_dom_equal expected, observe_field("glass", :frequency => 5.minutes, :url => { :action => "check_value" }, :with => "'id=' + encodeURIComponent(value)") +# end +# +# def test_observe_field_using_json_in_with_option +# expected = %() +# assert_dom_equal expected, observe_field("glass", :frequency => 5.minutes, :url => { :action => "check_value" }, :with => "{'id':value}") +# end +# +# def test_observe_field_using_function_for_callback +# assert_dom_equal %(), +# observe_field("glass", :frequency => 5.minutes, :function => "alert('Element changed')") +# end +end