diff options
author | Marc-Andre Lafortune <github@marc-andre.ca> | 2020-12-19 22:29:16 -0500 |
---|---|---|
committer | Marc-André Lafortune <github@marc-andre.ca> | 2020-12-22 03:12:51 -0500 |
commit | f2f00e24fa14b8114d6c3bea11170b2b3e309719 (patch) | |
tree | 928bab79d8c7c97c0793a0c844578376d7e6148b /test | |
parent | ee102de6d7ec2454dc5da223483737478eb7bcc7 (diff) | |
download | ruby-f2f00e24fa14b8114d6c3bea11170b2b3e309719.tar.gz |
[ruby/date] Make Ractor-compatible
Diffstat (limited to 'test')
-rw-r--r-- | test/date/test_date_ractor.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/date/test_date_ractor.rb b/test/date/test_date_ractor.rb new file mode 100644 index 0000000000..7b0c3f4911 --- /dev/null +++ b/test/date/test_date_ractor.rb @@ -0,0 +1,27 @@ +# 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 |