Initial import
This commit is contained in:
23
vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb
vendored
Normal file
23
vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
require File.join(File.dirname(__FILE__), 'activerecord_test_connector')
|
||||
|
||||
class ActiveRecordTestCase < Test::Unit::TestCase
|
||||
# Set our fixture path
|
||||
if ActiveRecordTestConnector.able_to_connect
|
||||
self.fixture_path = File.join(File.dirname(__FILE__), '..', 'fixtures')
|
||||
self.use_transactional_fixtures = true
|
||||
end
|
||||
|
||||
def self.fixtures(*args)
|
||||
super if ActiveRecordTestConnector.connected
|
||||
end
|
||||
|
||||
def run(*args)
|
||||
super if ActiveRecordTestConnector.connected
|
||||
end
|
||||
|
||||
# Default so Test::Unit::TestCase doesn't complain
|
||||
def test_truth
|
||||
end
|
||||
end
|
||||
|
||||
ActiveRecordTestConnector.setup
|
||||
60
vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb
vendored
Normal file
60
vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
require 'active_record'
|
||||
require 'active_record/version'
|
||||
require 'active_record/fixtures'
|
||||
|
||||
class ActiveRecordTestConnector
|
||||
cattr_accessor :able_to_connect
|
||||
cattr_accessor :connected
|
||||
|
||||
# Set our defaults
|
||||
self.connected = false
|
||||
self.able_to_connect = true
|
||||
|
||||
def self.setup
|
||||
unless self.connected || !self.able_to_connect
|
||||
setup_connection
|
||||
load_schema
|
||||
# require_fixture_models
|
||||
Dependencies.load_paths.unshift(File.dirname(__FILE__) + "/../fixtures")
|
||||
self.connected = true
|
||||
end
|
||||
rescue Exception => e # errors from ActiveRecord setup
|
||||
$stderr.puts "\nSkipping ActiveRecord assertion tests: #{e}"
|
||||
#$stderr.puts " #{e.backtrace.join("\n ")}\n"
|
||||
self.able_to_connect = false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def self.setup_connection
|
||||
db = ENV['DB'].blank?? 'sqlite3' : ENV['DB']
|
||||
|
||||
configurations = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'database.yml'))
|
||||
raise "no configuration for '#{db}'" unless configurations.key? db
|
||||
configuration = configurations[db]
|
||||
|
||||
ActiveRecord::Base.logger = Logger.new(STDOUT) if $0 == 'irb'
|
||||
puts "using #{configuration['adapter']} adapter" unless ENV['DB'].blank?
|
||||
|
||||
ActiveRecord::Base.establish_connection(configuration)
|
||||
ActiveRecord::Base.configurations = { db => configuration }
|
||||
ActiveRecord::Base.connection
|
||||
|
||||
unless Object.const_defined?(:QUOTED_TYPE)
|
||||
Object.send :const_set, :QUOTED_TYPE, ActiveRecord::Base.connection.quote_column_name('type')
|
||||
end
|
||||
end
|
||||
|
||||
def self.load_schema
|
||||
ActiveRecord::Base.silence do
|
||||
ActiveRecord::Migration.verbose = false
|
||||
load File.dirname(__FILE__) + "/../fixtures/schema.rb"
|
||||
end
|
||||
end
|
||||
|
||||
def self.require_fixture_models
|
||||
models = Dir.glob(File.dirname(__FILE__) + "/../fixtures/*.rb")
|
||||
models = (models.grep(/user.rb/) + models).uniq
|
||||
models.each { |f| require f }
|
||||
end
|
||||
end
|
||||
21
vendor/plugins/will_paginate/test/lib/html_inner_text.rb
vendored
Normal file
21
vendor/plugins/will_paginate/test/lib/html_inner_text.rb
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
require 'action_controller/test_process'
|
||||
|
||||
module HTML
|
||||
class Node
|
||||
def inner_text
|
||||
children.map(&:inner_text).join('')
|
||||
end
|
||||
end
|
||||
|
||||
class Text
|
||||
def inner_text
|
||||
self.to_s
|
||||
end
|
||||
end
|
||||
|
||||
class Tag
|
||||
def inner_text
|
||||
childless?? '' : super
|
||||
end
|
||||
end
|
||||
end
|
||||
13
vendor/plugins/will_paginate/test/lib/load_fixtures.rb
vendored
Normal file
13
vendor/plugins/will_paginate/test/lib/load_fixtures.rb
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
dirname = File.dirname(__FILE__)
|
||||
require File.join(dirname, '..', 'boot')
|
||||
require File.join(dirname, 'activerecord_test_connector')
|
||||
|
||||
# setup the connection
|
||||
ActiveRecordTestConnector.setup
|
||||
|
||||
# load all fixtures
|
||||
fixture_path = File.join(dirname, '..', 'fixtures')
|
||||
Fixtures.create_fixtures(fixture_path, ActiveRecord::Base.connection.tables)
|
||||
|
||||
require 'will_paginate'
|
||||
WillPaginate.enable_activerecord
|
||||
Reference in New Issue
Block a user