diff options
author | Sean Griffin <sean@thoughtbot.com> | 2015-08-06 16:24:09 -0600 |
---|---|---|
committer | Sean Griffin <sean@thoughtbot.com> | 2015-08-06 16:24:09 -0600 |
commit | 0cfa496697662a2a8cca3ce10591d846b8b43e14 (patch) | |
tree | 73c87650a24ab6470cf98b5c91585a8f36997b5f /activerecord/test | |
parent | 6caeec53d56ccd4085619435930b744bcbaf13fa (diff) | |
parent | 7f2037a990fd81e07f612169f72e8d59fc2a4e52 (diff) | |
download | rails-0cfa496697662a2a8cca3ce10591d846b8b43e14.tar.gz rails-0cfa496697662a2a8cca3ce10591d846b8b43e14.tar.bz2 rails-0cfa496697662a2a8cca3ce10591d846b8b43e14.zip |
Merge pull request #20459
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/migration/postgresql_geometric_types_test.rb | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/activerecord/test/cases/migration/postgresql_geometric_types_test.rb b/activerecord/test/cases/migration/postgresql_geometric_types_test.rb new file mode 100644 index 0000000000..e4772905bb --- /dev/null +++ b/activerecord/test/cases/migration/postgresql_geometric_types_test.rb @@ -0,0 +1,93 @@ +require 'cases/helper' + +module ActiveRecord + class Migration + class PostgreSQLGeometricTypesTest < ActiveRecord::TestCase + attr_reader :connection, :table_name + + def setup + super + @connection = ActiveRecord::Base.connection + @table_name = :testings + end + + if current_adapter?(:PostgreSQLAdapter) + def test_creating_column_with_point_type + connection.create_table(table_name) do |t| + t.point :foo_point + end + + assert_column_exists(:foo_point) + assert_type_correct(:foo_point, :point) + end + + def test_creating_column_with_line_type + connection.create_table(table_name) do |t| + t.line :foo_line + end + + assert_column_exists(:foo_line) + assert_type_correct(:foo_line, :line) + end + + def test_creating_column_with_lseg_type + connection.create_table(table_name) do |t| + t.lseg :foo_lseg + end + + assert_column_exists(:foo_lseg) + assert_type_correct(:foo_lseg, :lseg) + end + + def test_creating_column_with_box_type + connection.create_table(table_name) do |t| + t.box :foo_box + end + + assert_column_exists(:foo_box) + assert_type_correct(:foo_box, :box) + end + + def test_creating_column_with_path_type + connection.create_table(table_name) do |t| + t.path :foo_path + end + + assert_column_exists(:foo_path) + assert_type_correct(:foo_path, :path) + end + + def test_creating_column_with_polygon_type + connection.create_table(table_name) do |t| + t.polygon :foo_polygon + end + + assert_column_exists(:foo_polygon) + assert_type_correct(:foo_polygon, :polygon) + end + + def test_creating_column_with_circle_type + connection.create_table(table_name) do |t| + t.circle :foo_circle + end + + assert_column_exists(:foo_circle) + assert_type_correct(:foo_circle, :circle) + end + end + + private + def assert_column_exists(column_name) + columns = connection.columns(table_name) + assert columns.map(&:name).include?(column_name.to_s) + end + + def assert_type_correct(column_name, type) + columns = connection.columns(table_name) + column = columns.select{ |c| c.name == column_name.to_s }.first + assert_equal type.to_s, column.sql_type + end + + end + end +end
\ No newline at end of file |