add more tests surrounding camlize in xmlmini, refactor rename_key()

This commit is contained in:
Aaron Patterson 2010-11-03 11:02:42 -07:00
parent ea0faa2055
commit 6362538815
2 changed files with 14 additions and 6 deletions

View File

@ -126,14 +126,10 @@ module ActiveSupport
end
def rename_key(key, options = {})
camelize = options.has_key?(:camelize) && options[:camelize]
camelize = options[:camelize]
dasherize = !options.has_key?(:dasherize) || options[:dasherize]
if camelize
if options[:camelize] == :lower
key = key.camelize(:lower)
else
key = key.camelize
end
key = true == camelize ? key.camelize : key.camelize(camelize)
end
key = _dasherize(key) if dasherize
key

View File

@ -14,6 +14,14 @@ class XmlMiniTest < Test::Unit::TestCase
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
@ -22,6 +30,10 @@ class XmlMiniTest < Test::Unit::TestCase
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