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",
|
"name": "vCarousel",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"description": "Video carousel, a new video appears when the previous one finishes playing.",
|
"description": "Video carousel, a new video appears when the previous one finishes playing.",
|
||||||
"main": "./src/vCarousel.ts",
|
"main": "./src/vCarousel.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -117,6 +117,8 @@ export class vCarousel
|
|||||||
nextHash=vCarousel._vContainers[nextOne].id;
|
nextHash=vCarousel._vContainers[nextOne].id;
|
||||||
nextVContainer.style.display="block";
|
nextVContainer.style.display="block";
|
||||||
vCarousel._currentVideo=nextVideo;
|
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.
|
// 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.
|
// Attention car cela peut provoquer un déplacement dans la page pour atteindre l'ancre.
|
||||||
window.location.assign("#"+nextHash);
|
window.location.assign("#"+nextHash);
|
||||||
|
@ -171,6 +171,29 @@ describe("vCarousel", () =>
|
|||||||
expect(window.location.hash).toEqual("#video1");
|
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.", () =>
|
it("Doit demander le lancement des nouvelles vidéos affichées, si cela est demandé en option.", () =>
|
||||||
{
|
{
|
||||||
vCarouselTest.vContainers=["video1","video2","video3"];
|
vCarouselTest.vContainers=["video1","video2","video3"];
|
||||||
|
Loading…
Reference in New Issue
Block a user