mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
added tests for XmlMini#to_tag.
This commit is contained in:
parent
eba8411652
commit
54f3aa8633
1 changed files with 93 additions and 54 deletions
|
@ -1,61 +1,100 @@
|
|||
require 'abstract_unit'
|
||||
require 'active_support/xml_mini'
|
||||
require 'active_support/builder'
|
||||
|
||||
class XmlMiniTest < Test::Unit::TestCase
|
||||
def test_rename_key_dasherizes_by_default
|
||||
assert_equal "my-key", ActiveSupport::XmlMini.rename_key("my_key")
|
||||
module XmlMiniTest
|
||||
class RenameKeyTest < Test::Unit::TestCase
|
||||
def test_rename_key_dasherizes_by_default
|
||||
assert_equal "my-key", ActiveSupport::XmlMini.rename_key("my_key")
|
||||
end
|
||||
|
||||
def test_rename_key_does_nothing_with_dasherize_true
|
||||
assert_equal "my-key", ActiveSupport::XmlMini.rename_key("my_key", :dasherize => true)
|
||||
end
|
||||
|
||||
def test_rename_key_does_nothing_with_dasherize_false
|
||||
assert_equal "my_key", ActiveSupport::XmlMini.rename_key("my_key", :dasherize => false)
|
||||
end
|
||||
|
||||
def test_rename_key_camelizes_with_camelize_false
|
||||
assert_equal "my_key", ActiveSupport::XmlMini.rename_key("my_key", :camelize => false)
|
||||
end
|
||||
|
||||
def test_rename_key_camelizes_with_camelize_nil
|
||||
assert_equal "my_key", ActiveSupport::XmlMini.rename_key("my_key", :camelize => nil)
|
||||
end
|
||||
|
||||
def test_rename_key_camelizes_with_camelize_true
|
||||
assert_equal "MyKey", ActiveSupport::XmlMini.rename_key("my_key", :camelize => true)
|
||||
end
|
||||
|
||||
def test_rename_key_lower_camelizes_with_camelize_lower
|
||||
assert_equal "myKey", ActiveSupport::XmlMini.rename_key("my_key", :camelize => :lower)
|
||||
end
|
||||
|
||||
def test_rename_key_lower_camelizes_with_camelize_upper
|
||||
assert_equal "MyKey", ActiveSupport::XmlMini.rename_key("my_key", :camelize => :upper)
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_leading_underscores
|
||||
assert_equal "_id", ActiveSupport::XmlMini.rename_key("_id")
|
||||
end
|
||||
|
||||
def test_rename_key_with_leading_underscore_dasherizes_interior_underscores
|
||||
assert_equal "_my-key", ActiveSupport::XmlMini.rename_key("_my_key")
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_trailing_underscores
|
||||
assert_equal "id_", ActiveSupport::XmlMini.rename_key("id_")
|
||||
end
|
||||
|
||||
def test_rename_key_with_trailing_underscore_dasherizes_interior_underscores
|
||||
assert_equal "my-key_", ActiveSupport::XmlMini.rename_key("my_key_")
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_multiple_leading_underscores
|
||||
assert_equal "__id", ActiveSupport::XmlMini.rename_key("__id")
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_multiple_leading_underscores
|
||||
assert_equal "id__", ActiveSupport::XmlMini.rename_key("id__")
|
||||
end
|
||||
end
|
||||
|
||||
def test_rename_key_does_nothing_with_dasherize_true
|
||||
assert_equal "my-key", ActiveSupport::XmlMini.rename_key("my_key", :dasherize => true)
|
||||
class ToTagTest < ActiveSupport::TestCase
|
||||
def assert_xml(xml)
|
||||
assert_equal xml, @options[:builder].target!
|
||||
end
|
||||
|
||||
setup do
|
||||
@xml = ActiveSupport::XmlMini
|
||||
@options = {:skip_instruct => true, :builder => Builder::XmlMarkup.new}
|
||||
end
|
||||
|
||||
test "#to_tag accepts a callable object and passes options with the builder" do
|
||||
@xml.to_tag(:some_tag, lambda {|o| o[:builder].br }, @options)
|
||||
assert_xml "<br/>"
|
||||
end
|
||||
|
||||
test "#to_tag accepts a callable object and passes options and tag name" do
|
||||
@xml.to_tag(:tag, lambda {|o, t| o[:builder].b(t) }, @options)
|
||||
assert_xml "<b>tag</b>"
|
||||
end
|
||||
|
||||
test "#to_tag accepts an object responding to #to_xml and passes the options, where :root is key" do
|
||||
obj = Object.new
|
||||
obj.instance_eval do
|
||||
def to_xml(options) options[:builder].yo(options[:root].to_s) end
|
||||
end
|
||||
|
||||
@xml.to_tag(:tag, obj, @options)
|
||||
assert_xml "<yo>tag</yo>"
|
||||
end
|
||||
|
||||
test "#to_tag accepts arbitrary objects responding to #to_str" do
|
||||
@xml.to_tag(:b, "Howdy", @options)
|
||||
assert_xml "<b>Howdy</b>"
|
||||
end
|
||||
# TODO: test the remaining functions hidden in #to_tag.
|
||||
end
|
||||
|
||||
def test_rename_key_does_nothing_with_dasherize_false
|
||||
assert_equal "my_key", ActiveSupport::XmlMini.rename_key("my_key", :dasherize => false)
|
||||
end
|
||||
|
||||
def test_rename_key_camelizes_with_camelize_false
|
||||
assert_equal "my_key", ActiveSupport::XmlMini.rename_key("my_key", :camelize => false)
|
||||
end
|
||||
|
||||
def test_rename_key_camelizes_with_camelize_nil
|
||||
assert_equal "my_key", ActiveSupport::XmlMini.rename_key("my_key", :camelize => nil)
|
||||
end
|
||||
|
||||
def test_rename_key_camelizes_with_camelize_true
|
||||
assert_equal "MyKey", ActiveSupport::XmlMini.rename_key("my_key", :camelize => true)
|
||||
end
|
||||
|
||||
def test_rename_key_lower_camelizes_with_camelize_lower
|
||||
assert_equal "myKey", ActiveSupport::XmlMini.rename_key("my_key", :camelize => :lower)
|
||||
end
|
||||
|
||||
def test_rename_key_lower_camelizes_with_camelize_upper
|
||||
assert_equal "MyKey", ActiveSupport::XmlMini.rename_key("my_key", :camelize => :upper)
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_leading_underscores
|
||||
assert_equal "_id", ActiveSupport::XmlMini.rename_key("_id")
|
||||
end
|
||||
|
||||
def test_rename_key_with_leading_underscore_dasherizes_interior_underscores
|
||||
assert_equal "_my-key", ActiveSupport::XmlMini.rename_key("_my_key")
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_trailing_underscores
|
||||
assert_equal "id_", ActiveSupport::XmlMini.rename_key("id_")
|
||||
end
|
||||
|
||||
def test_rename_key_with_trailing_underscore_dasherizes_interior_underscores
|
||||
assert_equal "my-key_", ActiveSupport::XmlMini.rename_key("my_key_")
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_multiple_leading_underscores
|
||||
assert_equal "__id", ActiveSupport::XmlMini.rename_key("__id")
|
||||
end
|
||||
|
||||
def test_rename_key_does_not_dasherize_multiple_leading_underscores
|
||||
assert_equal "id__", ActiveSupport::XmlMini.rename_key("id__")
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue