From ade756fe42423033bae8e5aea8f58782f7a6c517 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sun, 16 May 2010 13:52:51 -0700 Subject: Moved encoding work in progress to a feature branch. This reverts commits af0d1a88157942c6e6398dbf73891cff1e152405 and 64d109e3539ad600f58536d3ecabd2f87b67fd1c. --- actionpack/test/template/template_test.rb | 128 ------------------------------ 1 file changed, 128 deletions(-) delete mode 100644 actionpack/test/template/template_test.rb (limited to 'actionpack/test/template/template_test.rb') diff --git a/actionpack/test/template/template_test.rb b/actionpack/test/template/template_test.rb deleted file mode 100644 index c4a65d84fc..0000000000 --- a/actionpack/test/template/template_test.rb +++ /dev/null @@ -1,128 +0,0 @@ -require "abstract_unit" - -# These are the normal settings that will be set up by Railties -# TODO: Have these tests support other combinations of these values -Encoding.default_internal = "UTF-8" -Encoding.default_external = "UTF-8" - -class TestERBTemplate < ActiveSupport::TestCase - ERBHandler = ActionView::Template::Handlers::ERB - - class Context - def initialize - @output_buffer = "original" - end - - def hello - "Hello" - end - - def partial - ActionView::Template.new( - "<%= @_virtual_path %>", - "partial", - ERBHandler, - :virtual_path => "partial" - ) - end - - def logger - require "logger" - Logger.new(STDERR) - end - - def my_buffer - @output_buffer - end - end - - def new_template(body = "<%= hello %>", handler = ERBHandler, details = {}) - ActionView::Template.new(body, "hello template", ERBHandler, {:virtual_path => "hello"}) - end - - def render(locals = {}) - @template.render(@obj, locals) - end - - def setup - @obj = Context.new - end - - def test_basic_template - @template = new_template - assert_equal "Hello", render - end - - def test_locals - @template = new_template("<%= my_local %>") - assert_equal "I'm a local", render(:my_local => "I'm a local") - end - - def test_restores_buffer - @template = new_template - assert_equal "Hello", render - assert_equal "original", @obj.my_buffer - end - - def test_virtual_path - @template = new_template("<%= @_virtual_path %>" \ - "<%= partial.render(self, {}) %>" \ - "<%= @_virtual_path %>") - assert_equal "hellopartialhello", render - end - - if "ruby".encoding_aware? - def test_resulting_string_is_utf8 - @template = new_template - assert_equal Encoding::UTF_8, render.encoding - end - - def test_no_magic_comment_word_with_utf_8 - @template = new_template("hello \u{fc}mlat") - assert_equal Encoding::UTF_8, render.encoding - assert_equal "hello \u{fc}mlat", render - end - - # This test ensures that if the default_external - # is set to something other than UTF-8, we don't - # get any errors and get back a UTF-8 String. - def test_default_external_works - Encoding.default_external = "ISO-8859-1" - @template = new_template("hello \xFCmlat") - assert_equal Encoding::UTF_8, render.encoding - assert_equal "hello \u{fc}mlat", render - ensure - Encoding.default_external = "UTF-8" - end - - def test_encoding_can_be_specified_with_magic_comment - @template = new_template("# encoding: ISO-8859-1\nhello \xFCmlat") - assert_equal Encoding::UTF_8, render.encoding - assert_equal "\nhello \u{fc}mlat", render - end - - # TODO: This is currently handled inside ERB. The case of explicitly - # lying about encodings via the normal Rails API should be handled - # inside Rails. - def test_lying_with_magic_comment - assert_raises(ActionView::Template::Error) do - @template = new_template("# encoding: UTF-8\nhello \xFCmlat") - render - end - end - - def test_encoding_can_be_specified_with_magic_comment_in_erb - @template = new_template("<%# encoding: ISO-8859-1 %>hello \xFCmlat") - result = render - assert_equal Encoding::UTF_8, render.encoding - assert_equal "hello \u{fc}mlat", render - end - - def test_error_when_template_isnt_valid_utf8 - assert_raises(ActionView::Template::Error, /\xFC/) do - @template = new_template("hello \xFCmlat") - render - end - end - end -end \ No newline at end of file -- cgit v1.2.3