diff --git a/lib/twine/formatters/jquery.rb b/lib/twine/formatters/jquery.rb index 13f066e..cf6ab0a 100644 --- a/lib/twine/formatters/jquery.rb +++ b/lib/twine/formatters/jquery.rb @@ -25,6 +25,11 @@ module Twine return end + def set_translation_for_key(key, lang, value) + value = value.gsub("\n","\\n") + super(key, lang, value) + end + def read_file(path, lang) begin require "json" @@ -35,7 +40,6 @@ module Twine open(path) do |io| json = JSON.load(io) json.each do |key, value| - value = value.gsub("\n","\\n") set_translation_for_key(key, lang, value) end end diff --git a/test/test_formatters.rb b/test/test_formatters.rb index f059914..efd6bd7 100644 --- a/test/test_formatters.rb +++ b/test/test_formatters.rb @@ -132,6 +132,12 @@ class TestJQueryFormatter < FormatterTest end end + def test_set_translation_escapes_newlines + @formatter.set_translation_for_key 'key1', 'en', "new\nline" + + assert_equal 'new\nline', @strings.strings_map['key1'].translations['en'] + end + def test_write_file_output_format formatter = Twine::Formatters::JQuery.new @twine_file, {} formatter.write_file @output_path, 'en'