diff --git a/src/manager.js b/src/manager.js index 03dab70..55bdcc2 100644 --- a/src/manager.js +++ b/src/manager.js @@ -288,14 +288,14 @@ AdManager.prototype.onSlotRenderEnded = function (event) { if (event.isEmpty) { element.setAttribute('data-ad-load-state', 'empty'); } else { - - if (this.adUnits.units[element.dataset.adUnit].onSlotRenderEnded) { - this.adUnits.units[element.dataset.adUnit].onSlotRenderEnded(event, element); - } - element.setAttribute('data-ad-load-state', 'loaded'); - utils.dispatchEvent(element, 'dfpSlotRenderEnded'); } + + if (this.adUnits.units[element.dataset.adUnit].onSlotRenderEnded) { + this.adUnits.units[element.dataset.adUnit].onSlotRenderEnded(event, element); + } + + utils.dispatchEvent(element, 'dfpSlotRenderEnded'); }; /** @@ -311,7 +311,7 @@ AdManager.prototype.onImpressionViewable = function (event) { if (this.adUnits.units[element.dataset.adUnit].onImpressionViewable) { this.adUnits.units[element.dataset.adUnit].onImpressionViewable(event, element); } - + utils.dispatchEvent(element, 'dfpImpressionViewable'); }; diff --git a/src/manager.spec.js b/src/manager.spec.js index 6f500c7..1517c0a 100644 --- a/src/manager.spec.js +++ b/src/manager.spec.js @@ -484,14 +484,14 @@ describe('AdManager', function() { expect(eventSpy.called).to.be.true; }); - it('- does not dispatch slot render end, does not call callback when ad comes back empty', function() { + it('- dispatches slot render end, calls callback even when ad comes back empty', function() { event.isEmpty = true; adManager.onSlotRenderEnded(event); expect($(adElement).data('ad-load-state')).to.equal('empty'); - expect(adManager.adUnits.units.header.onSlotRenderEnded.called).to.be.false; - expect(eventSpy.called).to.be.false; + expect(adManager.adUnits.units.header.onSlotRenderEnded.called).to.be.true; + expect(eventSpy.called).to.be.true; }); });