Skip to content

Commit

Permalink
fix(VideoLoader): don't control video tag's resource
Browse files Browse the repository at this point in the history
ref #149
  • Loading branch information
happyhj committed Feb 13, 2018
1 parent c27870f commit 68de469
Show file tree
Hide file tree
Showing 21 changed files with 119 additions and 107 deletions.
28 changes: 14 additions & 14 deletions dist/PanoViewer/view360.panoviewer.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/PanoViewer/view360.panoviewer.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/PanoViewer/view360.panoviewer.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/PanoViewer/view360.panoviewer.min.js.map

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions dist/PanoViewer/view360.panoviewer.pkgd.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/PanoViewer/view360.panoviewer.pkgd.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/PanoViewer/view360.panoviewer.pkgd.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/PanoViewer/view360.panoviewer.pkgd.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/SpinViewer/view360.spinviewer.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/SpinViewer/view360.spinviewer.pkgd.js.map

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions dist/view360.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/view360.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/view360.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/view360.min.js.map

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions dist/view360.pkgd.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/view360.pkgd.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/view360.pkgd.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/view360.pkgd.min.js.map

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions src/PanoImageRenderer/VideoLoader.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,23 +93,23 @@ export default class VideoLoader {
} else {
this._appendSourceElement(video);
}
}

// count sources to count
if (!this._video.getAttribute("src")) {
this._sourceCount = this._video.querySelectorAll("source").length;
} else {
this._sourceCount = 1;
}
// count sources to count
if (!this._video.getAttribute("src")) {
this._sourceCount = this._video.querySelectorAll("source").length;
} else {
this._sourceCount = 1;
}

if (this._sourceCount > 0) {
if (this._video.readyState < this._thresholdReadyState) {
this._video.load();
// attach loading error listener
this._attachErrorHandler(this._onerror);
if (this._sourceCount > 0) {
if (this._video.readyState < this._thresholdReadyState) {
this._video.load();
// attach loading error listener
this._attachErrorHandler(this._onerror);
}
} else {
this._video = null;
}
} else {
this._video = null;
}
}

Expand Down
23 changes: 0 additions & 23 deletions test/unit/PanoImageRenderer/VideoLoader.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,29 +114,6 @@ describe("VideoLoader", function() {
});
});

it("should reject when src on video tag is invalid, and has valid sorce tags", function() {
// Given && When
const videoEl = document.createElement("video");
const sourceEl1 = document.createElement("source");
const sourceEl2 = document.createElement("source");

videoEl.src = "./images/PanoViewer/invalid.mp4";
sourceEl1.src = "./images/PanoViewer/pano.mp4";
sourceEl2.src = "./images/PanoViewer/pano.mp4";
videoEl.appendChild(sourceEl1);
videoEl.appendChild(sourceEl2);
videoEl.load();

this.inst = new VideoLoader(videoEl);

expect(this.inst).to.be.exist;

// Then
return this.inst.get()
.then(() => false, () => true);
});


it("should fails when url is invalid#1", function() {
this.inst = new VideoLoader("https://invalidurl.png");

Expand Down
35 changes: 35 additions & 0 deletions test/unit/PanoViewer/PanoViewer.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,41 @@ describe("PanoViewer", function() {
expect(panoViewer.getVideo()).to.be.null;
});

IT("should work with video", function(done) {
// given
var videlEl = document.createElement("video");
videlEl.setAttribute("src", "./images/PanoViewer/pano.mp4");
var readyTriggered = false;

// when
panoViewer = new PanoViewer(target, {
video: videlEl
}).on("ready", function() {
readyTriggered = true;
// then
expect(readyTriggered).to.be.true;
done();
});

});

IT("should work with video when src defined after initiate PanoViewer", function(done) {
// given
var videlEl = document.createElement("video");
var readyTriggered = false;
panoViewer = new PanoViewer(target, {
video: videlEl
}).on("ready", function() {
readyTriggered = true;
// then
expect(readyTriggered).to.be.true;
done();
});

// when
videlEl.setAttribute("src", "./images/PanoViewer/pano.mp4");
});

IT("should config cubemap layout", done => {
// Given
var MockedPanoViewer = PanoViewerInjector(
Expand Down

0 comments on commit 68de469

Please sign in to comment.