diff options
author | webchick <webchick@24967.no-reply.drupal.org> | 2011-11-14 02:17:32 -0500 |
---|---|---|
committer | webchick <webchick@24967.no-reply.drupal.org> | 2011-11-14 02:17:32 -0500 |
commit | cfc35a0b3e05245e27516631724c668e11ff955d (patch) | |
tree | c6720c52c9cc3af3a5eb44e6e187caa8742f0558 /modules/locale | |
parent | f77015e645feb5e805850f24cb988743077724eb (diff) | |
download | brdo-cfc35a0b3e05245e27516631724c668e11ff955d.tar.gz brdo-cfc35a0b3e05245e27516631724c668e11ff955d.tar.bz2 |
Issue #488496 by loganfsmyth, Gábor Hojtsy: Implement missing msgctx context in JS translation for feature parity with t().
Diffstat (limited to 'modules/locale')
-rw-r--r-- | modules/locale/locale.test | 68 | ||||
-rw-r--r-- | modules/locale/tests/locale_test.js | 11 |
2 files changed, 56 insertions, 23 deletions
diff --git a/modules/locale/locale.test b/modules/locale/locale.test index 5ab0d2887..5eb1cd342 100644 --- a/modules/locale/locale.test +++ b/modules/locale/locale.test @@ -204,43 +204,65 @@ class LocaleJavascriptTranslationTest extends DrupalWebTestCase { // Get all of the source strings that were found. $source_strings = db_select('locales_source', 's') - ->fields('s', array('source', 'lid')) + ->fields('s', array('source', 'context')) ->condition('s.location', $filename) ->execute() ->fetchAllKeyed(); // List of all strings that should be in the file. $test_strings = array( - "Standard Call t", - "Whitespace Call t", + "Standard Call t" => '', + "Whitespace Call t" => '', - "Single Quote t", - "Single Quote \\'Escaped\\' t", - "Single Quote Concat strings t", + "Single Quote t" => '', + "Single Quote \\'Escaped\\' t" => '', + "Single Quote Concat strings t" => '', - "Double Quote t", - "Double Quote \\\"Escaped\\\" t", - "Double Quote Concat strings t", + "Double Quote t" => '', + "Double Quote \\\"Escaped\\\" t" => '', + "Double Quote Concat strings t" => '', - "Standard Call plural", - "Standard Call @count plural", - "Whitespace Call plural", - "Whitespace Call @count plural", + "Context !key Args t" => "Context string", - "Single Quote plural", - "Single Quote @count plural", - "Single Quote \\'Escaped\\' plural", - "Single Quote \\'Escaped\\' @count plural", + "Context Unquoted t" => "Context string unquoted", + "Context Single Quoted t" => "Context string single quoted", + "Context Double Quoted t" => "Context string double quoted", - "Double Quote plural", - "Double Quote @count plural", - "Double Quote \\\"Escaped\\\" plural", - "Double Quote \\\"Escaped\\\" @count plural", + "Standard Call plural" => '', + "Standard Call @count plural" => '', + "Whitespace Call plural" => '', + "Whitespace Call @count plural" => '', + + "Single Quote plural" => '', + "Single Quote @count plural" => '', + "Single Quote \\'Escaped\\' plural" => '', + "Single Quote \\'Escaped\\' @count plural" => '', + + "Double Quote plural" => '', + "Double Quote @count plural" => '', + "Double Quote \\\"Escaped\\\" plural" => '', + "Double Quote \\\"Escaped\\\" @count plural" => '', + + "Context !key Args plural" => "Context string", + "Context !key Args @count plural" => "Context string", + + "Context Unquoted plural" => "Context string unquoted", + "Context Unquoted @count plural" => "Context string unquoted", + "Context Single Quoted plural" => "Context string single quoted", + "Context Single Quoted @count plural" => "Context string single quoted", + "Context Double Quoted plural" => "Context string double quoted", + "Context Double Quoted @count plural" => "Context string double quoted", ); // Assert that all strings were found properly. - foreach ($test_strings as $str) { - $this->assertTrue(isset($source_strings[$str]), t("Found source string: %source", array('%source' => $str))); + foreach ($test_strings as $str => $context) { + $args = array('%source' => $str, '%context' => $context); + + // Make sure that the string was found in the file. + $this->assertTrue(isset($source_strings[$str]), t("Found source string: %source", $args)); + + // Make sure that the proper context was matched. + $this->assertTrue(isset($source_strings[$str]) && $source_strings[$str] === $context, strlen($context) > 0 ? t("Context for %source is %context", $args) : t("Context for %source is blank", $args)); } $this->assertEqual(count($source_strings), count($test_strings), t("Found correct number of source strings.")); diff --git a/modules/locale/tests/locale_test.js b/modules/locale/tests/locale_test.js index 5a9bbec22..0693bcad2 100644 --- a/modules/locale/tests/locale_test.js +++ b/modules/locale/tests/locale_test.js @@ -16,6 +16,11 @@ Drupal.t("Double Quote t"); Drupal.t("Double Quote \"Escaped\" t"); Drupal.t("Double Quote " + "Concat " + "strings " + "t"); +Drupal.t("Context Unquoted t", {}, {context: "Context string unquoted"}); +Drupal.t("Context Single Quoted t", {}, {'context': "Context string single quoted"}); +Drupal.t("Context Double Quoted t", {}, {"context": "Context string double quoted"}); + +Drupal.t("Context !key Args t", {'!key': 'value'}, {context: "Context string"}); Drupal.formatPlural(1, "Standard Call plural", "Standard Call @count plural"); Drupal @@ -33,3 +38,9 @@ Drupal.formatPlural(1, 'Single Quote \'Escaped\' plural', 'Single Quote \'Escape Drupal.formatPlural(1, "Double Quote plural", "Double Quote @count plural"); Drupal.formatPlural(1, "Double Quote \"Escaped\" plural", "Double Quote \"Escaped\" @count plural"); + +Drupal.formatPlural(1, "Context Unquoted plural", "Context Unquoted @count plural", {}, {context: "Context string unquoted"}); +Drupal.formatPlural(1, "Context Single Quoted plural", "Context Single Quoted @count plural", {}, {'context': "Context string single quoted"}); +Drupal.formatPlural(1, "Context Double Quoted plural", "Context Double Quoted @count plural", {}, {"context": "Context string double quoted"}); + +Drupal.formatPlural(1, "Context !key Args plural", "Context !key Args @count plural", {'!key': 'value'}, {context: "Context string"}); |