From 0feb525725afeff70fd503f5983cca9a0debe3a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20PENHO=C3=8BT?= Date: Fri, 6 Aug 2021 11:41:28 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20et=20test=20des=20setters=20contr=C3=B4?= =?UTF-8?q?lant=20l'existence=20des=20=C3=A9l=C3=A9m=C3=A9nts=20HTML=20re?= =?UTF-8?q?=C3=A7us=20en=20param=C3=A8tres.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/freeCSV2HTML.ts | 15 ++++++++++++++- tests/freeCSV2HTMLSpec.ts | 14 ++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/freeCSV2HTML.ts b/src/freeCSV2HTML.ts index 337fd9a..f9ffb13 100644 --- a/src/freeCSV2HTML.ts +++ b/src/freeCSV2HTML.ts @@ -15,7 +15,11 @@ export class freeCSV2HTML set datasEltId(id: string) { - this._datasEltId=id; + let checkContainerExist=document.getElementById(id); + if(checkContainerExist === null) + throw new Error(errors.elementNotFound+id); + else + this._datasEltId=id; } set datasUrl(url: string) @@ -25,6 +29,15 @@ export class freeCSV2HTML set datasSelectors(selectors: selectors[]) { + let checkContainerExist: HTMLElement; + for(let i = 0; i < selectors.length; i++) + { + checkContainerExist=document.getElementById(selectors[i].idElt); + if(checkContainerExist === null) + throw new Error(errors.elementNotFound+selectors[i].idElt); + else + selectors[i].eltDOM=checkContainerExist; + } this._datasSelectors=selectors; } diff --git a/tests/freeCSV2HTMLSpec.ts b/tests/freeCSV2HTMLSpec.ts index 9c0a3db..9e7c397 100644 --- a/tests/freeCSV2HTMLSpec.ts +++ b/tests/freeCSV2HTMLSpec.ts @@ -4,7 +4,7 @@ const errors=require("../src/errors.js"); describe("freeCSV2HTML", function() { let converter: freeCSV2HTML; - const fixture="
"; + const fixture="
"; beforeEach(function() { @@ -34,19 +34,9 @@ describe("freeCSV2HTML", function() expect(function() { return converter.datasEltId="datas"; }).not.toThrowError(); }); - it("Doit générer une erreur si l'url fournie pour le fichier csv n'est pas valide.", function() - { - expect(function() { return converter.datasUrl="http:/localhost:8080/datas/elements-chimiques.csv"; }).toThrowError(errors.urlNotValid); - }); - - it("Ne doit pas générer une erreur si l'url fournie pour le fichier csv est pas valide.", function() - { - expect(function() { return converter.datasUrl="http://localhost:8080/datas/elements-chimiques.csv"; }).not.toThrowError(); - }); - it("Doit générer une erreur s'il n'y a pas d'éléments dans la page pour les ids fournis pour recevoir les sélecteurs.", function() { - expect(function() { return converter.datasSelectors=[{ colCSV:2, idElt:"selector2"},{ colCSV:3, idElt:"selector3"}]; }).toThrowError(errors.elementNotFound+"select3"); + expect(function() { return converter.datasSelectors=[{ colCSV:2, idElt:"selector2"},{ colCSV:3, idElt:"selector3"}]; }).toThrowError(errors.elementNotFound+"selector3"); }); it("Ne doit pas générer une erreur s'il y a bien un élément dans la page pour chaque id fourni pour recevoir un sélecteur.", function()