bdd.it('should be visible 100%', function() { var dimensions = ' width: 300px; height: 50px;'; fixture.add('<div id="natural">test</div>'); var element = document.getElementById('natural'); element.parentElement.setAttribute('style', reset + dimensions); element.setAttribute('style', reset + dimensions); element.scrollIntoView(); expect(fixFloat(visibleArea(element))).to.equal(1); });
bdd.it('should be visible 75% when parent ist scrolled 125%', function() { if (document.body.getBoundingClientRect().top < 0) { // works fine when run manually in iOS simulator on BrowserStack, // but fails via WebDriver on BrowserStack. This modules is also // tested by when.visible-area.test, so just skip it. this.skip('scrolled body prevents this test from succeeding'); } fixture.outer.scrollLeft = 250; expect(fixFloat(visibleArea(fixture.target))).to.equal(0.75); });
bdd.it('should be visible 0%', function() { fixture.add([ /* eslint-disable indent */ '<div id="container" style="width: 20px; height: 20px; overflow: hidden">', '<div id="nested-container" style="width: 20px; height: 20px; margin-left: 30px; overflow: hidden;">', '<div id="nested-target">target</div>', '</div>', '</div>', /*eslint-enable indent */ ]); var element = document.getElementById('nested-target'); expect(fixFloat(visibleArea(element))).to.equal(0); });
bdd.it('should be visible 25% when parent ist scrolled 25%', function() { fixture.outer.scrollLeft = 50; expect(fixFloat(visibleArea(fixture.target))).to.equal(0.25); });
bdd.it('should be visible 0% when parent ist scrolled 0%', function() { expect(fixFloat(visibleArea(fixture.target))).to.equal(0); });
bdd.it('should be visible 75% when element ist translated 125%', function() { fixture.outer.scrollLeft = 0; transform(fixture.inner, 'translate(-250px, 0px)'); expect(fixFloat(visibleArea(fixture.target))).to.equal(0.75); });
bdd.it('should be visible 100% when parent ist scrolled 100%', function() { fixture.outer.scrollLeft = 200; expect(fixFloat(visibleArea(fixture.target))).to.equal(1); });