File: thread_spec.rb

package info (click to toggle)
jruby 9.4.8.0%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 89,244 kB
  • sloc: ruby: 548,574; java: 276,189; yacc: 25,873; ansic: 6,178; xml: 6,111; sh: 1,855; sed: 94; makefile: 78; jsp: 48; tcl: 40; exp: 12
file content (29 lines) | stat: -rw-r--r-- 1,018 bytes parent folder | download | duplicates (2)
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
26
27
28
29
require File.dirname(__FILE__) + "/../spec_helper"

describe "Thread" do

  context 'RubyThread' do

    it 'maintains compatibility with <= 9.3 when doing a default to_java conversion (till 9.6)' do
      if JRUBY_VERSION < '9.6'
        expect( Thread.current.to_java ).to be_a org.jruby.RubyThread
      else
        # NOTE: a naive attempt to get this looked into in 9.6 and channge the Thread#to_java default
        expect( Thread.current.to_java ).to be_a java.lang.Thread
        expect( Thread.current.to_java(java.lang.Object) ).to be java.lang.Thread.currentThread
      end
    end

    it 'is explicitly convertible to a java thread' do
      thread = Thread.start { sleep 1.0 }
      expect( thread.to_java(java.lang.Thread) ).to be_a java.lang.Thread
      expect( thread.to_java('java.lang.Runnable') ).to be_a java.lang.Thread
    end

    it 'can be converted to internal JRuby class' do
      expect( Thread.current.to_java('org.jruby.RubyThread') ).to be_a org.jruby.RubyThread
    end

  end

end