aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/active_schema_mysql.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/active_schema_mysql.rb')
-rw-r--r--activerecord/test/active_schema_mysql.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/activerecord/test/active_schema_mysql.rb b/activerecord/test/active_schema_mysql.rb
new file mode 100644
index 0000000000..d3ee5bfb66
--- /dev/null
+++ b/activerecord/test/active_schema_mysql.rb
@@ -0,0 +1,31 @@
+require 'abstract_unit'
+
+class ActiveSchemaTest < Test::Unit::TestCase
+ def setup
+ ActiveRecord::ConnectionAdapters::MysqlAdapter.class_eval do
+ alias_method :real_execute, :execute
+ def execute(sql, name = nil) return sql end
+ end
+ end
+
+ def teardown
+ ActiveRecord::ConnectionAdapters::MysqlAdapter.send(:alias_method, :execute, :real_execute)
+ end
+
+ def test_drop_table
+ assert_equal "DROP TABLE people", drop_table(:people)
+ end
+
+ def test_add_column
+ assert_equal "ALTER TABLE people ADD last_name varchar(255)", add_column(:people, :last_name, :string)
+ end
+
+ def test_add_column_with_limit
+ assert_equal "ALTER TABLE people ADD key varchar(32)", add_column(:people, :key, :string, :limit => 32)
+ end
+
+ private
+ def method_missing(method_symbol, *arguments)
+ ActiveRecord::Base.connection.send(method_symbol, *arguments)
+ end
+end \ No newline at end of file