mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Fixed handling of nil number columns on Oracle and cleaned up tests for Oracle in general #2555 [schoenm@earthlink.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2741 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -594,7 +594,9 @@ class BasicsTest < Test::Unit::TestCase
|
||||
attributes = { "last_read(1i)" => "2004", "last_read(2i)" => "6", "last_read(3i)" => "24" }
|
||||
topic = Topic.find(1)
|
||||
topic.attributes = attributes
|
||||
assert_equal Date.new(2004, 6, 24).to_s, topic.last_read.to_s
|
||||
# note that extra #to_date call allows test to pass for Oracle, which
|
||||
# treats dates/times the same
|
||||
assert_equal Date.new(2004, 6, 24).to_s, topic.last_read.to_date.to_s
|
||||
end
|
||||
|
||||
def test_multiparameter_attributes_on_date_with_empty_date
|
||||
@@ -606,7 +608,9 @@ class BasicsTest < Test::Unit::TestCase
|
||||
attributes = { "last_read(1i)" => "2004", "last_read(2i)" => "6", "last_read(3i)" => "" }
|
||||
topic = Topic.find(1)
|
||||
topic.attributes = attributes
|
||||
assert_equal Date.new(2004, 6, 1).to_s, topic.last_read.to_s
|
||||
# note that extra #to_date call allows test to pass for Oracle, which
|
||||
# treats dates/times the same
|
||||
assert_equal Date.new(2004, 6, 1).to_s, topic.last_read.to_date.to_s
|
||||
end
|
||||
|
||||
def test_multiparameter_attributes_on_date_with_all_empty
|
||||
@@ -647,8 +651,8 @@ class BasicsTest < Test::Unit::TestCase
|
||||
|
||||
def test_attributes_on_dummy_time
|
||||
# Oracle does not have a TIME datatype.
|
||||
if ActiveRecord::ConnectionAdapters.const_defined? :OracleAdapter
|
||||
return true if ActiveRecord::Base.connection.instance_of?(ActiveRecord::ConnectionAdapters::OracleAdapter)
|
||||
if ActiveRecord::ConnectionAdapters.const_defined? :OCIAdapter
|
||||
return true if ActiveRecord::Base.connection.instance_of?(ActiveRecord::ConnectionAdapters::OCIAdapter)
|
||||
end
|
||||
# Sqlserver doesn't either .
|
||||
if ActiveRecord::ConnectionAdapters.const_defined? :SQLServerAdapter
|
||||
|
||||
@@ -47,20 +47,14 @@ class FinderTest < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
def test_find_all_with_prepared_limit_and_offset
|
||||
if ActiveRecord::ConnectionAdapters.const_defined? :OracleAdapter
|
||||
if ActiveRecord::Base.connection.instance_of?(ActiveRecord::ConnectionAdapters::OracleAdapter)
|
||||
assert_raises(ArgumentError) { Entrant.find(:all, :order => 'id ASC', :limit => 2, :offset => 1) }
|
||||
end
|
||||
else
|
||||
entrants = Entrant.find(:all, :order => "id ASC", :limit => 2, :offset => 1)
|
||||
entrants = Entrant.find(:all, :order => "id ASC", :limit => 2, :offset => 1)
|
||||
|
||||
assert_equal(2, entrants.size)
|
||||
assert_equal(entrants(:second).name, entrants.first.name)
|
||||
assert_equal(2, entrants.size)
|
||||
assert_equal(entrants(:second).name, entrants.first.name)
|
||||
|
||||
entrants = Entrant.find(:all, :order => "id ASC", :limit => 2, :offset => 2)
|
||||
assert_equal(1, entrants.size)
|
||||
assert_equal(entrants(:third).name, entrants.first.name)
|
||||
end
|
||||
entrants = Entrant.find(:all, :order => "id ASC", :limit => 2, :offset => 2)
|
||||
assert_equal(1, entrants.size)
|
||||
assert_equal(entrants(:third).name, entrants.first.name)
|
||||
end
|
||||
|
||||
def test_find_with_entire_select_statement
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
sqlplus arunit/arunit @ drop_oracle_tables
|
||||
sqlplus arunit/arunit @ oracle
|
||||
sqlplus arunit2/arunit2 @ drop_oracle_tables2
|
||||
sqlplus arunit2/arunit2 @ oracle2
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
sqlplus arunit/arunit @ drop_oracle_tables
|
||||
sqlplus arunit/arunit @ oracle
|
||||
sqlplus arunit2/arunit2 @ drop_oracle_tables2
|
||||
sqlplus arunit2/arunit2 @ oracle2
|
||||
|
||||
|
||||
@@ -259,3 +259,5 @@ create table keyboards (
|
||||
key_number integer not null,
|
||||
name varchar(50) default null
|
||||
);
|
||||
create sequence keyboards_seq minvalue 10000;
|
||||
|
||||
|
||||
@@ -52,6 +52,11 @@ class FixturesTest < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
def test_inserts_with_pre_and_suffix
|
||||
# not supported yet in OCI adapter
|
||||
if ActiveRecord::ConnectionAdapters.const_defined? :OCIAdapter
|
||||
return true if ActiveRecord::Base.connection.instance_of?(ActiveRecord::ConnectionAdapters::OCIAdapter)
|
||||
end
|
||||
|
||||
ActiveRecord::Base.connection.create_table :prefix_topics_suffix do |t|
|
||||
t.column :title, :string
|
||||
t.column :author_name, :string
|
||||
|
||||
@@ -4,16 +4,21 @@ require 'stringio'
|
||||
|
||||
if ActiveRecord::Base.connection.respond_to?(:tables)
|
||||
|
||||
class SchemaDumperTest < Test::Unit::TestCase
|
||||
def test_schema_dump
|
||||
stream = StringIO.new
|
||||
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
|
||||
output = stream.string
|
||||
unless ActiveRecord::ConnectionAdapters.const_defined?(:OCIAdapter) && \
|
||||
ActiveRecord::Base.connection.instance_of?(ActiveRecord::ConnectionAdapters::OCIAdapter)
|
||||
|
||||
assert_match %r{create_table "accounts"}, output
|
||||
assert_match %r{create_table "authors"}, output
|
||||
assert_no_match %r{create_table "schema_info"}, output
|
||||
class SchemaDumperTest < Test::Unit::TestCase
|
||||
def test_schema_dump
|
||||
stream = StringIO.new
|
||||
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
|
||||
output = stream.string
|
||||
|
||||
assert_match %r{create_table "accounts"}, output
|
||||
assert_match %r{create_table "authors"}, output
|
||||
assert_no_match %r{create_table "schema_info"}, output
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user