diff options
Diffstat (limited to 'vendor/gems/locale-2.0.5/test/test_thread.rb')
-rw-r--r-- | vendor/gems/locale-2.0.5/test/test_thread.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/gems/locale-2.0.5/test/test_thread.rb b/vendor/gems/locale-2.0.5/test/test_thread.rb new file mode 100644 index 000000000..43dba513e --- /dev/null +++ b/vendor/gems/locale-2.0.5/test/test_thread.rb @@ -0,0 +1,37 @@ +require 'locale' +require 'thread' +require 'test/unit' + +class TestThread < Test::Unit::TestCase + + def setup + Locale.init(:driver => :env) + @mutex = Mutex.new + end + + def invoke_thread(tag, sleep_time) + Thread.start do + @mutex.synchronize { + ENV["LC_ALL"] = tag + Locale.current + } + (1..10).each do |v| +# puts "#{tag}: locale = #{Locale.current}" + assert_equal tag, Locale.current.to_posix.to_s + print "." + $stdout.flush + sleep sleep_time + end + Locale.clear # Clear this thread only. + end + end + + def test_thread + th1 = invoke_thread("ja_JP.eucJP", 0.3) + th2 = invoke_thread("zh_CN.UTF-8", 0.2) + th3 = invoke_thread("en", 0.1) + th1.join + th2.join + th3.join + end +end |