diff options
Diffstat (limited to 'activerecord/test/cases/table_name_test_sqlserver.rb')
-rw-r--r-- | activerecord/test/cases/table_name_test_sqlserver.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/activerecord/test/cases/table_name_test_sqlserver.rb b/activerecord/test/cases/table_name_test_sqlserver.rb new file mode 100644 index 0000000000..f52a3da5fb --- /dev/null +++ b/activerecord/test/cases/table_name_test_sqlserver.rb @@ -0,0 +1,23 @@ +require 'abstract_unit' +require "#{File.dirname(__FILE__)}/../lib/active_record/schema" + +if ActiveRecord::Base.connection.supports_migrations? + class Order < ActiveRecord::Base + self.table_name = '[order]' + end + + class TableNameTest < ActiveSupport::TestCase + self.use_transactional_fixtures = false + + # Ensures Model.columns works when using SQLServer escape characters. + # Enables legacy schemas using SQL reserved words as table names. + # Should work with table names with spaces as well ('table name'). + def test_escaped_table_name + assert_nothing_raised do + ActiveRecord::Base.connection.select_all 'SELECT * FROM [order]' + end + assert_equal '[order]', Order.table_name + assert_equal 5, Order.columns.length + end + end +end |