diff options
author | Sebastian Celis <sebastian@sebastiancelis.com> | 2017-07-31 18:19:24 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-31 18:19:24 +0300 |
commit | cd28717f92ce20106bc822f5c9e11a83657dcb23 (patch) | |
tree | 2dfc30b82f0f8f9d74db01679efd0a734433774d | |
parent | f7e74392fa5c346a585432bde78188e5a0fb9de6 (diff) | |
parent | 1270ef2767a064950bd4457f838e025040795245 (diff) |
Merge pull request #200 from scelis/fix-po-language-detection
Fix language detection for .po formatters
-rw-r--r-- | lib/twine/formatters/django.rb | 2 | ||||
-rw-r--r-- | lib/twine/formatters/gettext.rb | 6 | ||||
-rw-r--r-- | test/test_formatters.rb | 10 |
3 files changed, 12 insertions, 6 deletions
diff --git a/lib/twine/formatters/django.rb b/lib/twine/formatters/django.rb index 5c88766..4687c1a 100644 --- a/lib/twine/formatters/django.rb +++ b/lib/twine/formatters/django.rb @@ -16,7 +16,7 @@ module Twine def determine_language_given_path(path) path_arr = path.split(File::SEPARATOR) path_arr.each do |segment| - match = /(..)\.po$/.match(segment) + match = /([a-z]{2}(-[A-Za-z]{2})?)\.po$/.match(segment) return match[1] if match end diff --git a/lib/twine/formatters/gettext.rb b/lib/twine/formatters/gettext.rb index d63e944..c0dc1ac 100644 --- a/lib/twine/formatters/gettext.rb +++ b/lib/twine/formatters/gettext.rb @@ -18,10 +18,8 @@ module Twine def determine_language_given_path(path) path_arr = path.split(File::SEPARATOR) path_arr.each do |segment| - match = /(..)\.po$/.match(segment) - if match - return match[1] - end + match = /([a-z]{2}(-[A-Za-z]{2})?)\.po$/.match(segment) + return match[1] if match end return diff --git a/test/test_formatters.rb b/test/test_formatters.rb index 6c40a5b..ae10a69 100644 --- a/test/test_formatters.rb +++ b/test/test_formatters.rb @@ -267,7 +267,6 @@ class TestJQueryFormatter < FormatterTest end class TestGettextFormatter < FormatterTest - def setup super Twine::Formatters::Gettext end @@ -290,6 +289,10 @@ class TestGettextFormatter < FormatterTest assert_equal content('formatter_gettext.po'), formatter.format_file('en') end + def test_deducts_language_and_region + language = "en-GB" + assert_equal language, @formatter.determine_language_given_path("#{language}.po") + end end class TestTizenFormatter < FormatterTest @@ -329,6 +332,11 @@ class TestDjangoFormatter < FormatterTest formatter.twine_file = @twine_file assert_equal content('formatter_django.po'), formatter.format_file('en') end + + def test_deducts_language_and_region + language = "en-GB" + assert_equal language, @formatter.determine_language_given_path("#{language}.po") + end end class TestFlashFormatter < FormatterTest |