1 $
:.unshift(File
.dirname(__FILE__
) + '/../../lib')
2 $
:.unshift(File
.dirname(__FILE__
) + '/../../../activesupport/lib')
8 gem
'mocha', '>= 0.9.5'
11 require 'active_record'
12 require 'active_record/test_case'
13 require 'active_record/fixtures'
16 require 'cases/repair_helper'
18 # Show backtraces for deprecated behavior for quicker cleanup.
19 ActiveSupport
::Deprecation.debug
= true
21 # Quote "type" if it's a reserved word for the current connection.
22 QUOTED_TYPE
= ActiveRecord
::Base.connection
.quote_column_name('type')
24 def current_adapter
?(*types
)
26 ActiveRecord
::ConnectionAdapters.const_defined
?(type
) &&
27 ActiveRecord
::Base.connection
.is_a
?(ActiveRecord
::ConnectionAdapters.const_get(type
))
31 ActiveRecord
::Base.connection
.class.class_eval
do
32 IGNORED_SQL
= [/^PRAGMA/, /^SELECT currval/, /^SELECT CAST/, /^SELECT @@IDENTITY/, /^SELECT @@ROWCOUNT/, /^SAVEPOINT/, /^ROLLBACK TO SAVEPOINT/, /^RELEASE SAVEPOINT/, /SHOW FIELDS/]
34 def execute_with_query_record(sql
, name
= nil, &block
)
35 $queries_executed ||= []
36 $queries_executed << sql
unless IGNORED_SQL
.any
? { |r
| sql
=~ r
}
37 execute_without_query_record(sql
, name
, &block
)
40 alias_method_chain
:execute, :query_record
43 # Make with_scope public for tests
44 class << ActiveRecord
::Base
45 public
:with_scope, :with_exclusive_scope
48 unless ENV['FIXTURE_DEBUG']
49 module ActiveRecord
::TestFixtures::ClassMethods
50 def try_to_load_dependency_with_silence(*args
)
51 ActiveRecord
::Base.logger
.silence
{ try_to_load_dependency_without_silence(*args
)}
54 alias_method_chain
:try_to_load_dependency, :silence
58 class ActiveSupport
::TestCase
59 include ActiveRecord
::TestFixtures
60 include ActiveRecord
::Testing::RepairHelper
62 self.fixture_path
= FIXTURES_ROOT
63 self.use_instantiated_fixtures
= false
64 self.use_transactional_fixtures
= true
66 def create_fixtures(*table_names
, &block
)
67 Fixtures
.create_fixtures(ActiveSupport
::TestCase.fixture_path
, table_names
, {}, &block
)