Permalink
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...
jeremy committed Sep 27, 2007
1 parent 935f821 commit db9b2f5c228289b3da82d231b985c910e12d969c
@@ -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.
@@ -1,35 +1,38 @@
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
assert_equal("plurals", "plurals".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
@@ -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")
Oops, something went wrong.

0 comments on commit db9b2f5

Please sign in to comment.