提交 b78e3b5e 编写于 作者: R Ryuta Kamizono

Test that no datetime precision isn't truncated on assignment

Also, max precision (= 6) isn't regarded as unlimited precision for now.
上级 7c95c522
......@@ -29,7 +29,7 @@ def test_datetime_data_type_with_precision
def test_datetime_precision_is_truncated_on_assignment
@connection.create_table(:foos, force: true)
@connection.add_column :foos, :created_at, :datetime, precision: 0
@connection.add_column :foos, :created_at, :datetime, precision: 0
@connection.add_column :foos, :updated_at, :datetime, precision: 6
time = ::Time.now.change(nsec: 123456789)
......@@ -45,6 +45,26 @@ def test_datetime_precision_is_truncated_on_assignment
assert_equal 123456000, foo.updated_at.nsec
end
unless current_adapter?(:Mysql2Adapter)
def test_no_datetime_precision_isnt_truncated_on_assignment
@connection.create_table(:foos, force: true)
@connection.add_column :foos, :created_at, :datetime
@connection.add_column :foos, :updated_at, :datetime, precision: 6
time = ::Time.now.change(nsec: 123)
foo = Foo.new(created_at: time, updated_at: time)
assert_equal 123, foo.created_at.nsec
assert_equal 0, foo.updated_at.nsec
foo.save!
foo.reload
assert_equal 0, foo.created_at.nsec
assert_equal 0, foo.updated_at.nsec
end
end
def test_timestamps_helper_with_custom_precision
@connection.create_table(:foos, force: true) do |t|
t.timestamps precision: 4
......
......@@ -45,6 +45,26 @@ def test_time_precision_is_truncated_on_assignment
assert_equal 123456000, foo.finish.nsec
end
unless current_adapter?(:Mysql2Adapter)
def test_no_time_precision_isnt_truncated_on_assignment
@connection.create_table(:foos, force: true)
@connection.add_column :foos, :start, :time
@connection.add_column :foos, :finish, :time, precision: 6
time = ::Time.now.change(nsec: 123)
foo = Foo.new(start: time, finish: time)
assert_equal 123, foo.start.nsec
assert_equal 0, foo.finish.nsec
foo.save!
foo.reload
assert_equal 0, foo.start.nsec
assert_equal 0, foo.finish.nsec
end
end
def test_passing_precision_to_time_does_not_set_limit
@connection.create_table(:foos, force: true) do |t|
t.time :start, precision: 3
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册