From 026ab3475d26d596d192f6996d304972b76781e0 Mon Sep 17 00:00:00 2001 From: Matt Claypotch Date: Thu, 6 Jan 2011 23:12:12 -0800 Subject: [PATCH] Bug 622883, l10n refactor AND new tests! --- media/js/zamboni/l10n.js | 19 ++++++++++++------- media/js/zamboni/tests/l10n_tests.js | 11 ++++++++++- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/media/js/zamboni/l10n.js b/media/js/zamboni/l10n.js index d7d6ac463c9..a79a58be0f6 100644 --- a/media/js/zamboni/l10n.js +++ b/media/js/zamboni/l10n.js @@ -179,15 +179,20 @@ $(document).ready(function () { field = $el.attr('data-name'), label = $(format("label[data-for={0}]",[field])); if (!$el.find(format("[lang={0}]",[lang])).length) { - var $ni = $el.children(".init-trans").clone(); - $ni.attr({ - class: "cloned", - lang: lang, - }); - if ($ni.is(':not(span)')) { + if ($el.children(".trans-init").length) { + var $ni = $el.children(".trans-init").clone(); $ni.attr({ + 'class': "cloned", + lang: lang, id: format('id_{0}_{1}', field, lang), - name: [field,lang].join('_') + name: [field,lang].join('_'), + value: $el.find(format("[lang={0}]",[dl])).val() + }); + } else { + var $ni = $el.find(format("[lang={0}]",dl)).clone(); + $ni.attr({ + 'class': "cloned", + lang: lang }); } $el.append($ni); diff --git a/media/js/zamboni/tests/l10n_tests.js b/media/js/zamboni/tests/l10n_tests.js index 71360d5a56b..a41e6f1918f 100644 --- a/media/js/zamboni/tests/l10n_tests.js +++ b/media/js/zamboni/tests/l10n_tests.js @@ -18,11 +18,20 @@ test('English', function() { 'development tools...'); }); -test('Japanese', function() { +test('Japanese (existing translation)', function() { z.refreshL10n('ja'); equals($('textarea:visible', this.sandbox).text().trim(), 'Firebug は、Web ページを閲覧中にクリック一つで使える豊富な開発ツールを Firefox' + ' に統合します。あなたはあらゆる'); }); +test('Afrikaans (new translation)', function() { + z.refreshL10n('af'); + equals($('[lang=af]', this.sandbox).length, 1); + equals($('textarea:visible', this.sandbox).text().trim(), + 'Firebug integrates with Firefox to put a wealth of ' + + 'development tools...'); + equals($('textarea:visible', this.sandbox).hasClass('cloned'), true); +}); + });