mirror of
https://github.com/imezx/Warp.git
synced 2025-04-25 07:30:02 +00:00
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
'use strict';
|
|
describe('mark with iframes where onload was already fired', function() {
|
|
var $ctx, $elements, errCall;
|
|
beforeEach(function(done) {
|
|
loadFixtures('iframes/readystate.html');
|
|
|
|
$elements = $();
|
|
$ctx = $('.iframes-readystate');
|
|
errCall = 0;
|
|
try {
|
|
var int = setInterval(function() {
|
|
var iCon = $ctx.find('iframe').first()[0].contentWindow,
|
|
readyState = iCon.document.readyState,
|
|
href = iCon.location.href;
|
|
// about:blank check is necessary for Chrome
|
|
// (see Mark~onIframeReady)
|
|
if (readyState === 'complete' && href !== 'about:blank') {
|
|
clearInterval(int);
|
|
new Mark($ctx[0]).mark('lorem', {
|
|
'diacritics': false,
|
|
'separateWordSearch': false,
|
|
'iframes': true,
|
|
'each': function($m) {
|
|
$elements = $elements.add($($m));
|
|
},
|
|
'done': done
|
|
});
|
|
}
|
|
}, 100);
|
|
} catch (e) {
|
|
errCall++;
|
|
}
|
|
}, 30000); // 30 sec timeout
|
|
|
|
it('should wrap matches inside iframes', function() {
|
|
expect(errCall).toBe(0);
|
|
expect($elements).toHaveLength(8);
|
|
var unequal = false;
|
|
$elements.each(function() {
|
|
if ($(this).prop('ownerDocument') !== $ctx.prop('ownerDocument')) {
|
|
unequal = true;
|
|
}
|
|
});
|
|
expect(unequal).toBe(true);
|
|
});
|
|
});
|