Lorsque l'on passe à la vidéo suivante, sa durée de lecture est réinitialisée.
This commit is contained in:
parent
56c852aca5
commit
3969bff238
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vCarousel",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"description": "Video carousel, a new video appears when the previous one finishes playing.",
|
||||
"main": "./src/vCarousel.ts",
|
||||
"scripts": {
|
||||
|
@ -117,6 +117,8 @@ export class vCarousel
|
||||
nextHash=vCarousel._vContainers[nextOne].id;
|
||||
nextVContainer.style.display="block";
|
||||
vCarousel._currentVideo=nextVideo;
|
||||
// Remise à zéro de la vidéo suivante pour permettre sa lecture :
|
||||
nextVideo.currentTime=0;
|
||||
// On adapte l'ancre de l'url de manière à ce qu'elle soit cohérente avec la vidéo affichée.
|
||||
// Attention car cela peut provoquer un déplacement dans la page pour atteindre l'ancre.
|
||||
window.location.assign("#"+nextHash);
|
||||
|
@ -149,7 +149,7 @@ describe("vCarousel", () =>
|
||||
expect(vCarouselTest.currentVideo).toEqual(currentVideo);
|
||||
expect(window.location.hash).toEqual("#video3");
|
||||
});
|
||||
|
||||
|
||||
it("Si cela est demandé, le carrousel doit reprendre au début après avoir parcouru toutes les vidéos.", () =>
|
||||
{
|
||||
vCarouselTest.vContainers=["video1","video2","video3"];
|
||||
@ -170,6 +170,29 @@ describe("vCarousel", () =>
|
||||
expect(vCarouselTest.currentVideo).toEqual(currentVideo);
|
||||
expect(window.location.hash).toEqual("#video1");
|
||||
});
|
||||
|
||||
it("Lorsque l'on passe d'une vidéo à l'autre, la durée de lecture de la suivante doit être remise à zéro pour permettre sa lecture.", () =>
|
||||
{
|
||||
vCarouselTest.vContainers=["video1","video2","video3"];
|
||||
vCarouselTest.noStop=true;
|
||||
vCarouselTest.run();
|
||||
let currentVideo=<HTMLMediaElement>document.querySelector("#video1 video");
|
||||
let nextVideo=<HTMLMediaElement>document.querySelector("#video2 video");
|
||||
nextVideo.currentTime=5;
|
||||
currentVideo.dispatchEvent(new Event("ended"));
|
||||
expect(nextVideo.currentTime).toEqual(0);
|
||||
// Et ainsi de suite :
|
||||
currentVideo=<HTMLMediaElement>document.querySelector("#video2 video");
|
||||
nextVideo=<HTMLMediaElement>document.querySelector("#video3 video");
|
||||
nextVideo.currentTime=3;
|
||||
currentVideo.dispatchEvent(new Event("ended"));
|
||||
expect(nextVideo.currentTime).toEqual(0);
|
||||
// Retour sur la première :
|
||||
currentVideo=<HTMLMediaElement>document.querySelector("#video3 video");
|
||||
nextVideo=<HTMLMediaElement>document.querySelector("#video1 video");
|
||||
currentVideo.dispatchEvent(new Event("ended"));
|
||||
expect(nextVideo.currentTime).toEqual(0);
|
||||
});
|
||||
|
||||
it("Doit demander le lancement des nouvelles vidéos affichées, si cela est demandé en option.", () =>
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user