Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 8570

Show
Ignore:
Timestamp:
01/05/08 13:34:15 (2 years ago)
Author:
bitsweat
Message:

* Continue evolution toward ActiveSupport::TestCase and friends. #10679 [Josh Peek]

* TestCase: introduce declared setup and teardown callbacks. Pass a list of methods and an optional block to call before setup or after teardown. Setup callbacks are run in the order declared; teardown callbacks are run in reverse. [Jeremy Kemper]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionmailer/lib/action_mailer/test_case.rb

    r8536 r8570  
    99    end 
    1010  end 
    11   # New Test Super class for forward compatibility. 
    12   # To override 
     11 
    1312  class TestCase < ActiveSupport::TestCase 
    1413    include ActionMailer::Quoting 
     14 
     15    setup :initialize_test_deliveries 
     16    setup :set_expected_mail 
    1517 
    1618    class << self 
     
    3436    end 
    3537 
    36     def setup_with_mailer 
    37       ActionMailer::Base.delivery_method = :test 
    38       ActionMailer::Base.perform_deliveries = true 
    39       ActionMailer::Base.deliveries = [] 
     38    protected 
     39      def initialize_test_deliveries 
     40        ActionMailer::Base.delivery_method = :test 
     41        ActionMailer::Base.perform_deliveries = true 
     42        ActionMailer::Base.deliveries = [] 
     43      end 
    4044 
    41       @expected = TMail::Mail.new 
    42       @expected.set_content_type "text", "plain", { "charset" => charset } 
    43       @expected.mime_version = '1.0' 
    44     end 
    45     alias_method :setup, :setup_with_mailer 
    46  
    47     def self.method_added(method) 
    48       if method.to_s == 'setup' 
    49         unless method_defined?(:setup_without_mailer) 
    50           alias_method :setup_without_mailer, :setup 
    51           define_method(:setup) do 
    52             setup_with_mailer 
    53             setup_without_mailer 
    54           end 
    55         end 
     45      def set_expected_mail 
     46        @expected = TMail::Mail.new 
     47        @expected.set_content_type "text", "plain", { "charset" => charset } 
     48        @expected.mime_version = '1.0' 
    5649      end 
    57     end 
    5850 
    5951    private 
  • trunk/actionmailer/test/test_helper_test.rb

    r8565 r8570  
    1010 
    1111class TestHelperMailerTest < ActionMailer::TestCase 
    12  
    1312  def test_setup_sets_right_action_mailer_options 
    1413    assert_equal :test, ActionMailer::Base.delivery_method 
     
    118117 
    119118class AnotherTestHelperMailerTest < ActionMailer::TestCase 
    120  
    121119  tests TestHelperMailer 
    122120 
    123121  def setup 
    124     # Should not override ActionMailer setup methods 
    125122    @test_var = "a value" 
    126123  end 
    127124 
    128   def test_should_still_setup_mailer 
     125  def test_setup_shouldnt_conflict_with_mailer_setup 
    129126    assert @expected.is_a?(TMail::Mail) 
    130   end 
    131    
    132   def test_should_run_overridden_setup_method 
    133     assert @test_var 
     127    assert_equal 'a value', @test_var 
    134128  end 
    135129end 
  • trunk/actionpack/lib/action_controller/test_case.rb

    r8497 r8570  
    1111 
    1212  class TestCase < ActiveSupport::TestCase 
     13    module RaiseActionExceptions 
     14      def rescue_action(e) 
     15        raise e 
     16      end 
     17    end 
     18 
     19    setup :setup_controller_request_and_response 
     20 
    1321    @@controller_class = nil 
     22 
    1423    class << self 
    1524      def tests(controller_class) 
     
    2635          current_controller_class 
    2736        else 
    28           self.controller_class= determine_default_controller_class(name) 
     37          self.controller_class = determine_default_controller_class(name) 
    2938        end 
    3039      end 
     
    3746 
    3847      def prepare_controller_class(new_class) 
    39         new_class.class_eval do 
    40           def rescue_action(e) 
    41             raise e 
    42           end 
    43         end 
     48        new_class.send :include, RaiseActionExceptions 
    4449      end 
    4550    end 
    4651 
    47     def setup_with_controller 
     52    def setup_controller_request_and_response 
    4853      @controller = self.class.controller_class.new 
    4954      @request    = TestRequest.new 
    5055      @response   = TestResponse.new 
    5156    end 
    52     alias_method :setup, :setup_with_controller 
    53  
    54     def self.method_added(method) 
    55       if method.to_s == 'setup' 
    56         unless method_defined?(:setup_without_controller) 
    57           alias_method :setup_without_controller, :setup 
    58           define_method(:setup) do 
    59             setup_with_controller 
    60             setup_without_controller 
    61           end 
    62         end 
    63       end 
    64     end 
    6557 end 
    6658end 
  • trunk/actionpack/lib/action_controller/test_process.rb

    r8499 r8570  
    11require 'action_controller/assertions' 
     2require 'action_controller/test_case' 
    23 
    34module ActionController #:nodoc: 
  • trunk/actionpack/test/active_record_unit.rb

    r8564 r8570  
    8585end 
    8686 
    87 class ActiveRecordTestCase < Test::Unit::TestCase 
     87class ActiveRecordTestCase < ActiveSupport::TestCase 
    8888  # Set our fixture path 
    8989  if ActiveRecordTestConnector.able_to_connect 
  • trunk/actionpack/test/controller/test_test.rb

    r8564 r8570  
    614614end 
    615615 
    616 class ContentControllerTest < ActionController::TestCase 
    617   def setup 
    618     # Should not override ActionController setup methods 
    619   end 
    620  
    621   def test_should_still_setup_controller 
    622     assert_kind_of(ContentController, @controller) 
    623   end 
    624 end 
    625  
    626616class CrazyNameTest < ActionController::TestCase 
    627617  tests ContentController 
     618 
    628619  def test_controller_class_can_be_set_manually_not_just_inferred 
    629620    assert_equal ContentController, self.class.controller_class 
  • trunk/activerecord/lib/active_record/fixtures.rb

    r8561 r8570  
    22require 'yaml' 
    33require 'csv' 
    4  
    5 module YAML #:nodoc: 
    6   class Omap #:nodoc: 
    7     def keys;   map { |k, v| k } end 
    8     def values; map { |k, v| v } end 
     4require 'active_support/test_case' 
     5 
     6if RUBY_VERSION < '1.9' 
     7  module YAML #:nodoc: 
     8    class Omap #:nodoc: 
     9      def keys;   map { |k, v| k } end 
     10      def values; map { |k, v| v } end 
     11    end 
    912  end 
    1013end 
     
    3033# 
    3134# Unlike single-file fixtures, YAML fixtures are stored in a single file per model, which are placed in the directory appointed 
    32 # by <tt>Test::Unit::TestCase.fixture_path=(path)</tt> (this is automatically configured for Rails, so you can just 
     35# by <tt>ActiveSupport::TestCase.fixture_path=(path)</tt> (this is automatically configured for Rails, so you can just 
    3336# put your files in <your-rails-app>/test/fixtures/). The fixture file ends with the .yml file extension (Rails example: 
    3437# "<your-rails-app>/test/fixtures/web_sites.yml"). The format of a YAML fixture file looks like this: 
     
    9093# This type of fixture was the original format for Active Record that has since been deprecated in favor of the YAML and CSV formats. 
    9194# Fixtures for this format are created by placing text files in a sub-directory (with the name of the model) to the directory 
    92 # appointed by <tt>Test::Unit::TestCase.fixture_path=(path)</tt> (this is automatically configured for Rails, so you can just 
     95# appointed by <tt>ActiveSupport::TestCase.fixture_path=(path)</tt> (this is automatically configured for Rails, so you can just 
    9396# put your files in <your-rails-app>/test/fixtures/<your-model-name>/ -- like <your-rails-app>/test/fixtures/web_sites/ for the WebSite 
    9497# model). 
     
    116119#   require 'web_site' 
    117120# 
    118 #   class WebSiteTest < Test::Unit::TestCase 
     121#   class WebSiteTest < ActiveSupport::TestCase 
    119122#     def test_web_site_count 
    120123#       assert_equal 2, WebSite.count 
     
    126129# 
    127130#   ... 
    128 #   class WebSiteTest < Test::Unit::TestCase 
     131#   class WebSiteTest < ActiveSupport::TestCase 
    129132#     fixtures :web_sites # add more by separating the symbols with commas 
    130133#   ... 
     
    192195# They can also turn off auto-instantiation of fixture data since the feature is costly and often unused. 
    193196# 
    194 #   class FooTest < Test::Unit::TestCase 
     197#   class FooTest < ActiveSupport::TestCase 
    195198#     self.use_transactional_fixtures = true 
    196199#     self.use_instantiated_fixtures = false 
     
    843846  module Unit #:nodoc: 
    844847    class TestCase #:nodoc: 
     848      setup :setup_fixtures 
     849      teardown :teardown_fixtures 
     850 
    845851      superclass_delegating_accessor :fixture_path 
    846852      superclass_delegating_accessor :fixture_table_names 
     
    858864      self.fixture_class_names = {} 
    859865 
    860       def self.set_fixture_class(class_names = {}) 
    861         self.fixture_class_names = self.fixture_class_names.merge(class_names) 
    862       end 
    863  
    864       def self.fixtures(*table_names) 
    865         if table_names.first == :all 
    866           table_names = Dir["#{fixture_path}/*.yml"] + Dir["#{fixture_path}/*.csv"] 
    867           table_names.map! { |f| File.basename(f).split('.')[0..-2].join('.') } 
    868         else 
    869           table_names = table_names.flatten.map { |n| n.to_s } 
    870         end 
    871  
    872         self.fixture_table_names |= table_names 
    873         require_fixture_classes(table_names) 
    874         setup_fixture_accessors(table_names) 
    875       end 
    876  
    877       def self.require_fixture_classes(table_names = nil) 
    878         (table_names || fixture_table_names).each do |table_name| 
    879           file_name = table_name.to_s 
    880           file_name = file_name.singularize if ActiveRecord::Base.pluralize_table_names 
    881           begin 
    882             require_dependency file_name 
    883           rescue LoadError 
    884             # Let's hope the developer has included it himself 
    885           end 
    886         end 
    887       end 
    888  
    889       def self.setup_fixture_accessors(table_names = nil) 
    890         table_names = [table_names] if table_names && !table_names.respond_to?(:each) 
    891         (table_names || fixture_table_names).each do |table_name| 
    892           table_name = table_name.to_s.tr('.', '_') 
    893  
    894           define_method(table_name) do |*fixtures| 
    895             force_reload = fixtures.pop if fixtures.last == true || fixtures.last == :reload 
    896  
    897             @fixture_cache[table_name] ||= {} 
    898  
    899             instances = fixtures.map do |fixture| 
    900               @fixture_cache[table_name].delete(fixture) if force_reload 
    901  
    902               if @loaded_fixtures[table_name][fixture.to_s] 
    903                 @fixture_cache[table_name][fixture] ||= @loaded_fixtures[table_name][fixture.to_s].find 
    904               else 
    905                 raise StandardError, "No fixture with name '#{fixture}' found for table '#{table_name}'" 
     866      class << self 
     867        def set_fixture_class(class_names = {}) 
     868          self.fixture_class_names = self.fixture_class_names.merge(class_names) 
     869        end 
     870 
     871        def fixtures(*table_names) 
     872          if table_names.first == :all 
     873            table_names = Dir["#{fixture_path}/*.yml"] + Dir["#{fixture_path}/*.csv"] 
     874            table_names.map! { |f| File.basename(f).split('.')[0..-2].join('.') } 
     875          else 
     876            table_names = table_names.flatten.map { |n| n.to_s } 
     877          end 
     878 
     879          self.fixture_table_names |= table_names 
     880          require_fixture_classes(table_names) 
     881          setup_fixture_accessors(table_names) 
     882        end 
     883 
     884        def require_fixture_classes(table_names = nil) 
     885          (table_names || fixture_table_names).each do |table_name| 
     886            file_name = table_name.to_s 
     887            file_name = file_name.singularize if ActiveRecord::Base.pluralize_table_names 
     888            begin 
     889              require_dependency file_name 
     890            rescue LoadError 
     891              # Let's hope the developer has included it himself 
     892            end 
     893          end 
     894        end 
     895 
     896        def setup_fixture_accessors(table_names = nil) 
     897          table_names = [table_names] if table_names && !table_names.respond_to?(:each) 
     898          (table_names || fixture_table_names).each do |table_name| 
     899            table_name = table_name.to_s.tr('.', '_') 
     900 
     901            define_method(table_name) do |*fixtures| 
     902              force_reload = fixtures.pop if fixtures.last == true || fixtures.last == :reload 
     903 
     904              @fixture_cache[table_name] ||= {} 
     905 
     906              instances = fixtures.map do |fixture| 
     907                @fixture_cache[table_name].delete(fixture) if force_reload 
     908 
     909                if @loaded_fixtures[table_name][fixture.to_s] 
     910                  @fixture_cache[table_name][fixture] ||= @loaded_fixtures[table_name][fixture.to_s].find 
     911                else 
     912                  raise StandardError, "No fixture with name '#{fixture}' found for table '#{table_name}'" 
     913                end 
    906914              end 
     915 
     916              instances.size == 1 ? instances.first : instances 
    907917            end 
    908  
    909             instances.size == 1 ? instances.first : instances 
    910           end 
    911         end 
    912       end 
    913  
    914       def self.uses_transaction(*methods) 
    915         @uses_transaction = [] unless defined?(@uses_transaction) 
    916         @uses_transaction.concat methods.map(&:to_s) 
    917       end 
    918  
    919       def self.uses_transaction?(method) 
    920         @uses_transaction = [] unless defined?(@uses_transaction) 
    921         @uses_transaction.include?(method.to_s) 
     918          end 
     919        end 
     920 
     921        def uses_transaction(*methods) 
     922          @uses_transaction = [] unless defined?(@uses_transaction) 
     923          @uses_transaction.concat methods.map(&:to_s) 
     924        end 
     925 
     926        def uses_transaction?(method) 
     927          @uses_transaction = [] unless defined?(@uses_transaction) 
     928          @uses_transaction.include?(method.to_s) 
     929        end 
    922930      end 
    923931 
     
    927935      end 
    928936 
    929       def setup_with_fixtures 
    930         return unless defined?(ActiveRecord::Base) && !ActiveRecord::Base.configurations.blank? 
     937      def setup_fixtures 
     938        return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank? 
    931939 
    932940        if pre_loaded_fixtures && !use_transactional_fixtures 
     
    956964        instantiate_fixtures if use_instantiated_fixtures 
    957965      end 
    958       alias_method :setup, :setup_with_fixtures 
    959  
    960       def teardown_with_fixtures 
    961         return unless defined?(ActiveRecord::Base) && !ActiveRecord::Base.configurations.blank? 
     966 
     967      def teardown_fixtures 
     968        return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank? 
    962969 
    963970        unless use_transactional_fixtures? 
     
    971978        end 
    972979        ActiveRecord::Base.verify_active_connections! 
    973       end 
    974       alias_method :teardown, :teardown_with_fixtures 
    975  
    976       def self.method_added(method) 
    977         case method.to_s 
    978         when 'setup' 
    979           unless method_defined?(:setup_without_fixtures) 
    980             alias_method :setup_without_fixtures, :setup 
    981             define_method(:setup) do 
    982               setup_with_fixtures 
    983               setup_without_fixtures 
    984             end 
    985           end 
    986         when 'teardown' 
    987           unless method_defined?(:teardown_without_fixtures) 
    988             alias_method :teardown_without_fixtures, :teardown 
    989             define_method(:teardown) do 
    990               teardown_without_fixtures 
    991               teardown_with_fixtures 
    992             end 
    993           end 
    994         end 
    995980      end 
    996981 
  • trunk/activerecord/test/aaa_create_tables_test.rb

    r8365 r8570  
    22require 'abstract_unit' 
    33 
    4 class AAACreateTablesTest < Test::Unit::TestCase 
     4class AAACreateTablesTest < ActiveSupport::TestCase 
    55  self.use_transactional_fixtures = false 
    66 
  • trunk/activerecord/test/abstract_unit.rb

    r8060 r8570  
    1414QUOTED_TYPE = ActiveRecord::Base.connection.quote_column_name('type') unless Object.const_defined?(:QUOTED_TYPE) 
    1515 
    16 class Test::Unit::TestCase #:nodoc: 
     16class ActiveSupport::TestCase #:nodoc: 
    1717  self.fixture_path = File.dirname(__FILE__) + "/fixtures/" 
    1818  self.use_instantiated_fixtures = false 
  • trunk/activerecord/test/active_schema_test_mysql.rb

    r8481 r8570  
    11require 'abstract_unit' 
    22 
    3 class ActiveSchemaTest < Test::Unit::TestCase 
     3class ActiveSchemaTest < ActiveSupport::TestCase 
    44  def setup 
    55    ActiveRecord::ConnectionAdapters::MysqlAdapter.class_eval do 
  • trunk/activerecord/test/adapter_test_sqlserver.rb

    r6297 r8570  
    44require 'fixtures/task' 
    55 
    6 class SqlServerAdapterTest < Test::Unit::TestCase 
     6class SqlServerAdapterTest < ActiveSupport::TestCase 
    77  class TableWithRealColumn < ActiveRecord::Base; end 
    88 
  • trunk/activerecord/test/adapter_test.rb

    r8481 r8570  
    11require 'abstract_unit' 
    22 
    3 class AdapterTest < Test::Unit::TestCase 
     3class AdapterTest < ActiveSupport::TestCase 
    44  def setup 
    55    @connection = ActiveRecord::Base.connection 
  • trunk/activerecord/test/aggregations_test.rb

    r8510 r8570  
    22require 'fixtures/customer' 
    33 
    4 class AggregationsTest < Test::Unit::TestCase 
     4class AggregationsTest < ActiveSupport::TestCase 
    55  fixtures :customers 
    66 
     
    110110end 
    111111 
    112 class OverridingAggregationsTest < Test::Unit::TestCase 
     112class OverridingAggregationsTest < ActiveSupport::TestCase 
    113113  class Name; end 
    114114  class DifferentName; end 
  • trunk/activerecord/test/ar_schema_test.rb

    r2817 r8570  
    44if ActiveRecord::Base.connection.supports_migrations?  
    55 
    6   class ActiveRecordSchemaTest < Test::Unit::TestCase 
     6  class ActiveRecordSchemaTest < ActiveSupport::TestCase 
    77    self.use_transactional_fixtures = false 
    88 
  • trunk/activerecord/test/association_inheritance_reload.rb

    r511 r8570  
    22require 'fixtures/company' 
    33 
    4 class AssociationInheritanceReloadTest < Test::Unit::TestCase 
     4class AssociationInheritanceReloadTest < ActiveSupport::TestCase 
    55  fixtures :companies 
    66 
  • trunk/activerecord/test/associations_test.rb

    r8504 r8570  
    1818require 'fixtures/reader' 
    1919 
    20 class AssociationsTest < Test::Unit::TestCase 
     20class AssociationsTest < ActiveSupport::TestCase 
    2121  fixtures :accounts, :companies, :developers, :projects, :developers_projects, 
    2222           :computers 
     
    7474end 
    7575  
    76 class AssociationProxyTest < Test::Unit::TestCase 
     76class AssociationProxyTest < ActiveSupport::TestCase 
    7777  fixtures :authors, :posts, :categorizations, :categories, :developers, :projects, :developers_projects 
    7878   
     
    167167end 
    168168 
    169 class HasOneAssociationsTest < Test::Unit::TestCase 
     169class HasOneAssociationsTest < ActiveSupport::TestCase 
    170170  fixtures :accounts, :companies, :developers, :projects, :developers_projects 
    171171 
     
    464464 
    465465 
    466 class HasManyAssociationsTest < Test::Unit::TestCase 
     466class HasManyAssociationsTest < ActiveSupport::TestCase 
    467467  fixtures :accounts, :companies, :developers, :projects, 
    468468           :developers_projects, :topics, :authors, :comments 
     
    11971197end 
    11981198 
    1199 class BelongsToAssociationsTest < Test::Unit::TestCase 
     1199class BelongsToAssociationsTest < ActiveSupport::TestCase 
    12001200  fixtures :accounts, :companies, :developers, :projects, :topics, 
    12011201           :developers_projects, :computers, :authors, :posts, :tags, :taggings 
     
    15731573 
    15741574 
    1575 class HasAndBelongsToManyAssociationsTest < Test::Unit::TestCase 
     1575class HasAndBelongsToManyAssociationsTest < ActiveSupport::TestCase 
    15761576  fixtures :accounts, :companies, :categories, :posts, :categories_posts, :developers, :projects, :developers_projects 
    15771577 
     
    21132113 
    21142114 
    2115 class OverridingAssociationsTest < Test::Unit::TestCase 
     2115class OverridingAssociationsTest < ActiveSupport::TestCase 
    21162116  class Person < ActiveRecord::Base; end 
    21172117  class DifferentPerson < ActiveRecord::Base; end 
  • trunk/activerecord/test/associations/callbacks_test.rb

    r8481 r8570  
    77require 'fixtures/developer' 
    88 
    9 class AssociationCallbacksTest < Test::Unit::TestCase 
     9class AssociationCallbacksTest < ActiveSupport::TestCase 
    1010  fixtures :posts, :authors, :projects, :developers 
    1111 
  • trunk/activerecord/test/associations/cascaded_eager_loading_test.rb

    r7460 r8570  
    99require 'fixtures/reply' 
    1010 
    11 class CascadedEagerLoadingTest < Test::Unit::TestCase 
     11class CascadedEagerLoadingTest < ActiveSupport::TestCase 
    1212  fixtures :authors, :mixins, :companies, :posts, :topics 
    1313 
     
    9696require 'fixtures/vertex' 
    9797require 'fixtures/edge' 
    98 class CascadedEagerLoadingTest < Test::Unit::TestCase 
     98class CascadedEagerLoadingTest < ActiveSupport::TestCase 
    9999  fixtures :edges, :vertices 
    100100 
  • trunk/activerecord/test/associations/eager_singularization_test.rb

    r6406 r8570  
    4040 
    4141 
    42 class EagerSingularizationTest < Test::Unit::TestCase 
     42class EagerSingularizationTest < ActiveSupport::TestCase 
    4343 
    4444  def setup 
  • trunk/activerecord/test/associations/eager_test.rb

    r8456 r8570  
    88require 'fixtures/reader' 
    99 
    10 class EagerAssociationTest < Test::Unit::TestCase 
     10class EagerAssociationTest < ActiveSupport::TestCase 
    1111  fixtures :posts, :comments, :authors, :categories, :categories_posts, 
    1212            :companies, :accounts, :tags, :people, :readers 
  • trunk/activerecord/test/associations/extension_test.rb

    r7504 r8570  
    55require 'fixtures/developer' 
    66 
    7 class AssociationsExtensionsTest < Test::Unit::TestCase 
     7class AssociationsExtensionsTest < ActiveSupport::TestCase 
    88  fixtures :projects, :developers, :developers_projects, :comments, :posts 
    99 
  • trunk/activerecord/test/associations/inner_join_association_test.rb

    r8499 r8570  
    66require 'fixtures/categorization' 
    77 
    8 class InnerJoinAssociationTest < Test::Unit::TestCase 
     8class InnerJoinAssociationTest < ActiveSupport::TestCase 
    99  fixtures :authors, :posts, :comments, :categories, :categories_posts, :categorizations 
    1010 
  • trunk/activerecord/test/associations/join_model_test.rb

    r8481 r8570  
    1313require 'fixtures/citation' 
    1414 
    15 class AssociationsJoinModelTest < Test::Unit::TestCase 
     15class AssociationsJoinModelTest < ActiveSupport::TestCase 
    1616  self.use_transactional_fixtures = false 
    1717  fixtures :posts, :authors, :categories, :categorizations, :comments, :tags, :taggings, :author_favorites, :vertices, :items, :books 
  • trunk/activerecord/test/attribute_methods_test.rb

    r7752 r8570  
    22require 'fixtures/topic' 
    33 
    4 class AttributeMethodsTest < Test::Unit::TestCase 
     4class AttributeMethodsTest < ActiveSupport::TestCase 
    55  fixtures :topics 
    66  def setup 
  • trunk/activerecord/test/base_test.rb

    r8554 r8570  
    7171end 
    7272 
    73 class BasicsTest < Test::Unit::TestCase 
     73class BasicsTest < ActiveSupport::TestCase 
    7474  fixtures :topics, :companies, :developers, :projects, :computers, :accounts, :minimalistics 
    7575 
  • trunk/activerecord/test/binary_test.rb

    r8185 r8570  
    1111  require 'fixtures/binary' 
    1212 
    13   class BinaryTest < Test::Unit::TestCase 
     13  class BinaryTest < ActiveSupport::TestCase 
    1414    FIXTURES = %w(flowers.jpg example.log) 
    1515 
  • trunk/activerecord/test/calculations_test.rb

    r7192 r8570  
    99end 
    1010 
    11 class CalculationsTest < Test::Unit::TestCase 
     11class CalculationsTest < ActiveSupport::TestCase 
    1212  fixtures :companies, :accounts, :topics 
    1313 
  • trunk/activerecord/test/callbacks_test.rb

    r6026 r8570  
    127127end 
    128128 
    129 class CallbacksTest < Test::Unit::TestCase 
     129class CallbacksTest < ActiveSupport::TestCase 
    130130  fixtures :developers 
    131131 
  • trunk/activerecord/test/class_inheritable_attributes_test.rb

    r3493 r8570  
    2020 
    2121 
    22 class ClassInheritableAttributesTest < Test::Unit::TestCase 
     22class ClassInheritableAttributesTest < ActiveSupport::TestCase 
    2323  def test_first_level 
    2424    assert_equal [ :one, :two ], B.read_inheritable_attribute("first") 
  • trunk/activerecord/test/column_alias_test.rb

    r3718 r8570  
    22require 'fixtures/topic' 
    33 
    4 class TestColumnAlias < Test::Unit::TestCase 
     4class TestColumnAlias < ActiveSupport::TestCase 
    55  fixtures :topics 
    66 
  • trunk/activerecord/test/connection_test_firebird.rb

    r6838 r8570  
    11require "#{File.dirname(__FILE__)}/abstract_unit" 
    22 
    3 class FirebirdConnectionTest < Test::Unit::TestCase 
     3class FirebirdConnectionTest < ActiveSupport::TestCase 
    44  def test_charset_properly_set 
    55    fb_conn = ActiveRecord::Base.connection.instance_variable_get(:@connection) 
  • trunk/activerecord/test/connection_test_mysql.rb

    r7667 r8570  
    11require "#{File.dirname(__FILE__)}/abstract_unit" 
    22 
    3 class MysqlConnectionTest < Test::Unit::TestCase 
     3class MysqlConnectionTest < ActiveSupport::TestCase 
    44  def setup 
    55    @connection = ActiveRecord::Base.connection 
  • trunk/activerecord/test/copy_table_test_sqlite.rb

    r7484 r8570  
    11require 'abstract_unit' 
    22 
    3 class CopyTableTest < Test::Unit::TestCase 
     3class CopyTableTest < ActiveSupport::TestCase 
    44  fixtures :companies, :comments 
    55   
  • trunk/activerecord/test/datatype_test_postgresql.rb

    r7329 r8570  
    2222end 
    2323 
    24 class PostgresqlDataTypeTest < Test::Unit::TestCase 
     24class PostgresqlDataTypeTest < ActiveSupport::TestCase 
    2525  self.use_transactional_fixtures = false 
    2626 
  • trunk/activerecord/test/date_time_test.rb

    r8326 r8570  
    33require 'fixtures/task' 
    44 
    5 class DateTimeTest < Test::Unit::TestCase 
     5class DateTimeTest < ActiveSupport::TestCase 
    66  def test_saves_both_date_and_time 
    77    time_values = [1807, 2, 10, 15, 30, 45] 
  • trunk/activerecord/test/default_test_firebird.rb

    r3052 r8570  
    22require 'fixtures/default' 
    33 
    4 class DefaultTest < Test::Unit::TestCase 
     4class DefaultTest < ActiveSupport::TestCase 
    55  def test_default_timestamp 
    66    default = Default.new 
  • trunk/activerecord/test/defaults_test.rb

    r8272 r8570  
    33require 'fixtures/entrant' 
    44 
    5 class DefaultTest < Test::Unit::TestCase 
     5class DefaultTest < ActiveSupport::TestCase 
    66  def test_nil_defaults_for_not_null_columns 
    77    column_defaults = 
  • trunk/activerecord/test/deprecated_finder_test.rb

    r6998 r8570  
    22require 'fixtures/entrant' 
    33 
    4 class DeprecatedFinderTest < Test::Unit::TestCase 
     4class DeprecatedFinderTest < ActiveSupport::TestCase 
    55  fixtures :entrants 
    66 
  • trunk/activerecord/test/finder_test.rb

    r8375 r8570  
    99require 'fixtures/post' 
    1010 
    11 class FinderTest < Test::Unit::TestCase 
     11class FinderTest < ActiveSupport::TestCase 
    1212  fixtures :companies, :topics, :entrants, :developers, :developers_projects, :posts, :comments, :accounts, :authors 
    1313 
  • trunk/activerecord/test/fixtures_test.rb

    r8445 r8570  
    1717require 'fixtures/ship' 
    1818 
    19 class FixturesTest < Test::Unit::TestCase 
     19class FixturesTest < ActiveSupport::TestCase 
    2020  self.use_instantiated_fixtures = true 
    2121  self.use_transactional_fixtures = false 
     
    205205 
    206206if Account.connection.respond_to?(:reset_pk_sequence!) 
    207   class FixturesResetPkSequenceTest < Test::Unit::TestCase 
     207  class FixturesResetPkSequenceTest < ActiveSupport::TestCase 
    208208    fixtures :accounts 
    209209    fixtures :companies 
     
    251251end 
    252252 
    253 class FixturesWithoutInstantiationTest < Test::Unit::TestCase 
     253class FixturesWithoutInstantiationTest < ActiveSupport::TestCase 
    254254  self.use_instantiated_fixtures = false 
    255255  fixtures :topics, :developers, :accounts 
     
    286286end 
    287287 
    288 class FixturesWithoutInstanceInstantiationTest < Test::Unit::TestCase 
     288class FixturesWithoutInstanceInstantiationTest < ActiveSupport::TestCase 
    289289  self.use_instantiated_fixtures = true 
    290290  self.use_instantiated_fixtures = :no_instances 
     
    300300end 
    301301 
    302 class TransactionalFixturesTest < Test::Unit::TestCase 
     302class TransactionalFixturesTest < ActiveSupport::TestCase 
    303303  self.use_instantiated_fixtures = true 
    304304  self.use_transactional_fixtures = true 
     
    316316end 
    317317 
    318 class MultipleFixturesTest < Test::Unit::TestCase 
     318class MultipleFixturesTest < ActiveSupport::TestCase 
    319319  fixtures :topics 
    320320  fixtures :developers, :accounts 
     
    325325end 
    326326 
    327 class SetupTest < Test::Unit::TestCase 
     327class SetupTest < ActiveSupport::TestCase 
    328328  # fixtures :topics 
    329329   
     
    349349 
    350350 
    351 class OverlappingFixturesTest < Test::Unit::TestCase 
     351class OverlappingFixturesTest < ActiveSupport::TestCase 
    352352  fixtures :topics, :developers 
    353353  fixtures :developers, :accounts 
     
    358358end 
    359359 
    360 class ForeignKeyFixturesTest < Test::Unit::TestCase 
     360class ForeignKeyFixturesTest < ActiveSupport::TestCase 
    361361  fixtures :fk_test_has_pk, :fk_test_has_fk 
    362362 
     
    374374end 
    375375 
    376 class SetTableNameFixturesTest < Test::Unit::TestCase 
     376class SetTableNameFixturesTest < ActiveSupport::TestCase 
    377377  set_fixture_class :funny_jokes => 'Joke' 
    378378  fixtures :funny_jokes 
     
    383383end 
    384384 
    385 class CustomConnectionFixturesTest < Test::Unit::TestCase 
     385class CustomConnectionFixturesTest < ActiveSupport::TestCase 
    386386  set_fixture_class :courses => Course 
    387387  fixtures :courses 
     
    393393end 
    394394 
    395 class InvalidTableNameFixturesTest < Test::Unit::TestCase 
     395class InvalidTableNameFixturesTest < ActiveSupport::TestCase 
    396396  fixtures :funny_jokes 
    397397 
     
    403403end 
    404404 
    405 class CheckEscapedYamlFixturesTest < Test::Unit::TestCase 
     405class CheckEscapedYamlFixturesTest < ActiveSupport::TestCase 
    406406  set_fixture_class :funny_jokes => 'Joke' 
    407407  fixtures :funny_jokes 
     
    413413 
    414414class DevelopersProject; end 
    415 class ManyToManyFixturesWithClassDefined < Test::Unit::TestCase 
     415class ManyToManyFixturesWithClassDefined < ActiveSupport::TestCase 
    416416  fixtures :developers_projects 
    417417 
     
    421421end 
    422422 
    423 class FixturesBrokenRollbackTest < Test::Unit::TestCase 
     423class FixturesBrokenRollbackTest < ActiveSupport::TestCase 
    424424  def blank_setup; end 
    425   alias_method :ar_setup_with_fixtures, :setup_with_fixtures 
    426   alias_method :setup_with_fixtures, :blank_setup 
     425  alias_method :ar_setup_fixtures, :setup_fixtures 
     426  alias_method :setup_fixtures, :blank_setup 
    427427  alias_method :setup, :blank_setup 
    428428 
    429429  def blank_teardown; end 
    430   alias_method :ar_teardown_with_fixtures, :teardown_with_fixtures 
    431   alias_method :teardown_with_fixtures, :blank_teardown 
     430  alias_method :ar_teardown_fixtures, :teardown_fixtures 
     431  alias_method :teardown_fixtures, :blank_teardown 
    432432  alias_method :teardown, :blank_teardown 
    433433 
    434434  def test_no_rollback_in_teardown_unless_transaction_active 
    435435    assert_equal 0, Thread.current['open_transactions'] 
    436     assert_raise(RuntimeError) { ar_setup_with_fixtures } 
     436    assert_raise(RuntimeError) { ar_setup_fixtures } 
    437437    assert_equal 0, Thread.current['open_transactions'] 
    438     assert_nothing_raised { ar_teardown_with_fixtures } 
     438    assert_nothing_raised { ar_teardown_fixtures } 
    439439    assert_equal 0, Thread.current['open_transactions'] 
    440440  end 
     
    446446end 
    447447 
    448 class LoadAllFixturesTest < Test::Unit::TestCase 
     448class LoadAllFixturesTest < ActiveSupport::TestCase 
    449449  self.fixture_path= File.join(File.dirname(__FILE__), '/fixtures/all') 
    450450  fixtures :all 
     
    455455end 
    456456 
    457 class FasterFixturesTest < Test::Unit::TestCase 
     457class FasterFixturesTest < ActiveSupport::TestCase 
    458458  fixtures :categories, :authors 
    459459 
     
    480480end 
    481481 
    482 class FoxyFixturesTest < Test::Unit::TestCase 
     482class FoxyFixturesTest < ActiveSupport::TestCase 
    483483  fixtures :parrots, :parrots_pirates, :pirates, :treasures, :mateys, :ships, :computers, :developers 
    484484 
  • trunk/activerecord/test/inheritance_test.rb

    r7059 r8570  
    44require 'fixtures/subscriber' 
    55 
    6 class InheritanceTest < Test::Unit::TestCase 
     6class InheritanceTest < ActiveSupport::TestCase 
    77  fixtures :companies, :projects, :subscribers, :accounts 
    88 
     
    176176 
    177177 
    178 class InheritanceComputeTypeTest < Test::Unit::TestCase 
     178class InheritanceComputeTypeTest < ActiveSupport::TestCase 
    179179  fixtures :companies 
    180180 
  • trunk/activerecord/test/json_serialization_test.rb

    r7751 r8570  
    77require 'fixtures/comment' 
    88 
    9 class JsonSerializationTest < Test::Unit::TestCase 
     9class JsonSerializationTest < ActiveSupport::TestCase 
    1010  def setup 
    1111    @contact = Contact.new( 
     
    6464end 
    6565 
    66 class DatabaseConnectedJsonEncodingTest < Test::Unit::TestCase 
     66class DatabaseConnectedJsonEncodingTest < ActiveSupport::TestCase 
    6767  fixtures :authors, :posts, :comments, :tags, :taggings 
    6868 
  • trunk/activerecord/test/lifecycle_test.rb

    r7872 r8570  
    6565end 
    6666 
    67 class LifecycleTest < Test::Unit::TestCase 
     67class LifecycleTest < ActiveSupport::TestCase 
    6868  fixtures :topics, :developers 
    6969 
  • trunk/activerecord/test/locking_test.rb

    r8395 r8570  
    1515end 
    1616 
    17 class OptimisticLockingTest < Test::Unit::TestCase 
     17class OptimisticLockingTest < ActiveSupport::TestCase 
    1818  fixtures :people, :legacy_things 
    1919 
     
    177177 
    178178unless current_adapter?(:SQLServerAdapter, :SybaseAdapter, :OpenBaseAdapter) 
    179   class PessimisticLockingTest < Test::Unit::TestCase 
     179  class PessimisticLockingTest < ActiveSupport::TestCase 
    180180    self.use_transactional_fixtures = false 
    181181    fixtures :people, :readers 
  • trunk/activerecord/test/method_scoping_test.rb

    r5192 r8570  
    66require 'fixtures/category' 
    77 
    8 class MethodScopingTest < Test::Unit::TestCase 
     8class MethodScopingTest < ActiveSupport::TestCase 
    99  fixtures :developers, :projects, :comments, :posts 
    1010   
     
    126126end 
    127127 
    128 class NestedScopingTest < Test::Unit::TestCase 
     128class NestedScopingTest < ActiveSupport::TestCase 
    129129  fixtures :developers, :projects, :comments, :posts 
    130130 
     
    314314end 
    315315 
    316 class HasManyScopingTest< Test::Unit::TestCase 
     316class HasManyScopingTest< ActiveSupport::TestCase 
    317317  fixtures :comments, :posts 
    318318   
     
    344344 
    345345 
    346 class HasAndBelongsToManyScopingTest< Test::Unit::TestCase 
     346class HasAndBelongsToManyScopingTest< ActiveSupport::TestCase 
    347347  fixtures :posts, :categories, :categories_posts 
    348348 
     
    374374 
    375375 
    376 class BelongsToScopingTest< Test::Unit::TestCase 
     376class BelongsToScopingTest< ActiveSupport::TestCase 
    377377  fixtures :comments, :posts 
    378378 
     
    394394 
    395395 
    396 class HasOneScopingTest< Test::Unit::TestCase 
     396class HasOneScopingTest< ActiveSupport::TestCase 
    397397  fixtures :comments, :posts 
    398398 
  • trunk/activerecord/test/migration_test_firebird.rb

    r5459 r8570  
    22require 'fixtures/course' 
    33 
    4 class FirebirdMigrationTest < Test::Unit::TestCase 
     4class FirebirdMigrationTest < ActiveSupport::TestCase 
    55  self.use_transactional_fixtures = false 
    66 
  • trunk/activerecord/test/migration_test.rb

    r8453 r8570  
    2323  end 
    2424 
    25   class MigrationTest < Test::Unit::TestCase 
     25  class MigrationTest < ActiveSupport::TestCase 
    2626    self.use_transactional_fixtures = false 
    2727     
     
    910910 
    911911  uses_mocha 'Sexy migration tests' do 
    912     class SexyMigrationsTest < Test::Unit::TestCase 
     912    class SexyMigrationsTest < ActiveSupport::TestCase 
    913913      def test_references_column_type_adds_id 
    914914        with_new_table do |t| 
  • trunk/activerecord/test/mixin_test.rb

    r8218 r8570  
    2222 
    2323 
    24 class TouchTest < Test::Unit::TestCase 
     24class TouchTest < ActiveSupport::TestCase 
    2525  fixtures :mixins 
    2626   
  • trunk/activerecord/test/modules_test.rb

    r5116 r8570  
    22require 'fixtures/company_in_module' 
    33 
    4 class ModulesTest < Test::Unit::TestCase 
     4class ModulesTest < ActiveSupport::TestCase 
    55  fixtures :accounts, :companies, :projects, :developers 
    66 
  • trunk/activerecord/test/multiple_db_test.rb

    r5116 r8570  
    55require_dependency 'fixtures/course' 
    66 
    7 class MultipleDbTest < Test::Unit::TestCase 
     7class MultipleDbTest < ActiveSupport::TestCase 
    88  self.use_transactional_fixtures = false 
    99 
  • trunk/activerecord/test/pk_test.rb

    r7666 r8570  
    77require 'fixtures/mixed_case_monkey' 
    88 
    9 class PrimaryKeysTest < Test::Unit::TestCase 
     9class PrimaryKeysTest < ActiveSupport::TestCase 
    1010  fixtures :topics, :subscribers, :movies, :mixed_case_monkeys 
    1111 
  • trunk/activerecord/test/query_cache_test.rb

    r7498 r8570  
    66 
    77 
    8 class QueryCacheTest < Test::Unit::TestCase 
     8class QueryCacheTest < ActiveSupport::TestCase 
    99  fixtures :tasks, :topics 
    1010 
     
    5656uses_mocha 'QueryCacheExpiryTest' do 
    5757 
    58 class QueryCacheExpiryTest < Test::Unit::TestCase 
     58class QueryCacheExpiryTest < ActiveSupport::TestCase 
    5959  fixtures :tasks 
    6060 
  • trunk/activerecord/test/readonly_test.rb

    r4107 r8570  
    1212 
    1313 
    14 class ReadOnlyTest < Test::Unit::TestCase 
     14class ReadOnlyTest < ActiveSupport::TestCase 
    1515  fixtures :posts, :comments, :developers, :projects, :developers_projects 
    1616 
  • trunk/activerecord/test/reflection_test.rb

    r8030 r8570  
    66require 'fixtures/subscriber' 
    77 
    8 class ReflectionTest < Test::Unit::TestCase 
     8class ReflectionTest < ActiveSupport::TestCase 
    99  fixtures :topics, :customers, :companies, :subscribers 
    1010 
  • trunk/activerecord/test/reserved_word_test_mysql.rb

    r8126 r8570  
    2424# a suite of tests to ensure the ConnectionAdapters#MysqlAdapter can handle tables with 
    2525# reserved word names (ie: group, order, values, etc...) 
    26 class MysqlReservedWordTest < Test::Unit::TestCase 
     26class MysqlReservedWordTest < ActiveSupport::TestCase 
    2727  def setup 
    2828    @connection = ActiveRecord::Base.connection 
  • trunk/activerecord/test/schema_authorization_test_postgresql.rb

    r4737 r8570  
    44end 
    55 
    6 class SchemaAuthorizationTest < Test::Unit::TestCase 
     6class SchemaAuthorizationTest < ActiveSupport::TestCase 
    77  self.use_transactional_fixtures = false 
    88 
  • trunk/activerecord/test/schema_dumper_test.rb

    r8012 r8570  
    55if ActiveRecord::Base.connection.respond_to?(:tables) 
    66 
    7   class SchemaDumperTest < Test::Unit::TestCase 
     7  class SchemaDumperTest < ActiveSupport::TestCase 
    88    def standard_dump 
    99      stream = StringIO.new 
  • trunk/activerecord/test/schema_test_postgresql.rb

    r2414 r8570  
    11require 'abstract_unit' 
    22 
    3 class SchemaTest < Test::Unit::TestCase 
     3class SchemaTest < ActiveSupport::TestCase 
    44  self.use_transactional_fixtures = false 
    55 
  • trunk/activerecord/test/serialization_test.rb

    r8050 r8570  
    22require 'fixtures/contact' 
    33 
    4 class SerializationTest < Test::Unit::TestCase 
     4class SerializationTest < ActiveSupport::TestCase 
    55  FORMATS = [ :xml, :json ] 
    66   
  • trunk/activerecord/test/synonym_test_oracle.rb

    r3718 r8570  
    77# a synonym to the "topics" table 
    88 
    9 class TestOracleSynonym < Test::Unit::TestCase 
     9class TestOracleSynonym < ActiveSupport::TestCase 
    1010 
    1111  def test_oracle_synonym 
  • trunk/activerecord/test/table_name_test_sqlserver.rb

    r5891 r8570  
    77  end 
    88 
    9   class TableNameTest < Test::Unit::TestCase 
     9  class TableNameTest < ActiveSupport::TestCase 
    1010    self.use_transactional_fixtures = false 
    1111 
  • trunk/activerecord/test/threaded_connections_test.rb

    r4460 r8570  
    44 
    55unless %w(FrontBase).include? ActiveRecord::Base.connection.adapter_name 
    6   class ThreadedConnectionsTest < Test::Unit::TestCase 
     6  class ThreadedConnectionsTest < ActiveSupport::TestCase 
    77    self.use_transactional_fixtures = false 
    88 
  • trunk/activerecord/test/transactions_test.rb

    r7089 r8570  
    44require 'fixtures/developer' 
    55 
    6 class TransactionTest < Test::Unit::TestCase 
     6class TransactionTest < ActiveSupport::TestCase 
    77  self.use_transactional_fixtures = false 
    88  fixtures :topics, :developers 
  • trunk/activerecord/test/unconnected_test.rb

    r7666 r8570  
    44end 
    55 
    6 class TestUnconnectedAdapter < Test::Unit::TestCase 
     6class TestUnconnectedAdapter < ActiveSupport::TestCase 
    77  self.use_transactional_fixtures = false 
    88 
  • trunk/activerecord/test/validations_test.rb

    r8487 r8570  
    5454end 
    5555 
    56 class ValidationsTest < Test::Unit::TestCase 
     56class ValidationsTest < ActiveSupport::TestCase 
    5757  fixtures :topics, :developers 
    5858 
     
    12861286 
    12871287 
    1288 class ValidatesNumericalityTest < Test::Unit::TestCase 
     1288class ValidatesNumericalityTest < ActiveSupport::TestCase 
    12891289  NIL = [nil] 
    12901290  BLANK = ["", " ", " \t \r \n"] 
  • trunk/activerecord/test/xml_serialization_test.rb

    r8258 r8570  
    66require 'fixtures/comment' 
    77 
    8 class XmlSerializationTest < Test::Unit::TestCase 
     8class XmlSerializationTest < ActiveSupport::TestCase 
    99  def test_should_serialize_default_root 
    1010    @xml = Contact.new.to_xml 
     
    4141end 
    4242 
    43 class DefaultXmlSerializationTest < Test::Unit::TestCase 
     43class DefaultXmlSerializationTest < ActiveSupport::TestCase 
    4444  def setup 
    4545    @xml = Contact.new(:name => 'aaron stack', :age => 25, :avatar => 'binarydata', :created_at => Time.utc(2006, 8, 1), :awesome => false, :preferences => { :gem => 'ruby' }).to_xml 
     
    7373end 
    7474 
    75 class NilXmlSerializationTest < Test::Unit::TestCase 
     75class NilXmlSerializationTest < ActiveSupport::TestCase 
    7676  def setup 
    7777    @xml = Contact.new.to_xml(:root => 'xml_contact') 
     
    119119end 
    120120 
    121 class DatabaseConnectedXmlSerializationTest < Test::Unit::TestCase 
     121class DatabaseConnectedXmlSerializationTest < ActiveSupport::TestCase 
    122122  fixtures :authors, :posts 
    123123  # to_xml used to mess with the hash the user provided which 
  • trunk/activesupport/CHANGELOG

    r8546 r8570  
    11*SVN* 
     2 
     3* Continue evolution toward ActiveSupport::TestCase.  #10679 [Josh Peek] 
     4 
     5* TestCase: introduce declared setup and teardown callbacks. Pass a list of methods and an optional block to call before setup or after teardown. Setup callbacks are run in the order declared; teardown callbacks are run in reverse.  [Jeremy Kemper] 
    26 
    37* Added ActiveSupport::Gzip.decompress/compress(source) as an easy wrapper for Zlib [Tobias Luetke] 
  • trunk/activesupport/lib/active_support.rb

    r8546 r8570  
    5050 
    5151require 'active_support/base64' 
    52  
    53 require 'active_support/testing' 
    54  
  • trunk/activesupport/lib/active_support/test_case.rb

    r8022 r8570  
     1require 'test/unit/testcase' 
     2require 'active_support/testing/setup_and_teardown' 
     3require 'active_support/testing/default' 
     4 
     5# TODO: move to core_ext 
     6class Test::Unit::TestCase #:nodoc: 
     7  include ActiveSupport::Testing::SetupAndTeardown 
     8end 
     9 
    110module ActiveSupport 
    211  class TestCase < Test::Unit::TestCase 
    3     include ActiveSupport::Testing::Default 
    412  end 
    513end 
  • trunk/activesupport/lib/active_support/testing/default.rb

    r8040 r8570  
    11module ActiveSupport 
    22  module Testing 
    3     module Default 
    4       def run(*args) 
    5         #method_name appears to be a symbol on 1.8.4 and a string on 1.8.6 
    6         return if @method_name.to_s == "default_test" 
    7         super 
     3    module Default #:nodoc: 
     4      # Placeholder so test/unit ignores test cases without any tests. 
     5      def default_test 
    86      end 
    97    end 
    108  end 
    119end 
    12  
  • trunk/activesupport/test/core_ext/load_error_test.rb

    r4595 r8570  
    1 require File.dirname(__FILE__) + '/../abstract_unit' 
     1require 'abstract_unit' 
    22 
    33class TestMissingSourceFile < Test::Unit::TestCase 
  • trunk/activesupport/test/test_test.rb

    r8563 r8570  
    7373class AlsoDoingNothingTest < ActiveSupport::TestCase 
    7474end 
     75 
     76# Setup and teardown callbacks. 
     77class SetupAndTeardownTest < Test::Unit::TestCase 
     78  setup :reset_callback_record, :foo 
     79  teardown :foo, :sentinel, :foo 
     80 
     81  def test_inherited_setup_callbacks 
     82    assert_equal [:reset_callback_record, :foo], self.class.setup_callback_chain 
     83    assert_equal [:foo], @called_back 
     84    assert_equal [:foo, :sentinel, :foo], self.class.teardown_callback_chain 
     85  end 
     86 
     87  protected 
     88    def reset_callback_record 
     89      @called_back = [] 
     90    end 
     91 
     92    def foo 
     93      @called_back << :foo 
     94    end 
     95 
     96    def sentinel 
     97      assert_equal [:foo, :foo], @called_back 
     98    end 
     99end 
     100 
     101 
     102class SubclassSetupAndTeardownTest < SetupAndTeardownTest 
     103  setup :bar 
     104  teardown :bar 
     105 
     106  def test_inherited_setup_callbacks 
     107    assert_equal [:reset_callback_record, :foo, :bar], self.class.setup_callback_chain 
     108    assert_equal [:foo, :bar], @called_back 
     109    assert_equal [:foo, :sentinel, :foo, :bar], self.class.teardown_callback_chain 
     110  end 
     111 
     112  protected 
     113    def bar 
     114      @called_back << :bar 
     115    end 
     116 
     117    def sentinel 
     118      assert_equal [:foo, :bar, :bar, :foo], @called_back 
     119    end 
     120end