making I18n class testable, adding minimal test
This commit is contained in:
parent
9d2e282772
commit
2a19b42b15
@ -538,6 +538,18 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* resets state, used for unit testing
|
||||
*
|
||||
* @name I18n.reset
|
||||
* @function
|
||||
*/
|
||||
me.reset = function()
|
||||
{
|
||||
language = null;
|
||||
translations = {};
|
||||
}
|
||||
|
||||
return me;
|
||||
})(window, document);
|
||||
|
||||
@ -810,7 +822,6 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
|
||||
$cipherData = $templates = id = symmetricKey = null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* init navigation manager
|
||||
*
|
||||
|
24
js/test.js
24
js/test.js
@ -270,7 +270,8 @@ describe('Helper', function () {
|
||||
cookieArray = [],
|
||||
count = 0;
|
||||
labels.forEach(function(item, i) {
|
||||
var key = item.replace(/[\s;,=]/g, 'x'),
|
||||
// deliberatly using a non-ascii key for replacing invalid characters
|
||||
var key = item.replace(/[\s;,=]/g, '£'),
|
||||
value = (values[i] || values[0]).replace(/[\s;,=]/g, '');
|
||||
cookieArray.push(key + '=' + value);
|
||||
if (Math.random() < 1 / i)
|
||||
@ -325,6 +326,27 @@ describe('Helper', function () {
|
||||
});
|
||||
});
|
||||
|
||||
describe('I18n', function () {
|
||||
describe('translate', function () {
|
||||
before(function () {
|
||||
$.PrivateBin.I18n.reset();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'returns message ID unchanged if no translation found',
|
||||
'string',
|
||||
function (messageId) {
|
||||
var result = $.PrivateBin.I18n.translate(messageId);
|
||||
$.PrivateBin.I18n.reset();
|
||||
var alias = $.PrivateBin.I18n._(messageId);
|
||||
$.PrivateBin.I18n.reset();
|
||||
return messageId === result &&
|
||||
messageId === alias;
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Model', function () {
|
||||
describe('getPasteId', function () {
|
||||
before(function () {
|
||||
|
Loading…
Reference in New Issue
Block a user