diff options
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/controller/capture_test.rb | 39 | ||||
-rw-r--r-- | actionpack/test/fixtures/test/capturing.rhtml | 4 | ||||
-rw-r--r-- | actionpack/test/fixtures/test/update_element_with_capture.rhtml | 9 |
3 files changed, 52 insertions, 0 deletions
diff --git a/actionpack/test/controller/capture_test.rb b/actionpack/test/controller/capture_test.rb new file mode 100644 index 0000000000..ad243c4587 --- /dev/null +++ b/actionpack/test/controller/capture_test.rb @@ -0,0 +1,39 @@ +require File.dirname(__FILE__) + '/../abstract_unit' + +class CaptureController < ActionController::Base + def self.controller_name; "test"; end + def self.controller_path; "test"; end + + def rescue_action(e) raise end +end + +CaptureController.template_root = File.dirname(__FILE__) + "/../fixtures/" + +class CaptureTest < Test::Unit::TestCase + def setup + @controller = CaptureController.new + + # enable a logger so that (e.g.) the benchmarking stuff runs, so we can get + # a more accurate simulation of what happens in "real life". + @controller.logger = Logger.new(nil) + + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + + @request.host = "www.nextangle.com" + end + + def test_simple_capture + get :capturing + assert_equal "Dreamy days", @response.body.strip + end + + def test_update_element_with_capture + get :update_element_with_capture + assert_equal( + "<script type=\"text/javascript\">$('products').innerHTML = '\\n <p>Product 1</p>\\n <p>Product 2</p>\\n'</script>" + + "\n\n$('status').innerHTML = '\\n <b>You bought something!</b>\\n'", + @response.body.strip + ) + end +end diff --git a/actionpack/test/fixtures/test/capturing.rhtml b/actionpack/test/fixtures/test/capturing.rhtml new file mode 100644 index 0000000000..1addaa40d9 --- /dev/null +++ b/actionpack/test/fixtures/test/capturing.rhtml @@ -0,0 +1,4 @@ +<% days = capture do %> + Dreamy days +<% end %> +<%= days %>
\ No newline at end of file diff --git a/actionpack/test/fixtures/test/update_element_with_capture.rhtml b/actionpack/test/fixtures/test/update_element_with_capture.rhtml new file mode 100644 index 0000000000..2d2ac84214 --- /dev/null +++ b/actionpack/test/fixtures/test/update_element_with_capture.rhtml @@ -0,0 +1,9 @@ +<% replacement_function = update_element_function("products", :action => :replace) do %> + <p>Product 1</p> + <p>Product 2</p> +<% end %> +<%= javascript_tag(replacement_function) %> + +<% update_element_function("status", :action => :replace, :binding => binding) do %> + <b>You bought something!</b> +<% end %>
\ No newline at end of file |