|
|
|
@ -860,7 +860,8 @@ describe('UiHelper', function () {
|
|
|
|
|
jsc.array(jsc.elements(queryString)),
|
|
|
|
|
jsc.nearray(jsc.elements(base64String)),
|
|
|
|
|
function (schema, address, query, fragment) {
|
|
|
|
|
var expected = schema + '://' + address.join('') + '/' + '?' + query.join('') + '#' + fragment.join(''),
|
|
|
|
|
var expected = schema + '://' + address.join('') + '/' + '?' +
|
|
|
|
|
query.join('') + '#' + fragment.join(''),
|
|
|
|
|
clean = jsdom('', {url: expected});
|
|
|
|
|
|
|
|
|
|
// make window.location.href writable
|
|
|
|
@ -868,7 +869,9 @@ describe('UiHelper', function () {
|
|
|
|
|
writable: true,
|
|
|
|
|
value: window.location.href
|
|
|
|
|
});
|
|
|
|
|
$.PrivateBin.UiHelper.mockHistoryChange([{type: 'newpaste'}, '', expected]);
|
|
|
|
|
$.PrivateBin.UiHelper.mockHistoryChange([
|
|
|
|
|
{type: 'newpaste'}, '', expected
|
|
|
|
|
]);
|
|
|
|
|
$.PrivateBin.Helper.reset();
|
|
|
|
|
var result = window.location.href;
|
|
|
|
|
clean();
|
|
|
|
@ -891,7 +894,9 @@ describe('UiHelper', function () {
|
|
|
|
|
jsc.nearray(jsc.elements(base64String)),
|
|
|
|
|
function (schema, address, query, fragment) {
|
|
|
|
|
var expected = schema + '://' + address.join('') + '/',
|
|
|
|
|
clean = jsdom('', {url: expected + '?' + query.join('') + '#' + fragment.join('')});
|
|
|
|
|
clean = jsdom('', {
|
|
|
|
|
url: expected + '?' + query.join('') + '#' + fragment.join('')
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// make window.location.href writable
|
|
|
|
|
Object.defineProperty(window.location, 'href', {
|
|
|
|
@ -906,5 +911,29 @@ describe('UiHelper', function () {
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
describe('isVisible', function () {
|
|
|
|
|
before(function () {
|
|
|
|
|
$.PrivateBin.Helper.reset();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
jsc.property(
|
|
|
|
|
'detect visible elements',
|
|
|
|
|
jsc.nearray(jsc.elements(alnumString)),
|
|
|
|
|
jsc.nearray(jsc.elements(a2zString)),
|
|
|
|
|
function (id, element) {
|
|
|
|
|
id = id.join('');
|
|
|
|
|
element = element.join('');
|
|
|
|
|
var clean = jsdom(
|
|
|
|
|
'<' + element + ' id="' + id + '"></' + element + '>'
|
|
|
|
|
);
|
|
|
|
|
// TODO As per https://github.com/tmpvar/jsdom/issues/1048 there is no layout support in jsdom, yet.
|
|
|
|
|
// remove the "true || " below, once it is supported or a workaround is found
|
|
|
|
|
var result = true || $.PrivateBin.UiHelper.isVisible($('#' + id));
|
|
|
|
|
clean();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|