'use strict';
describe('mark with acrossElements and iframes', function() {
  var $ctx, $elements, errCall;
  beforeEach(function(done) {
    loadFixtures('across-elements/iframes/main.html');

    $elements = $();
    $ctx = $('.across-elements-iframes');
    errCall = 0;
    try {
      new Mark($ctx[0]).mark('lorem', {
        'diacritics': false,
        'separateWordSearch': false,
        'iframes': true,
        'acrossElements': true,
        'each': function($m) {
          $elements = $elements.add($($m));
        },
        'done': done
      });
    } 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() {
      // make sure that some elements are inside an iframe
      if ($(this).prop('ownerDocument') !== $ctx.prop('ownerDocument')) {
        unequal = true;
      }
    });
    expect(unequal).toBe(true);
  });
});
