Skip to content
Browse files

Extract InflectorTestCases so both inflector and string inflections t…

…ests can use them.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7655 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 935f821 commit db9b2f5c228289b3da82d231b985c910e12d969c @jeremy jeremy committed
View
1 activesupport/test/abstract_unit.rb
@@ -1,6 +1,7 @@
require 'test/unit'
$:.unshift "#{File.dirname(__FILE__)}/../lib"
+$:.unshift File.dirname(__FILE__)
require 'active_support'
# Wrap tests that use Mocha and skip if unavailable.
View
25 activesupport/test/core_ext/string_ext_test.rb
@@ -1,9 +1,12 @@
require 'date'
require File.dirname(__FILE__) + '/../abstract_unit'
+require 'inflector_test_cases'
class StringInflectionsTest < Test::Unit::TestCase
+ include InflectorTestCases
+
def test_pluralize
- InflectorTest::SingularToPlural.each do |singular, plural|
+ SingularToPlural.each do |singular, plural|
assert_equal(plural, singular.pluralize)
end
@@ -11,25 +14,25 @@ def test_pluralize
end
def test_singularize
- InflectorTest::SingularToPlural.each do |singular, plural|
+ SingularToPlural.each do |singular, plural|
assert_equal(singular, plural.singularize)
end
end
def test_titleize
- InflectorTest::MixtureToTitleCase.each do |before, titleized|
+ MixtureToTitleCase.each do |before, titleized|
assert_equal(titleized, before.titleize)
end
end
def test_camelize
- InflectorTest::CamelToUnderscore.each do |camel, underscore|
+ CamelToUnderscore.each do |camel, underscore|
assert_equal(camel, underscore.camelize)
end
end
def test_underscore
- InflectorTest::CamelToUnderscore.each do |camel, underscore|
+ CamelToUnderscore.each do |camel, underscore|
assert_equal(underscore, camel.underscore)
end
@@ -38,7 +41,7 @@ def test_underscore
end
def test_underscore_to_lower_camel
- InflectorTest::UnderscoreToLowerCamel.each do |underscored, lower_camel|
+ UnderscoreToLowerCamel.each do |underscored, lower_camel|
assert_equal(lower_camel, underscored.camelize(:lower))
end
end
@@ -48,29 +51,29 @@ def test_demodulize
end
def test_foreign_key
- InflectorTest::ClassNameToForeignKeyWithUnderscore.each do |klass, foreign_key|
+ ClassNameToForeignKeyWithUnderscore.each do |klass, foreign_key|
assert_equal(foreign_key, klass.foreign_key)
end
- InflectorTest::ClassNameToForeignKeyWithoutUnderscore.each do |klass, foreign_key|
+ 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|
+ 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|
+ ClassNameToTableName.each do |class_name, table_name|
assert_equal(class_name, table_name.classify)
end
end
def test_humanize
- InflectorTest::UnderscoreToHuman.each do |underscore, human|
+ UnderscoreToHuman.each do |underscore, human|
assert_equal(human, underscore.humanize)
end
end
View
208 activesupport/test/inflector_test.rb
@@ -1,4 +1,5 @@
require File.dirname(__FILE__) + '/abstract_unit'
+require 'inflector_test_cases'
module Ace
module Base
@@ -8,212 +9,7 @@ class Case
end
class InflectorTest < Test::Unit::TestCase
- SingularToPlural = {
- "search" => "searches",
- "switch" => "switches",
- "fix" => "fixes",
- "box" => "boxes",
- "process" => "processes",
- "address" => "addresses",
- "case" => "cases",
- "stack" => "stacks",
- "wish" => "wishes",
- "fish" => "fish",
-
- "category" => "categories",
- "query" => "queries",
- "ability" => "abilities",
- "agency" => "agencies",
- "movie" => "movies",
-
- "archive" => "archives",
-
- "index" => "indices",
-
- "wife" => "wives",
- "safe" => "saves",
- "half" => "halves",
-
- "move" => "moves",
-
- "salesperson" => "salespeople",
- "person" => "people",
-
- "spokesman" => "spokesmen",
- "man" => "men",
- "woman" => "women",
-
- "basis" => "bases",
- "diagnosis" => "diagnoses",
- "diagnosis_a" => "diagnosis_as",
-
- "datum" => "data",
- "medium" => "media",
- "analysis" => "analyses",
-
- "node_child" => "node_children",
- "child" => "children",
-
- "experience" => "experiences",
- "day" => "days",
-
- "comment" => "comments",
- "foobar" => "foobars",
- "newsletter" => "newsletters",
-
- "old_news" => "old_news",
- "news" => "news",
-
- "series" => "series",
- "species" => "species",
-
- "quiz" => "quizzes",
-
- "perspective" => "perspectives",
-
- "ox" => "oxen",
- "photo" => "photos",
- "buffalo" => "buffaloes",
- "tomato" => "tomatoes",
- "dwarf" => "dwarves",
- "elf" => "elves",
- "information" => "information",
- "equipment" => "equipment",
- "bus" => "buses",
- "status" => "statuses",
- "status_code" => "status_codes",
- "mouse" => "mice",
-
- "louse" => "lice",
- "house" => "houses",
- "octopus" => "octopi",
- "virus" => "viri",
- "alias" => "aliases",
- "portfolio" => "portfolios",
-
- "vertex" => "vertices",
- "matrix" => "matrices",
- "matrix_fu" => "matrix_fus",
-
- "axis" => "axes",
- "testis" => "testes",
- "crisis" => "crises",
-
- "rice" => "rice",
- "shoe" => "shoes",
-
- "horse" => "horses",
- "prize" => "prizes",
- "edge" => "edges",
-
- "cow" => "kine"
- }
-
- CamelToUnderscore = {
- "Product" => "product",
- "SpecialGuest" => "special_guest",
- "ApplicationController" => "application_controller",
- "Area51Controller" => "area51_controller"
- }
-
- UnderscoreToLowerCamel = {
- "product" => "product",
- "special_guest" => "specialGuest",
- "application_controller" => "applicationController",
- "area51_controller" => "area51Controller"
- }
-
- CamelToUnderscoreWithoutReverse = {
- "HTMLTidy" => "html_tidy",
- "HTMLTidyGenerator" => "html_tidy_generator",
- "FreeBSD" => "free_bsd",
- "HTML" => "html",
- }
-
- CamelWithModuleToUnderscoreWithSlash = {
- "Admin::Product" => "admin/product",
- "Users::Commission::Department" => "users/commission/department",
- "UsersSection::CommissionDepartment" => "users_section/commission_department",
- }
-
- ClassNameToForeignKeyWithUnderscore = {
- "Person" => "person_id",
- "MyApplication::Billing::Account" => "account_id"
- }
-
- ClassNameToForeignKeyWithoutUnderscore = {
- "Person" => "personid",
- "MyApplication::Billing::Account" => "accountid"
- }
-
- ClassNameToTableName = {
- "PrimarySpokesman" => "primary_spokesmen",
- "NodeChild" => "node_children"
- }
-
- UnderscoreToHuman = {
- "employee_salary" => "Employee salary",
- "employee_id" => "Employee",
- "underground" => "Underground"
- }
-
- MixtureToTitleCase = {
- 'active_record' => 'Active Record',
- 'ActiveRecord' => 'Active Record',
- 'action web service' => 'Action Web Service',
- 'Action Web Service' => 'Action Web Service',
- 'Action web service' => 'Action Web Service',
- 'actionwebservice' => 'Actionwebservice',
- 'Actionwebservice' => 'Actionwebservice'
- }
-
- OrdinalNumbers = {
- "0" => "0th",
- "1" => "1st",
- "2" => "2nd",
- "3" => "3rd",
- "4" => "4th",
- "5" => "5th",
- "6" => "6th",
- "7" => "7th",
- "8" => "8th",
- "9" => "9th",
- "10" => "10th",
- "11" => "11th",
- "12" => "12th",
- "13" => "13th",
- "14" => "14th",
- "20" => "20th",
- "21" => "21st",
- "22" => "22nd",
- "23" => "23rd",
- "24" => "24th",
- "100" => "100th",
- "101" => "101st",
- "102" => "102nd",
- "103" => "103rd",
- "104" => "104th",
- "110" => "110th",
- "111" => "111th",
- "112" => "112th",
- "113" => "113th",
- "1000" => "1000th",
- "1001" => "1001st"
- }
-
- UnderscoresToDashes = {
- "street" => "street",
- "street_address" => "street-address",
- "person_street_address" => "person-street-address"
- }
-
- Irregularities = {
- 'person' => 'people',
- 'man' => 'men',
- 'child' => 'children',
- 'sex' => 'sexes',
- 'move' => 'moves',
- }
+ include InflectorTestCases
def test_pluralize_plurals
assert_equal "plurals", Inflector.pluralize("plurals")
View
208 activesupport/test/inflector_test_cases.rb
@@ -0,0 +1,208 @@
+module InflectorTestCases
+ SingularToPlural = {
+ "search" => "searches",
+ "switch" => "switches",
+ "fix" => "fixes",
+ "box" => "boxes",
+ "process" => "processes",
+ "address" => "addresses",
+ "case" => "cases",
+ "stack" => "stacks",
+ "wish" => "wishes",
+ "fish" => "fish",
+
+ "category" => "categories",
+ "query" => "queries",
+ "ability" => "abilities",
+ "agency" => "agencies",
+ "movie" => "movies",
+
+ "archive" => "archives",
+
+ "index" => "indices",
+
+ "wife" => "wives",
+ "safe" => "saves",
+ "half" => "halves",
+
+ "move" => "moves",
+
+ "salesperson" => "salespeople",
+ "person" => "people",
+
+ "spokesman" => "spokesmen",
+ "man" => "men",
+ "woman" => "women",
+
+ "basis" => "bases",
+ "diagnosis" => "diagnoses",
+ "diagnosis_a" => "diagnosis_as",
+
+ "datum" => "data",
+ "medium" => "media",
+ "analysis" => "analyses",
+
+ "node_child" => "node_children",
+ "child" => "children",
+
+ "experience" => "experiences",
+ "day" => "days",
+
+ "comment" => "comments",
+ "foobar" => "foobars",
+ "newsletter" => "newsletters",
+
+ "old_news" => "old_news",
+ "news" => "news",
+
+ "series" => "series",
+ "species" => "species",
+
+ "quiz" => "quizzes",
+
+ "perspective" => "perspectives",
+
+ "ox" => "oxen",
+ "photo" => "photos",
+ "buffalo" => "buffaloes",
+ "tomato" => "tomatoes",
+ "dwarf" => "dwarves",
+ "elf" => "elves",
+ "information" => "information",
+ "equipment" => "equipment",
+ "bus" => "buses",
+ "status" => "statuses",
+ "status_code" => "status_codes",
+ "mouse" => "mice",
+
+ "louse" => "lice",
+ "house" => "houses",
+ "octopus" => "octopi",
+ "virus" => "viri",
+ "alias" => "aliases",
+ "portfolio" => "portfolios",
+
+ "vertex" => "vertices",
+ "matrix" => "matrices",
+ "matrix_fu" => "matrix_fus",
+
+ "axis" => "axes",
+ "testis" => "testes",
+ "crisis" => "crises",
+
+ "rice" => "rice",
+ "shoe" => "shoes",
+
+ "horse" => "horses",
+ "prize" => "prizes",
+ "edge" => "edges",
+
+ "cow" => "kine"
+ }
+
+ CamelToUnderscore = {
+ "Product" => "product",
+ "SpecialGuest" => "special_guest",
+ "ApplicationController" => "application_controller",
+ "Area51Controller" => "area51_controller"
+ }
+
+ UnderscoreToLowerCamel = {
+ "product" => "product",
+ "special_guest" => "specialGuest",
+ "application_controller" => "applicationController",
+ "area51_controller" => "area51Controller"
+ }
+
+ CamelToUnderscoreWithoutReverse = {
+ "HTMLTidy" => "html_tidy",
+ "HTMLTidyGenerator" => "html_tidy_generator",
+ "FreeBSD" => "free_bsd",
+ "HTML" => "html",
+ }
+
+ CamelWithModuleToUnderscoreWithSlash = {
+ "Admin::Product" => "admin/product",
+ "Users::Commission::Department" => "users/commission/department",
+ "UsersSection::CommissionDepartment" => "users_section/commission_department",
+ }
+
+ ClassNameToForeignKeyWithUnderscore = {
+ "Person" => "person_id",
+ "MyApplication::Billing::Account" => "account_id"
+ }
+
+ ClassNameToForeignKeyWithoutUnderscore = {
+ "Person" => "personid",
+ "MyApplication::Billing::Account" => "accountid"
+ }
+
+ ClassNameToTableName = {
+ "PrimarySpokesman" => "primary_spokesmen",
+ "NodeChild" => "node_children"
+ }
+
+ UnderscoreToHuman = {
+ "employee_salary" => "Employee salary",
+ "employee_id" => "Employee",
+ "underground" => "Underground"
+ }
+
+ MixtureToTitleCase = {
+ 'active_record' => 'Active Record',
+ 'ActiveRecord' => 'Active Record',
+ 'action web service' => 'Action Web Service',
+ 'Action Web Service' => 'Action Web Service',
+ 'Action web service' => 'Action Web Service',
+ 'actionwebservice' => 'Actionwebservice',
+ 'Actionwebservice' => 'Actionwebservice'
+ }
+
+ OrdinalNumbers = {
+ "0" => "0th",
+ "1" => "1st",
+ "2" => "2nd",
+ "3" => "3rd",
+ "4" => "4th",
+ "5" => "5th",
+ "6" => "6th",
+ "7" => "7th",
+ "8" => "8th",
+ "9" => "9th",
+ "10" => "10th",
+ "11" => "11th",
+ "12" => "12th",
+ "13" => "13th",
+ "14" => "14th",
+ "20" => "20th",
+ "21" => "21st",
+ "22" => "22nd",
+ "23" => "23rd",
+ "24" => "24th",
+ "100" => "100th",
+ "101" => "101st",
+ "102" => "102nd",
+ "103" => "103rd",
+ "104" => "104th",
+ "110" => "110th",
+ "111" => "111th",
+ "112" => "112th",
+ "113" => "113th",
+ "1000" => "1000th",
+ "1001" => "1001st"
+ }
+
+ UnderscoresToDashes = {
+ "street" => "street",
+ "street_address" => "street-address",
+ "person_street_address" => "person-street-address"
+ }
+
+ Irregularities = {
+ 'person' => 'people',
+ 'man' => 'men',
+ 'child' => 'children',
+ 'sex' => 'sexes',
+ 'move' => 'moves',
+ }
+end

0 comments on commit db9b2f5

Please sign in to comment.
Something went wrong with that request. Please try again.