Browse Source

ensuring that both critical branches get tested

El RIDO 6 years ago
parent
commit
fd4492f229
1 changed files with 20 additions and 2 deletions
  1. 20 2
      js/test/I18n.js

+ 20 - 2
js/test/I18n.js

@@ -39,13 +39,13 @@ describe('I18n', function () {
             }
         );
         jsc.property(
-            'replaces %s in strings with first given parameter',
+            'replaces %s in strings with first given parameter, encoding all, when no link is in the messageID',
             'string',
             '(small nearray) string',
             'string',
             function (prefix, params, postfix) {
                 prefix    =    prefix.replace(/%(s|d)/g, '%%');
-                params[0] = params[0].replace(/%(s|d)/g, '%%');
+                params[0] = params[0].replace(/%(s|d)/g, '%%').replace(/%<a/g, '');
                 postfix   =   postfix.replace(/%(s|d)/g, '%%');
                 var translation = $.PrivateBin.Helper.htmlEntities(prefix + params[0] + postfix);
                 params.unshift(prefix + '%s' + postfix);
@@ -56,6 +56,24 @@ describe('I18n', function () {
                 return translation === result && translation === alias;
             }
         );
+        jsc.property(
+                'replaces %s in strings with first given parameter, encoding params only, when a link is part of the messageID',
+                'string',
+                '(small nearray) string',
+                'string',
+                function (prefix, params, postfix) {
+                    prefix    =    prefix.replace(/%(s|d)/g, '%%');
+                    params[0] = params[0].replace(/%(s|d)/g, '%%') + '<a/>';
+                    postfix   =   postfix.replace(/%(s|d)/g, '%%');
+                    var translation = $.PrivateBin.Helper.htmlEntities(prefix + params[0] + postfix);
+                    params.unshift(prefix + '%s' + postfix);
+                    var result = $.PrivateBin.I18n.translate.apply(this, params);
+                    $.PrivateBin.I18n.reset();
+                    var alias = $.PrivateBin.I18n._.apply(this, params);
+                    $.PrivateBin.I18n.reset();
+                    return translation === result && translation === alias;
+                }
+            );
     });
 
     describe('getPluralForm', function () {