diff --git a/js/test.js b/js/test.js
index d9eb8703..93e7a8c1 100644
--- a/js/test.js
+++ b/js/test.js
@@ -71,24 +71,48 @@ describe('helper', function () {
describe('selectText', function () {
jsc.property(
'selection contains content of given ID',
+ jsc.nearray(jsc.nearray(jsc.elements(alnumString))),
'nearray string',
- 'nearray nestring',
function (ids, contents) {
- //console.log(ids, contents);
var html = '',
result = true;
ids.forEach(function(item, i) {
- html += '
' + (contents[i] || contents[0]) + '
';
+ html += '' + (contents[i] || contents[0]) + '
';
});
var clean = jsdom(html);
ids.forEach(function(item, i) {
- $.PrivateBin.helper.selectText(item);
+ $.PrivateBin.helper.selectText(item.join(''));
// TODO: As per https://github.com/tmpvar/jsdom/issues/321 there is no getSelection in jsdom, yet.
// Once there is one, uncomment the line below to actually check the result.
//result *= (contents[i] || contents[0]) === window.getSelection().toString();
});
clean();
- return result;
+ return Boolean(result);
+ }
+ );
+ });
+
+ describe('setElementText', function () {
+ jsc.property(
+ 'replaces the content of an element',
+ jsc.nearray(jsc.nearray(jsc.elements(alnumString))),
+ 'nearray string',
+ 'string',
+ function (ids, contents, replacingContent) {
+ var html = '',
+ result = true;
+ ids.forEach(function(item, i) {
+ html += '' + (contents[i] || contents[0]) + '
';
+ });
+ var clean = jsdom(html);
+ ids.forEach(function(item, i) {
+ var id = item.join(''),
+ element = $(document.getElementById(id));
+ $.PrivateBin.helper.setElementText(element, replacingContent);
+ result *= replacingContent === $(document.getElementById(id)).text();
+ });
+ clean();
+ return Boolean(result);
}
);
});