require 'test/unit' require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/string' require File.dirname(__FILE__) + '/../../lib/active_support/misc' silence_warnings do require File.dirname(__FILE__) + '/../inflector_test' end class StringInflectionsTest < Test::Unit::TestCase def test_pluralize InflectorTest::SingularToPlural.each do |singular, plural| assert_equal(plural, singular.pluralize) end assert_equal("plurals", "plurals".pluralize) end def test_singularize InflectorTest::SingularToPlural.each do |singular, plural| assert_equal(singular, plural.singularize) end end def test_camelize InflectorTest::CamelToUnderscore.each do |camel, underscore| assert_equal(camel, underscore.camelize) end end def test_underscore InflectorTest::CamelToUnderscore.each do |camel, underscore| assert_equal(underscore, camel.underscore) end assert_equal "html_tidy", "HTMLTidy".underscore assert_equal "html_tidy_generator", "HTMLTidyGenerator".underscore end def test_demodulize assert_equal "Account", Inflector.demodulize("MyApplication::Billing::Account") end def test_foreign_key InflectorTest::ClassNameToForeignKeyWithUnderscore.each do |klass, foreign_key| assert_equal(foreign_key, klass.foreign_key) end InflectorTest::ClassNameToForeignKeyWithoutUnderscore.each do |klass, foreign_key| assert_equal(foreign_key, klass.foreign_key(false)) end end def test_tableize InflectorTest::ClassNameToTableName.each do |class_name, table_name| assert_equal(table_name, class_name.tableize) end end def test_classify InflectorTest::ClassNameToTableName.each do |class_name, table_name| assert_equal(class_name, table_name.classify) end end end