summaryrefslogtreecommitdiff
path: root/test/pathname/test_ractor.rb
blob: f06b7501f3448bee7aaa4231033e2a158ec2a79d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true
require "test/unit"
require "pathname"

class TestPathnameRactor < Test::Unit::TestCase
  def setup
    omit unless defined? Ractor
  end

  def test_ractor_shareable
    assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
    class Ractor
      alias value take
    end unless Ractor.method_defined? :value # compat with Ruby 3.4 and olders

    begin;
      $VERBOSE = nil
      require "pathname"
      r = Ractor.new Pathname("a") do |x|
        x.join(Pathname("b"), Pathname("c"))
      end
      assert_equal(Pathname("a/b/c"), r.value)
    end;
  end
end