1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/date/test_date_ractor.rb
2020-12-22 03:12:51 -05:00

27 lines
767 B
Ruby

# frozen_string_literal: true
require 'test/unit'
require 'date'
class TestDateParse < Test::Unit::TestCase
def code(klass = Date, share: false)
<<~RUBY.gsub('Date', klass.name)
share = #{share}
d = Date.parse('Aug 23:55')
Ractor.make_shareable(d) if share
d2, d3 = Ractor.new(d) { |d| [d, Date.parse(d.to_s)] }.take
if share
assert_same d, d2
else
assert_equal d, d2
end
assert_equal d, d3
RUBY
end
def test_date_ractor
assert_ractor(code , require: 'date')
assert_ractor(code( share: true), require: 'date')
assert_ractor(code(DateTime ), require: 'date')
assert_ractor(code(DateTime, share: true), require: 'date')
end
end