making I18n class testable, adding minimal test
This commit is contained in:
parent
9d2e282772
commit
2a19b42b15
2 changed files with 35 additions and 2 deletions
|
@ -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;
|
return me;
|
||||||
})(window, document);
|
})(window, document);
|
||||||
|
|
||||||
|
@ -810,7 +822,6 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
|
||||||
$cipherData = $templates = id = symmetricKey = null;
|
$cipherData = $templates = id = symmetricKey = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* init navigation manager
|
* init navigation manager
|
||||||
*
|
*
|
||||||
|
|
24
js/test.js
24
js/test.js
|
@ -270,7 +270,8 @@ describe('Helper', function () {
|
||||||
cookieArray = [],
|
cookieArray = [],
|
||||||
count = 0;
|
count = 0;
|
||||||
labels.forEach(function(item, i) {
|
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, '');
|
value = (values[i] || values[0]).replace(/[\s;,=]/g, '');
|
||||||
cookieArray.push(key + '=' + value);
|
cookieArray.push(key + '=' + value);
|
||||||
if (Math.random() < 1 / i)
|
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('Model', function () {
|
||||||
describe('getPasteId', function () {
|
describe('getPasteId', function () {
|
||||||
before(function () {
|
before(function () {
|
||||||
|
|
Loading…
Reference in a new issue