Skip to content
This repository was archived by the owner on Feb 13, 2019. It is now read-only.

Commit 565e0ac

Browse files
author
Chris Sinchok
committed
Merge branch 'master' of github.com:theonion/videojs-vast-plugin
2 parents 342af6e + ebe59f0 commit 565e0ac

File tree

3 files changed

+24
-27
lines changed

3 files changed

+24
-27
lines changed

bower.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
"dependencies": {
3131
"videojs": "4.4.3",
3232
"vast-client-js": "1.1.2",
33-
"videojs-contrib-ads": "0.4.0"
33+
"videojs-contrib-ads": "0.5.0"
3434
}
3535
}

spec/VastPluginSpec.js

+12-10
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ describe('videojs.vast plugin', function() {
3434
}
3535
})();
3636
player = videojs(id);
37-
player.ads();
38-
player.vast({
39-
url: ""
40-
});
37+
// player.ads();
38+
// player.vast({
39+
// url: ""
40+
// });
4141
});
4242

4343

@@ -70,11 +70,11 @@ describe('videojs.vast plugin', function() {
7070
});
7171

7272
it("should bail out if no url is provided", function() {
73-
spyOn(this.p, "trigger");
7473
this.p.ads();
7574
var result = this.p.vast({});
76-
expect(result).toBe(null);
77-
expect(this.p.trigger).toHaveBeenCalledWith("adtimeout");
75+
spyOn(this.p, "trigger").and.callThrough();
76+
this.p.trigger('readyforpreroll');
77+
expect(this.p.trigger).toHaveBeenCalledWith("adscanceled");
7878
});
7979

8080
it("should request an ad if a source is already loaded", function() {
@@ -122,6 +122,7 @@ describe('videojs.vast plugin', function() {
122122
describe("tearDown", function() {
123123

124124
it("should end the linear ad", function() {
125+
player.ads();
125126
player.vast({ url: 'balhbahblhab' });
126127

127128
spyOn(player.ads, "endLinearAdMode");
@@ -143,6 +144,7 @@ describe('videojs.vast plugin', function() {
143144
describe("preroll", function() {
144145

145146
beforeEach(function() {
147+
player.ads();
146148
player.vast({ url: 'balhbahblhab' });
147149
player.vastTracker = {
148150
clickThroughURLTemplate: "a whole new page",
@@ -163,7 +165,7 @@ describe('videojs.vast plugin', function() {
163165
});
164166

165167
it("should end the ad", function() {
166-
spyOn(player, "one");
168+
spyOn(player, "one");
167169
player.vast.preroll();
168170
expect(player.one).toHaveBeenCalledWith("ended", jasmine.any(Function));
169171
});
@@ -187,7 +189,7 @@ describe('videojs.vast plugin', function() {
187189

188190
spyOn(player, "trigger");
189191
player.vast.getContent("some url");
190-
expect(player.trigger).toHaveBeenCalledWith("adtimeout");
192+
expect(player.trigger).toHaveBeenCalledWith("adscanceled");
191193
});
192194

193195
describe("linear ads", function() {
@@ -231,7 +233,7 @@ describe('videojs.vast plugin', function() {
231233
expect(DMVAST.util.track).toHaveBeenCalledWith(
232234
jasmine.any(String), jasmine.any(Object)
233235
);
234-
expect(player.trigger).toHaveBeenCalledWith("adtimeout");
236+
expect(player.trigger).toHaveBeenCalledWith("adscanceled");
235237
});
236238
});
237239

videojs.vast.js

+11-16
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
player.vast.sources = player.vast.createSourceObjects(creative.mediaFiles);
8888

8989
if (!player.vast.sources.length) {
90-
player.trigger('adtimeout');
90+
player.trigger('adscanceled');
9191
return;
9292
}
9393

@@ -118,7 +118,7 @@
118118

119119
if (!player.vastTracker) {
120120
// No pre-roll, start video
121-
player.trigger('adtimeout');
121+
player.trigger('adscanceled');
122122
}
123123
});
124124
},
@@ -135,13 +135,11 @@
135135
}
136136
player.vastTracker.setProgress(player.currentTime());
137137
},
138-
playFn = function() {
139-
if (player.ads.state === 'ad-playback') {
140-
player.vastTracker.setPaused(false);
141-
}
142-
},
143138
pauseFn = function() {
144139
player.vastTracker.setPaused(true);
140+
player.one('play', function(){
141+
player.vastTracker.setPaused(false);
142+
});
145143
},
146144
errorFn = function() {
147145
// Inform ad server we couldn't play the media file for this ad
@@ -152,14 +150,12 @@
152150

153151
player.on('canplay', canplayFn);
154152
player.on('timeupdate', timeupdateFn);
155-
player.on('play', playFn);
156153
player.on('pause', pauseFn);
157154
player.on('error', errorFn);
158155

159-
player.one('ended', function() {
156+
player.one('vast-preroll-removed', function() {
160157
player.off('canplay', canplayFn);
161158
player.off('timeupdate', timeupdateFn);
162-
player.off('play', playFn);
163159
player.off('pause', pauseFn);
164160
player.off('error', errorFn);
165161
if (!errorOccurred) {
@@ -281,12 +277,6 @@
281277
return null;
282278
}
283279

284-
// if we don't have a vast url, just bail out
285-
if (!settings.url) {
286-
player.trigger('adtimeout');
287-
return null;
288-
}
289-
290280
// set up vast plugin, then set up events here
291281
player.vast = new Vast(player, settings);
292282

@@ -313,6 +303,11 @@
313303
});
314304

315305
player.on('readyforpreroll', function() {
306+
// if we don't have a vast url, just bail out
307+
if (!settings.url) {
308+
player.trigger('adscanceled');
309+
return null;
310+
}
316311
// set up and start playing preroll
317312
player.vast.preroll();
318313
});

0 commit comments

Comments
 (0)