aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/gems/gettext-2.1.0/test/test_thread.rb
diff options
context:
space:
mode:
authorRobin Houston <robin@lenny.robin>2011-06-09 12:54:05 +0100
committerRobin Houston <robin@lenny.robin>2011-06-09 12:54:05 +0100
commit4d077dc48fb0589dbf401a131d524b23ab0d2258 (patch)
tree680b12febc448827ee937039d38e97020b4c5df9 /vendor/gems/gettext-2.1.0/test/test_thread.rb
parentcb67f4d0ef9feae96a90ea5bba63c939268b1224 (diff)
Bundle the locale and gettext gems
Diffstat (limited to 'vendor/gems/gettext-2.1.0/test/test_thread.rb')
-rw-r--r--vendor/gems/gettext-2.1.0/test/test_thread.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/gems/gettext-2.1.0/test/test_thread.rb b/vendor/gems/gettext-2.1.0/test/test_thread.rb
new file mode 100644
index 000000000..5fa8be84f
--- /dev/null
+++ b/vendor/gems/gettext-2.1.0/test/test_thread.rb
@@ -0,0 +1,41 @@
+require 'testlib/helper.rb'
+require 'thread'
+
+class TestThread < Test::Unit::TestCase
+ include GetText
+
+ bindtextdomain "test1", :path => "locale"
+
+ def setup
+ Locale.init(:driver => :env)
+ @mutex = Mutex.new
+ end
+
+ def invoke_thread(tag, language, sleep_time)
+ Thread.start do
+ @mutex.synchronize {
+ Thread.current["language"] = language
+ GetText.current_locale = tag
+ }
+ (1..10).each do |v|
+ @mutex.synchronize{
+ assert_equal Thread.current["language"], _("language")
+ }
+ print "."
+ $stdout.flush
+ sleep sleep_time
+ end
+ end
+ end
+
+ def test_thread
+ th1 = invoke_thread("ja_JP.eucJP", "japanese", 0.4)
+ th2 = invoke_thread("fr", "french", 0.3)
+ th3 = invoke_thread("en", "language", 0.1)
+ th4 = invoke_thread("zh_CN", "language", 0.2) # No translation.
+ th1.join
+ th2.join
+ th3.join
+ th4.join
+ end
+end