Diff
Modified: trunk/activerecord-jdbc/Rakefile (596 => 597)
--- trunk/activerecord-jdbc/Rakefile 2007-05-19 01:20:56 UTC (rev 596)
+++ trunk/activerecord-jdbc/Rakefile 2007-05-24 00:13:45 UTC (rev 597)
@@ -46,28 +46,23 @@
end
Rake::TestTask.new(:test_mysql) do |t|
- t.test_files = FileList['test/mysql_simple_test.rb']
+ t.test_files = FileList['test/mysql_*_test.rb']
t.libs << 'test'
end
-Rake::TestTask.new(:test_mysql_multibyte) do |t|
- t.test_files = FileList['test/mysql_multibyte_test.rb']
- t.libs << 'test'
-end
-
Rake::TestTask.new(:test_hsqldb) do |t|
t.test_files = FileList['test/hsqldb_simple_test.rb']
t.libs << 'test'
end
Rake::TestTask.new(:test_derby) do |t|
- t.test_files = FileList['test/derby_simple_test.rb',
+ t.test_files = FileList['test/derby_*_test.rb',
'test/activerecord/connection_adapters/type_conversion_test.rb']
t.libs << 'test'
end
Rake::TestTask.new(:test_postgresql) do |t|
- t.test_files = FileList['test/postgres_simple_test.rb']
+ t.test_files = FileList['test/postgres_*_test.rb']
t.libs << 'test'
end
Modified: trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb (596 => 597)
--- trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb 2007-05-19 01:20:56 UTC (rev 596)
+++ trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb 2007-05-24 00:13:45 UTC (rev 597)
@@ -140,7 +140,7 @@
return new_types.first if new_types.length == 1
types = new_types if new_types.length > 0
end
- raise "unable to choose type from: #{types.collect{|t| [t['type_name'],t]}.inspect} for #{ar_type}"
+ raise "unable to choose type for #{ar_type} from:\n#{types.collect{|t| t['type_name']}.inspect}"
end
end
Added: trunk/activerecord-jdbc/test/derby_multibyte_test.rb (0 => 597)
--- trunk/activerecord-jdbc/test/derby_multibyte_test.rb (rev 0)
+++ trunk/activerecord-jdbc/test/derby_multibyte_test.rb 2007-05-24 00:13:45 UTC (rev 597)
@@ -0,0 +1,12 @@
+# To run this script, run the following in a mysql instance:
+#
+# drop database if exists weblog_development;
+# create database weblog_development;
+# grant all on weblog_development.* to [EMAIL PROTECTED];
+
+require 'jdbc_common'
+require 'db/derby'
+
+class DerbyMultibyteTest < Test::Unit::TestCase
+ include MultibyteTestMethods
+end
Modified: trunk/activerecord-jdbc/test/mysql_multibyte_test.rb (596 => 597)
--- trunk/activerecord-jdbc/test/mysql_multibyte_test.rb 2007-05-19 01:20:56 UTC (rev 596)
+++ trunk/activerecord-jdbc/test/mysql_multibyte_test.rb 2007-05-24 00:13:45 UTC (rev 597)
@@ -7,44 +7,6 @@
require 'jdbc_common'
require 'db/mysql'
-require 'java'
-
-include_class 'java.util.Properties'
-include_class 'java.sql.DriverManager'
-
-class ActiveRecord::Base
- cattr_accessor :defined_connections
-end
-
class MysqlMultibyteTest < Test::Unit::TestCase
- include MigrationSetup
-
- def setup
- super
- config = ActiveRecord::Base.defined_connections["ActiveRecord::Base"].config
- props = Properties.new
- props.setProperty("user", config[:username])
- props.setProperty("password", config[:password])
- @java_con = DriverManager.getConnection(config[:url], props)
- @java_con.setAutoCommit(true)
- end
-
- def teardown
- @java_con.close
- super
- end
-
- def test_select_multibyte_string
- @java_con.createStatement().execute("insert into entries (title) values ('テスト')")
- entry = Entry.find(:first)
- assert_equal "テスト", entry.title
- assert_equal entry, Entry.find_by_title("テスト")
- end
-
- def test_update_multibyte_string
- Entry.create!(:title => "テスト")
- rs = @java_con.createStatement().executeQuery("select title from entries")
- assert rs.next
- assert_equal "テスト", rs.getString(1)
- end
+ include MultibyteTestMethods
end
Added: trunk/activerecord-jdbc/test/postgres_multibyte_test.rb (0 => 597)
--- trunk/activerecord-jdbc/test/postgres_multibyte_test.rb (rev 0)
+++ trunk/activerecord-jdbc/test/postgres_multibyte_test.rb 2007-05-24 00:13:45 UTC (rev 597)
@@ -0,0 +1,12 @@
+# To run this script, set up the following postgres user and database:
+#
+# sudo -u postgres createuser -D -A -P blog
+# sudo -u postgres createdb -O blog weblog_development
+#
+
+require 'jdbc_common'
+require 'db/postgres'
+
+class PostgresMultibyteTest < Test::Unit::TestCase
+ include MultibyteTestMethods
+end
Modified: trunk/activerecord-jdbc/test/simple.rb (596 => 597)
--- trunk/activerecord-jdbc/test/simple.rb 2007-05-19 01:20:56 UTC (rev 596)
+++ trunk/activerecord-jdbc/test/simple.rb 2007-05-24 00:13:45 UTC (rev 597)
@@ -114,3 +114,40 @@
end
end
+
+class ActiveRecord::Base
+ cattr_accessor :defined_connections
+end
+
+module MultibyteTestMethods
+ include MigrationSetup
+
+ def setup
+ super
+ config = ActiveRecord::Base.defined_connections["ActiveRecord::Base"].config
+ props = java.util.Properties.new
+ props.setProperty("user", config[:username])
+ props.setProperty("password", config[:password])
+ @java_con = java.sql.DriverManager.getConnection(config[:url], props)
+ @java_con.setAutoCommit(true)
+ end
+
+ def teardown
+ @java_con.close
+ super
+ end
+
+ def test_select_multibyte_string
+ @java_con.createStatement().execute("insert into entries (title) values ('テスト')")
+ entry = Entry.find(:first)
+ assert_equal "テスト", entry.title
+ assert_equal entry, Entry.find_by_title("テスト")
+ end
+
+ def test_update_multibyte_string
+ Entry.create!(:title => "テスト")
+ rs = @java_con.createStatement().executeQuery("select title from entries")
+ assert rs.next
+ assert_equal "テスト", rs.getString(1)
+ end
+end