Sha256: 154d854003ab46a6aa30b84c3db94bc5b41be1ea9d6666d29039296eb544ff10

Contents?: true

Size: 975 Bytes

Versions: 4

Compression:

Stored size: 975 Bytes

Contents

require 'test/unit'
require File.expand_path('../../../test_helper.rb', __FILE__)

# Test Thread.current stuff.
class Concern::Audit::AuthorTest < Test::Unit::TestCase

  def setup
    Concern::Audit::Author.current = nil
  end
  
  def test_author_setting_in_single_thread
    Concern::Audit::Author.current

    assert_nil Concern::Audit::Author.current
    Concern::Audit::Author.current="the_author"

    assert_equal("the_author", Concern::Audit::Author.current)
  end
  
  def test_author_setting_in_different_threads
    Concern::Audit::Author.current="outer_thread"

    assert_equal("outer_thread", Concern::Audit::Author.current)

    t = Thread.fork do
      assert_nil Concern::Audit::Author.current

      Concern::Audit::Author.current="in_thread"

      assert_equal("in_thread", Concern::Audit::Author.current)
    end

    # check if outer thread has still original value
    t.join
    assert_equal("outer_thread", Concern::Audit::Author.current)
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ar-audit-tracer-1.0.1 test/concern/audit/author_test.rb
ar-audit-tracer-1.0.0 test/concern/audit/author_test.rb
ar-audit-tracer-0.2.0 test/concern/audit/author_test.rb
ar-audit-tracer-0.1.0 test/concern/audit/author_test.rb