Changeset 4804
- Timestamp:
- 08/22/06 04:38:03 (2 years ago)
- Files:
-
- trunk/actionpack/CHANGELOG (modified) (1 diff)
- trunk/actionpack/Rakefile (modified) (1 diff)
- trunk/actionpack/test/active_record_unit.rb (modified) (6 diffs)
- trunk/actionpack/test/activerecord/active_record_assertions_test.rb (modified) (2 diffs)
- trunk/actionpack/test/activerecord/active_record_store_test.rb (modified) (1 diff)
- trunk/actionpack/test/activerecord/pagination_test.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/actionpack/CHANGELOG
r4793 r4804 1 1 *SVN* 2 3 * Clean up and run the Active Record integration tests by default. [Jeremy Kemper] 2 4 3 5 * Correct example in cookies docs. #5832 [jessemerriman@warpmail.net] trunk/actionpack/Rakefile
r4290 r4804 23 23 # Run the unit tests 24 24 25 Rake::TestTask.new { |t| 25 task :test => [:test_action_pack, :test_active_record_integration] 26 27 Rake::TestTask.new(:test_action_pack) { |t| 26 28 t.libs << "test" 27 29 # make sure we include the controller tests (c*) first as on some systems trunk/actionpack/test/active_record_unit.rb
r3553 r4804 5 5 cattr_accessor :able_to_connect 6 6 cattr_accessor :connected 7 7 8 8 # Set our defaults 9 9 self.connected = false … … 12 12 13 13 # Try to grab AR 14 begin 15 PATH_TO_AR = File.dirname(__FILE__) + '/../../activerecord' 16 require "#{PATH_TO_AR}/lib/active_record" unless Object.const_defined?(:ActiveRecord) 17 require "#{PATH_TO_AR}/lib/active_record/fixtures" unless Object.const_defined?(:Fixtures) 18 rescue Object => e 19 $stderr.puts "\nSkipping ActiveRecord assertion tests: #{e}" 20 ActiveRecordTestConnector.able_to_connect = false 14 if defined?(ActiveRecord) && defined?(Fixtures) 15 $stderr.puts 'Active Record is already loaded, running tests' 16 else 17 $stderr.print 'Attempting to load Active Record... ' 18 begin 19 PATH_TO_AR = "#{File.dirname(__FILE__)}/../../activerecord/lib" 20 raise "#{PATH_TO_AR} doesn't exist" unless File.directory?(PATH_TO_AR) 21 $LOAD_PATH.unshift PATH_TO_AR 22 require 'active_record' 23 require 'active_record/fixtures' 24 $stderr.puts 'success' 25 rescue Object => e 26 $stderr.print "failed. Skipping Active Record assertion tests: #{e}" 27 ActiveRecordTestConnector.able_to_connect = false 28 end 21 29 end 30 $stderr.flush 31 32 22 33 23 34 # Define the rest of the connector 24 class ActiveRecordTestConnector 35 class ActiveRecordTestConnector 25 36 def self.setup 26 37 unless self.connected || !self.able_to_connect … … 34 45 self.able_to_connect = false 35 46 end 36 47 37 48 private 38 49 39 50 def self.setup_connection 40 51 if Object.const_defined?(:ActiveRecord) 41 42 52 begin 43 53 ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :dbfile => ':memory:') … … 48 58 ActiveRecord::Base.connection 49 59 end 50 60 51 61 Object.send(:const_set, :QUOTED_TYPE, ActiveRecord::Base.connection.quote_column_name('type')) unless Object.const_defined?(:QUOTED_TYPE) 52 62 else … … 54 64 end 55 65 end 56 66 57 67 # Load actionpack sqlite tables 58 68 def self.load_schema … … 62 72 end 63 73 end 64 65 # Test case for inheiritance 74 75 # Test case for inheiritance 66 76 class ActiveRecordTestCase < Test::Unit::TestCase 67 77 # Set our fixture path 68 self.fixture_path = "#{File.dirname(__FILE__)}/fixtures/" 69 78 if ActiveRecordTestConnector.able_to_connect 79 self.fixture_path = "#{File.dirname(__FILE__)}/fixtures/" 80 self.use_transactional_fixtures = false 81 end 82 70 83 def setup 71 abort_tests unless ActiveRecordTestConnector.connected = true84 abort_tests unless ActiveRecordTestConnector.connected 72 85 end 73 86 74 87 # Default so Test::Unit::TestCase doesn't complain 75 88 def test_truth 76 89 end 77 90 78 91 private 79 80 # If things go wrong, we don't want to run our test cases. We'll just define them to test nothing.81 def abort_tests82 self.class.public_instance_methods.grep(/^test./).each do |method|83 self.class.class_eval { define_method(method.to_sym){} }92 # If things go wrong, we don't want to run our test cases. We'll just define them to test nothing. 93 def abort_tests 94 self.class.public_instance_methods.grep(/^test./).each do |method| 95 self.class.class_eval { define_method(method.to_sym){} } 96 end 84 97 end 85 end86 98 end 87 99 trunk/actionpack/test/activerecord/active_record_assertions_test.rb
r3553 r4804 1 1 require "#{File.dirname(__FILE__)}/../active_record_unit" 2 require 'fixtures/company' 2 require 'fixtures/company' if ActiveRecordTestConnector.able_to_connect 3 3 4 4 class ActiveRecordAssertionsController < ActionController::Base … … 38 38 def rescue_action(e) raise; end 39 39 end 40 40 41 41 class ActiveRecordAssertionsControllerTest < ActiveRecordTestCase 42 fixtures :companies 43 42 fixtures :companies if ActiveRecordTestConnector.able_to_connect 43 44 44 def setup 45 45 @request = ActionController::TestRequest.new trunk/actionpack/test/activerecord/active_record_store_test.rb
r3817 r4804 71 71 72 72 ENV['REQUEST_METHOD'] = 'GET' 73 ENV['REQUEST_URI'] = '/' 73 74 CGI::Session::ActiveRecordStore.session_class = session_class 74 75 trunk/actionpack/test/activerecord/pagination_test.rb
r3620 r4804 1 1 require File.dirname(__FILE__) + '/../active_record_unit' 2 2 3 require 'fixtures/topic' 4 require 'fixtures/reply' 5 require 'fixtures/developer' 6 require 'fixtures/project' 3 if ActiveRecordTestConnector.able_to_connect 4 require 'fixtures/topic' 5 require 'fixtures/reply' 6 require 'fixtures/developer' 7 require 'fixtures/project' 8 end 7 9 8 10 class PaginationTest < ActiveRecordTestCase 9 fixtures :topics, :replies, :developers, :projects, :developers_projects 11 if ActiveRecordTestConnector.able_to_connect 12 fixtures :topics, :replies, :developers, :projects, :developers_projects 13 end 10 14 11 15 class PaginationController < ActionController::Base