You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2021/09/14 13:31:07 UTC

[myfaces-tobago] 01/06: TOBAGO-1843 Demo: Enhancements for Tobago 5.x

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git

commit b277e81424a1db501e2465bbc5cee965d980262f
Author: lennox_2019 <le...@web.de>
AuthorDate: Tue Sep 14 14:36:54 2021 +0200

    TOBAGO-1843 Demo: Enhancements for Tobago 5.x
---
 .../example/demo/SelectManyCheckboxController.java |   2 +-
 .../50-selectManyCheckbox/Multi_Checkbox.test.js   | 142 +++---
 .../50-selectManyCheckbox/Multi_Checkbox.xhtml     |   6 +-
 .../content/20-component/060-popup/Popup.test.js   | 526 ++++++++++-----------
 .../10-collapsible-popup/Collapsible_Popup.test.js |   3 +-
 .../4810-labelLayoutTop/LabelLayoutTop.test.js     |   3 +-
 .../src/main/webapp/script/tobago-test.js          |   2 +-
 .../resources/tobago/test/tobago-test-tool.js      |   2 +-
 8 files changed, 342 insertions(+), 344 deletions(-)

diff --git a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectManyCheckboxController.java b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectManyCheckboxController.java
index 815928d..067923f 100644
--- a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectManyCheckboxController.java
+++ b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SelectManyCheckboxController.java
@@ -82,4 +82,4 @@ public class SelectManyCheckboxController implements Serializable {
   public void setSelectedGiantPlanet(SolarObject[] selectedGiantPlanet) {
     this.selectedGiantPlanet = selectedGiantPlanet;
   }
-}
+}
\ No newline at end of file
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.test.js
index e046062..72196f6 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.test.js
@@ -19,54 +19,54 @@ import {JasmineTestTool} from "/tobago/test/tobago-test-tool.js";
 import {querySelectorAllFn, querySelectorFn} from "/script/tobago-test.js";
 
 it("submit: select cat", function (done) {
-  let animalsFn = querySelectorAllFn("#page\\:mainForm\\:animals input");
-  let submitFn = querySelectorFn("#page\\:mainForm\\:submit");
-  let outputFn = querySelectorFn("#page\\:mainForm\\:animalsOutput .form-control-plaintext");
-
-  const test = new JasmineTestTool(done);
-  test.setup(() => outputFn().textContent.trim() !== "Cat",
-      () => {
-        animalsFn().item(0).checked = false;
-        animalsFn().item(1).checked = false;
-        animalsFn().item(2).checked = false;
-        animalsFn().item(3).checked = false;
-      },
-      "click", submitFn);
-  test.do(() => animalsFn().item(0).checked = true); // Cat
-  test.do(() => animalsFn().item(1).checked = false);
-  test.do(() => animalsFn().item(2).checked = false);
-  test.do(() => animalsFn().item(3).checked = false);
-  test.event("click", submitFn, () => outputFn().textContent.trim() === "Cat");
-  test.do(() => expect(outputFn().textContent.trim()).toBe("Cat"));
-  test.start();
+    let animalsFn = querySelectorAllFn("#page\\:mainForm\\:animals input");
+    let submitFn = querySelectorFn("#page\\:mainForm\\:submit");
+    let outputFn = querySelectorFn("#page\\:mainForm\\:animalsOutput .form-control-plaintext");
+
+    const test = new JasmineTestTool(done);
+    test.setup(() => outputFn().textContent.trim() === "",
+        () => {
+            animalsFn().item(0).checked = false;
+            animalsFn().item(1).checked = false;
+            animalsFn().item(2).checked = false;
+            animalsFn().item(3).checked = false;
+        },
+        "click", submitFn);
+    test.do(() => animalsFn().item(0).checked = true); // Cat
+    test.do(() => animalsFn().item(1).checked = false);
+    test.do(() => animalsFn().item(2).checked = false);
+    test.do(() => animalsFn().item(3).checked = false);
+    test.event("click", submitFn, () => outputFn().textContent.trim() === "Cat");
+    test.do(() => expect(outputFn().textContent.trim()).toBe("Cat"));
+    test.start();
 });
 
 it("submit: select fox and rabbit", function (done) {
-  let animalsFn = querySelectorAllFn("#page\\:mainForm\\:animals input");
-  let submitFn = querySelectorFn("#page\\:mainForm\\:submit");
-  let outputFn = querySelectorFn("#page\\:mainForm\\:animalsOutput .form-control-plaintext");
-
-  const test = new JasmineTestTool(done);
-  test.setup(() => outputFn().textContent.trim() !== "Fox Rabbit",
-      () => {
-        animalsFn().item(0).checked = false;
-        animalsFn().item(1).checked = false;
-        animalsFn().item(2).checked = false;
-        animalsFn().item(3).checked = false;
-      },
-      "click", submitFn);
-  test.do(() => animalsFn().item(0).checked = false); // Cat
-  test.do(() => animalsFn().item(1).checked = false);
-  test.do(() => animalsFn().item(2).checked = true); // Fox
-  test.do(() => animalsFn().item(3).checked = true); // Rabbit
-  test.event("click", submitFn, () => outputFn().textContent.trim() === "Fox Rabbit");
-  test.do(() => expect(outputFn().textContent.trim()).toBe("Fox Rabbit"));
-  test.start();
+    let animalsFn = querySelectorAllFn("#page\\:mainForm\\:animals input");
+    let submitFn = querySelectorFn("#page\\:mainForm\\:submit");
+    let outputFn = querySelectorFn("#page\\:mainForm\\:animalsOutput .form-control-plaintext");
+
+    const test = new JasmineTestTool(done);
+    test.setup(() => outputFn().textContent.trim() === "",
+        () => {
+            animalsFn().item(0).checked = false;
+            animalsFn().item(1).checked = false;
+            animalsFn().item(2).checked = false;
+            animalsFn().item(3).checked = false;
+        },
+        "click", submitFn);
+    test.do(() => animalsFn().item(0).checked = false); // Cat
+    test.do(() => animalsFn().item(1).checked = false);
+    test.do(() => animalsFn().item(2).checked = true); // Fox
+    test.do(() => animalsFn().item(3).checked = true); // Rabbit
+    test.event("click", submitFn, () => outputFn().textContent.trim() === "Fox Rabbit");
+    test.do(() => expect(outputFn().textContent.trim()).toBe("Fox Rabbit"));
+    test.start();
 });
 
 it("ajax: select 'One'", function (done) {
-  let numberFn = querySelectorFn("#page\\:mainForm\\:numbers\\:\\:0");
-  ajaxSelect(done, numberFn, 1);
+    let numberFn = querySelectorFn("#page\\:mainForm\\:numbers\\:\\:0");
+    ajaxSelect(done, numberFn, 1);
 });
 
 it("ajax: deselect 'One'", function (done) {
@@ -105,35 +105,35 @@ it("ajax: deselect 'Four'", function (done) {
 });
 
 function ajaxSelect(done, numberFn, number) {
-  let outputFn = querySelectorFn("#page\\:mainForm\\:resultOutput .form-control-plaintext");
-  let newOutputValue = parseInt(outputFn().textContent);
-  if (!numberFn().checked) {
-    newOutputValue = parseInt(outputFn().textContent) + number;
-  }
-
-  const test = new JasmineTestTool(done);
-  test.setup(() => parseInt(outputFn().textContent) !== newOutputValue,
-      () => numberFn().checked = false,
-      "change", numberFn);
-  test.do(() => numberFn().checked = true);
-  test.event("change", numberFn, () => parseInt(outputFn().textContent) === newOutputValue);
-  test.do(() => expect(parseInt(outputFn().textContent)).toBe(newOutputValue));
-  test.start();
+    let outputFn = querySelectorFn("#page\\:mainForm\\:resultOutput .form-control-plaintext");
+    let newOutputValue = parseInt(outputFn().textContent);
+    if (!numberFn().checked) {
+        newOutputValue = parseInt(outputFn().textContent) + number;
+    }
+
+    const test = new JasmineTestTool(done);
+    test.setup(() => parseInt(outputFn().textContent) !== newOutputValue,
+        () => numberFn().checked = false,
+        "change", numberFn);
+    test.do(() => numberFn().checked = true);
+    test.event("change", numberFn, () => parseInt(outputFn().textContent) === newOutputValue);
+    test.do(() => expect(parseInt(outputFn().textContent)).toBe(newOutputValue));
+    test.start();
 }
 
 function ajaxDeselect(done, numberFn, number) {
-  let outputFn = querySelectorFn("#page\\:mainForm\\:resultOutput .form-control-plaintext");
-  let newOutputValue = parseInt(outputFn().textContent);
-  if (numberFn().checked) {
-    newOutputValue = parseInt(outputFn().textContent) - number;
-  }
-
-  const test = new JasmineTestTool(done);
-  test.setup(() => parseInt(outputFn().textContent) !== newOutputValue,
-      () => numberFn().checked = true,
-      "change", numberFn);
-  test.do(() => numberFn().checked = false);
-  test.event("change", numberFn, () => parseInt(outputFn().textContent) === newOutputValue);
-  test.do(() => expect(parseInt(outputFn().textContent)).toBe(newOutputValue));
-  test.start();
-}
+    let outputFn = querySelectorFn("#page\\:mainForm\\:resultOutput .form-control-plaintext");
+    let newOutputValue = parseInt(outputFn().textContent);
+    if (numberFn().checked) {
+        newOutputValue = parseInt(outputFn().textContent) - number;
+    }
+
+    const test = new JasmineTestTool(done);
+    test.setup(() => parseInt(outputFn().textContent) !== newOutputValue,
+        () => numberFn().checked = true,
+        "change", numberFn);
+    test.do(() => numberFn().checked = false);
+    test.event("change", numberFn, () => parseInt(outputFn().textContent) === newOutputValue);
+    test.do(() => expect(parseInt(outputFn().textContent)).toBe(newOutputValue));
+    test.start();
+}
\ No newline at end of file
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.xhtml
index 1436859..ab319f7 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/030-select/50-selectManyCheckbox/Multi_Checkbox.xhtml
@@ -103,7 +103,7 @@
       <tc:selectItem itemLabel="Two" itemValue="2"/>
       <tc:selectItem itemLabel="Three" itemValue="3"/>
       <tc:selectItem itemLabel="Four" itemValue="4"/>
-      <f:ajax render="resultOutput"/>
+      <f:ajax execute="@this" render="resultOutput"/>
     </tc:selectManyCheckbox>
     <tc:out id="resultOutput" label="Result" value="#{selectManyCheckboxController.result}"/>
   </tc:section>
@@ -180,8 +180,8 @@
       <f:ajax execute="selectGroupJsf" render="selectGroupJsf :page:messages"/>
     </tc:button>
 
-    <tc:out label="Selected:" value="#{selectManyCheckboxController.selectedTerrestrialPlanet.name}"/>
+    <tc:out label="Selected:" value="#{selectManyCheckboxController.selectedTerrestrialPlanet}"/>
 
   </tc:section>
 
-</ui:composition>
+</ui:composition>
\ No newline at end of file
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/Popup.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/Popup.test.js
index 11a1e16..0d0ce82 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/Popup.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/Popup.test.js
@@ -19,285 +19,285 @@ import {JasmineTestTool} from "/tobago/test/tobago-test-tool.js";
 import {elementByIdFn, querySelectorAllFn, querySelectorFn} from "/script/tobago-test.js";
 
 it("Open 'Client Popup' and press 'Cancel'.", function (done) {
-  let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
-  let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
-  let openButtonFn = elementByIdFn("page:mainForm:form2:open");
-  let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
-
-  let shownEventCount = 0;
-  let hiddenEventCount = 0;
-  popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
-  popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
-
-  const test = new JasmineTestTool(done);
-  test.do(() => hiddenEventCount = 1);
-  test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
-      () => hiddenEventCount = 0,
-      "click", cancelButtonFn);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-
-  test.do(() => shownEventCount = 0);
-  test.event("click", openButtonFn, () => shownEventCount > 0);
-  test.do(() => expect(popupFn().classList).toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
-
-  test.do(() => hiddenEventCount = 0);
-  test.event("click", cancelButtonFn, () => hiddenEventCount > 0);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.start();
+    let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
+    let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
+    let openButtonFn = elementByIdFn("page:mainForm:form2:open");
+    let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
+
+    let shownEventCount = 0;
+    let hiddenEventCount = 0;
+    popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
+    popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
+
+    const test = new JasmineTestTool(done);
+    test.do(() => hiddenEventCount = 1);
+    test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
+        () => hiddenEventCount = 0,
+        "click", cancelButtonFn);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+
+    test.do(() => shownEventCount = 0);
+    test.event("click", openButtonFn, () => shownEventCount > 0);
+    test.do(() => expect(popupFn().classList).toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
+
+    test.do(() => hiddenEventCount = 0);
+    test.event("click", cancelButtonFn, () => hiddenEventCount > 0);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.start();
 });
 
 it("Open 'Client Popup', press 'Submit' while field is empty. Press 'Cancel'.", function (done) {
-  let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
-  let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
-  let openButtonFn = elementByIdFn("page:mainForm:form2:open");
-  let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
-  let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
-  let messageCloseFn = querySelectorFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages .btn-close");
-  let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
-  let submitButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submit2");
-  let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
-  let outputValue = outputFn().textContent;
-
-  let shownEventCount = 0;
-  let hiddenEventCount = 0;
-  popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
-  popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
-
-  const test = new JasmineTestTool(done);
-  test.do(() => hiddenEventCount = 1);
-  test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
-      () => hiddenEventCount = 0,
-      "click", cancelButtonFn);
-  test.setup(() => messagesFn().length === 0, null, "click", messageCloseFn);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(messagesFn().length).toEqual(0));
-
-  test.do(() => shownEventCount = 0);
-  test.event("click", openButtonFn, () => shownEventCount > 0);
-  test.do(() => expect(popupFn().classList).toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
-
-  test.do(() => inputFieldFn().value = "");
-  test.event("click", submitButtonFn, () => messagesFn().length === 1);
-  test.do(() => expect(messagesFn().length).toEqual(1));
-
-  test.do(() => hiddenEventCount = 0);
-  test.event("click", cancelButtonFn, () => hiddenEventCount > 0);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(outputFn().textContent).toBe(outputValue));
-  test.start();
+    let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
+    let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
+    let openButtonFn = elementByIdFn("page:mainForm:form2:open");
+    let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
+    let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
+    let messageCloseFn = querySelectorFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages .btn-close");
+    let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
+    let submitButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submit2");
+    let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
+    let outputValue = outputFn().textContent;
+
+    let shownEventCount = 0;
+    let hiddenEventCount = 0;
+    popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
+    popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
+
+    const test = new JasmineTestTool(done);
+    test.do(() => hiddenEventCount = 1);
+    test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
+        () => hiddenEventCount = 0,
+        "click", cancelButtonFn);
+    test.setup(() => messagesFn().length === 0, null, "click", messageCloseFn);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(messagesFn().length).toEqual(0));
+
+    test.do(() => shownEventCount = 0);
+    test.event("click", openButtonFn, () => shownEventCount > 0);
+    test.do(() => expect(popupFn().classList).toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
+
+    test.do(() => inputFieldFn().value = "");
+    test.event("click", submitButtonFn, () => messagesFn().length === 1);
+    test.do(() => expect(messagesFn().length).toEqual(1));
+
+    test.do(() => hiddenEventCount = 0);
+    test.event("click", cancelButtonFn, () => hiddenEventCount > 0);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(outputFn().textContent).toBe(outputValue));
+    test.start();
 });
 
 it("Open 'Client Popup', press 'Submit' while field has content. Press 'Cancel'.", function (done) {
-  let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
-  let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
-  let openButtonFn = elementByIdFn("page:mainForm:form2:open");
-  let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
-  let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
-  let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
-  let submitButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submit2");
-  let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
-
-  let shownEventCount = 0;
-  let hiddenEventCount = 0;
-  popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
-  popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
-
-  const test = new JasmineTestTool(done);
-  test.do(() => hiddenEventCount = 1);
-  test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
-      () => hiddenEventCount = 0,
-      "click", cancelButtonFn);
-  test.setup(() => outputFn().textContent !== "Tobago",
-      () => inputFieldFn().value = "Trinidad",
-      "click", submitButtonFn);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(outputFn().textContent).not.toBe("Tobago"));
-
-  test.do(() => shownEventCount = 0);
-  test.event("click", openButtonFn, () => shownEventCount > 0);
-  test.do(() => expect(popupFn().classList).toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
-
-  test.do(() => inputFieldFn().value = "Tobago");
-  test.event("click", submitButtonFn, () => outputFn().textContent === "Tobago");
-  test.do(() => expect(outputFn().textContent).toBe("Tobago"));
-
-  test.do(() => hiddenEventCount = 0);
-  test.event("click", cancelButtonFn, () => hiddenEventCount > 0);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(messagesFn().length).toEqual(0));
-  test.start();
+    let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
+    let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
+    let openButtonFn = elementByIdFn("page:mainForm:form2:open");
+    let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
+    let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
+    let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
+    let submitButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submit2");
+    let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
+
+    let shownEventCount = 0;
+    let hiddenEventCount = 0;
+    popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
+    popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
+
+    const test = new JasmineTestTool(done);
+    test.do(() => hiddenEventCount = 1);
+    test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
+        () => hiddenEventCount = 0,
+        "click", cancelButtonFn);
+    test.setup(() => outputFn().textContent !== "Tobago",
+        () => inputFieldFn().value = "Trinidad",
+        "click", submitButtonFn);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(outputFn().textContent).not.toBe("Tobago"));
+
+    test.do(() => shownEventCount = 0);
+    test.event("click", openButtonFn, () => shownEventCount > 0);
+    test.do(() => expect(popupFn().classList).toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
+
+    test.do(() => inputFieldFn().value = "Tobago");
+    test.event("click", submitButtonFn, () => outputFn().textContent === "Tobago");
+    test.do(() => expect(outputFn().textContent).toBe("Tobago"));
+
+    test.do(() => hiddenEventCount = 0);
+    test.event("click", cancelButtonFn, () => hiddenEventCount > 0);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(messagesFn().length).toEqual(0));
+    test.start();
 });
 
 it("Open 'Client Popup', press 'Submit & Close' while field is empty.", function (done) {
-  let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
-  let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
-  let openButtonFn = elementByIdFn("page:mainForm:form2:open");
-  let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
-  let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
-  let messageCloseFn = querySelectorFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages .btn-close");
-  let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
-  let submitCloseButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submitClose2");
-  let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
-  let outputValue = outputFn().textContent;
-
-  let shownEventCount = 0;
-  let hiddenEventCount = 0;
-  popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
-  popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
-
-  const test = new JasmineTestTool(done);
-  test.do(() => hiddenEventCount = 1);
-  test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
-      () => hiddenEventCount = 0,
-      "click", cancelButtonFn);
-  test.setup(() => messagesFn().length === 0, null, "click", messageCloseFn);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(messagesFn().length).toEqual(0));
-
-  test.do(() => shownEventCount = 0);
-  test.event("click", openButtonFn, () => shownEventCount > 0);
-  test.do(() => expect(popupFn().classList).toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
-
-  test.do(() => inputFieldFn().value = "");
-  test.do(() => hiddenEventCount = 0);
-  test.event("click", submitCloseButtonFn, () => hiddenEventCount > 0);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(messagesFn().length).toEqual(1));
-  test.do(() => expect(outputFn().textContent).toBe(outputValue));
-  test.start();
+    let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
+    let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
+    let openButtonFn = elementByIdFn("page:mainForm:form2:open");
+    let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
+    let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
+    let messageCloseFn = querySelectorFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages .btn-close");
+    let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
+    let submitCloseButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submitClose2");
+    let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
+    let outputValue = outputFn().textContent;
+
+    let shownEventCount = 0;
+    let hiddenEventCount = 0;
+    popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
+    popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
+
+    const test = new JasmineTestTool(done);
+    test.do(() => hiddenEventCount = 1);
+    test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
+        () => hiddenEventCount = 0,
+        "click", cancelButtonFn);
+    test.setup(() => messagesFn().length === 0, null, "click", messageCloseFn);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(messagesFn().length).toEqual(0));
+
+    test.do(() => shownEventCount = 0);
+    test.event("click", openButtonFn, () => shownEventCount > 0);
+    test.do(() => expect(popupFn().classList).toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
+
+    test.do(() => inputFieldFn().value = "");
+    test.do(() => hiddenEventCount = 0);
+    test.event("click", submitCloseButtonFn, () => hiddenEventCount > 0);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(messagesFn().length).toEqual(1));
+    test.do(() => expect(outputFn().textContent).toBe(outputValue));
+    test.start();
 });
 
 it("Open 'Client Popup', press 'Submit & Close' while field has content.", function (done) {
-  let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
-  let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
-  let openButtonFn = elementByIdFn("page:mainForm:form2:open");
-  let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
-  let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
-  let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
-  let submitButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submit2");
-  let submitCloseButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submitClose2");
-  let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
-
-  let shownEventCount = 0;
-  let hiddenEventCount = 0;
-  popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
-  popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
-
-  const test = new JasmineTestTool(done);
-  test.do(() => hiddenEventCount = 1);
-  test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
-      () => hiddenEventCount = 0,
-      "click", cancelButtonFn);
-  test.setup(() => outputFn().textContent !== "Little Tobago",
-      () => inputFieldFn().value = "Charlotteville",
-      "click", submitButtonFn);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(outputFn().textContent).not.toBe("Little Tobago"));
-
-  test.do(() => shownEventCount = 0);
-  test.event("click", openButtonFn, () => shownEventCount > 0);
-  test.do(() => expect(popupFn().classList).toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
-
-  test.do(() => inputFieldFn().value = "Little Tobago");
-  test.do(() => hiddenEventCount = 0);
-  test.event("click", submitCloseButtonFn, () => hiddenEventCount > 0);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(messagesFn().length).toEqual(0));
-  test.do(() => expect(outputFn().textContent).toBe("Little Tobago"));
-  test.start();
+    let popupFn = elementByIdFn("page:mainForm:form2:clientPopup");
+    let collapseFn = elementByIdFn("page:mainForm:form2:clientPopup::collapse");
+    let openButtonFn = elementByIdFn("page:mainForm:form2:open");
+    let outputFn = querySelectorFn("#page\\:mainForm\\:form2\\:out .form-control-plaintext");
+    let messagesFn = querySelectorAllFn("#page\\:mainForm\\:form2\\:clientPopup\\:messages div");
+    let inputFieldFn = elementByIdFn("page:mainForm:form2:clientPopup:in2::field");
+    let submitButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submit2");
+    let submitCloseButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:submitClose2");
+    let cancelButtonFn = elementByIdFn("page:mainForm:form2:clientPopup:cancel2");
+
+    let shownEventCount = 0;
+    let hiddenEventCount = 0;
+    popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
+    popupFn().addEventListener("hidd4en.bs.modal", () => hiddenEventCount++);
+
+    const test = new JasmineTestTool(done);
+    test.do(() => hiddenEventCount = 1);
+    test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
+        () => hiddenEventCount = 0,
+        "click", cancelButtonFn);
+    test.setup(() => outputFn().textContent !== "Little Tobago",
+        () => inputFieldFn().value = "Charlotteville",
+        "click", submitButtonFn);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(outputFn().textContent).not.toBe("Little Tobago"));
+
+    test.do(() => shownEventCount = 0);
+    test.event("click", openButtonFn, () => shownEventCount > 0);
+    test.do(() => expect(popupFn().classList).toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
+
+    test.do(() => inputFieldFn().value = "Little Tobago");
+    test.do(() => hiddenEventCount = 0);
+    test.event("click", submitCloseButtonFn, () => hiddenEventCount > 0);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(messagesFn().length).toEqual(0));
+    test.do(() => expect(outputFn().textContent).toBe("Little Tobago"));
+    test.start();
 });
 
 it("Open 'Large Popup'.", function (done) {
-  let dropdownButtonFn = elementByIdFn("page:mainForm:dropdownButton::command");
-  let dropdownMenuFn = querySelectorFn(".dropdown-menu[name=page\\:mainForm\\:dropdownButton]");
-  let openButtonFn = elementByIdFn("page:mainForm:largePopupLink");
-  let popupFn = elementByIdFn("page:mainForm:largePopup");
-  let collapseFn = elementByIdFn("page:mainForm:largePopup::collapse");
-  let closeButtonFn = elementByIdFn("page:mainForm:largePopup:closeLargePopup");
-
-  let shownEventCount = 0;
-  let hiddenEventCount = 0;
-  popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
-  popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
-
-  const test = new JasmineTestTool(done);
-  test.do(() => hiddenEventCount = 1);
-  test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
-      () => hiddenEventCount = 0,
-      "click", closeButtonFn);
-  test.setup(() => !dropdownMenuFn().classList.contains("show"),
-      null, "click", dropdownButtonFn);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
-
-  test.event("click", dropdownButtonFn, () => dropdownMenuFn().classList.contains("show"));
-  test.do(() => expect(dropdownMenuFn().classList).toContain("show"));
-
-  test.do(() => shownEventCount = 0);
-  test.event("click", openButtonFn, () => shownEventCount > 0);
-  test.do(() => expect(popupFn().classList).toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
-  test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
-
-  test.do(() => hiddenEventCount = 0);
-  test.event("click", closeButtonFn, () => hiddenEventCount > 0);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.start();
+    let dropdownButtonFn = elementByIdFn("page:mainForm:dropdownButton::command");
+    let dropdownMenuFn = querySelectorFn(".dropdown-menu[name=page\\:mainForm\\:dropdownButton]");
+    let openButtonFn = elementByIdFn("page:mainForm:largePopupLink");
+    let popupFn = elementByIdFn("page:mainForm:largePopup");
+    let collapseFn = elementByIdFn("page:mainForm:largePopup::collapse");
+    let closeButtonFn = elementByIdFn("page:mainForm:largePopup:closeLargePopup");
+
+    let shownEventCount = 0;
+    let hiddenEventCount = 0;
+    popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
+    popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
+
+    const test = new JasmineTestTool(done);
+    test.do(() => hiddenEventCount = 1);
+    test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
+        () => hiddenEventCount = 0,
+        "click", closeButtonFn);
+    test.setup(() => !dropdownMenuFn().classList.contains("show"),
+        null, "click", dropdownButtonFn);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
+
+    test.event("click", dropdownButtonFn, () => dropdownMenuFn().classList.contains("show"));
+    test.do(() => expect(dropdownMenuFn().classList).toContain("show"));
+
+    test.do(() => shownEventCount = 0);
+    test.event("click", openButtonFn, () => shownEventCount > 0);
+    test.do(() => expect(popupFn().classList).toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
+    test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
+
+    test.do(() => hiddenEventCount = 0);
+    test.event("click", closeButtonFn, () => hiddenEventCount > 0);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.start();
 });
 
 it("Open 'Small Popup'.", function (done) {
-  let dropdownButtonFn = elementByIdFn("page:mainForm:dropdownButton::command");
-  let dropdownMenuFn = querySelectorFn(".dropdown-menu[name=page\\:mainForm\\:dropdownButton]");
-  let openButtonFn = elementByIdFn("page:mainForm:smallPopupLink");
-  let popupFn = elementByIdFn("page:mainForm:smallPopup");
-  let collapseFn = elementByIdFn("page:mainForm:smallPopup::collapse");
-  let closeButtonFn = elementByIdFn("page:mainForm:smallPopup:closeSmallPopup");
-
-  let shownEventCount = 0;
-  let hiddenEventCount = 0;
-  popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
-  popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
-
-  const test = new JasmineTestTool(done);
-  test.do(() => hiddenEventCount = 1);
-  test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
-      () => hiddenEventCount = 0,
-      "click", closeButtonFn);
-  test.setup(() => !dropdownMenuFn().classList.contains("show"),
-      null, "click", dropdownButtonFn);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
-
-  test.event("click", dropdownButtonFn, () => dropdownMenuFn().classList.contains("show"));
-  test.do(() => expect(dropdownMenuFn().classList).toContain("show"));
-
-  test.do(() => shownEventCount = 0);
-  test.event("click", openButtonFn, () => shownEventCount > 0);
-  test.do(() => expect(popupFn().classList).toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
-  test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
-
-  test.do(() => hiddenEventCount = 0);
-  test.event("click", closeButtonFn, () => hiddenEventCount > 0);
-  test.do(() => expect(popupFn().classList).not.toContain("show"));
-  test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
-  test.start();
+    let dropdownButtonFn = elementByIdFn("page:mainForm:dropdownButton::command");
+    let dropdownMenuFn = querySelectorFn(".dropdown-menu[name=page\\:mainForm\\:dropdownButton]");
+    let openButtonFn = elementByIdFn("page:mainForm:smallPopupLink");
+    let popupFn = elementByIdFn("page:mainForm:smallPopup");
+    let collapseFn = elementByIdFn("page:mainForm:smallPopup::collapse");
+    let closeButtonFn = elementByIdFn("page:mainForm:smallPopup:closeSmallPopup");
+
+    let shownEventCount = 0;
+    let hiddenEventCount = 0;
+    popupFn().addEventListener("shown.bs.modal", () => shownEventCount++);
+    popupFn().addEventListener("hidden.bs.modal", () => hiddenEventCount++);
+
+    const test = new JasmineTestTool(done);
+    test.do(() => hiddenEventCount = 1);
+    test.setup(() => collapseFn().getAttribute("value") === "true" && hiddenEventCount === 1,
+        () => hiddenEventCount = 0,
+        "click", closeButtonFn);
+    test.setup(() => !dropdownMenuFn().classList.contains("show"),
+        null, "click", dropdownButtonFn);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
+
+    test.event("click", dropdownButtonFn, () => dropdownMenuFn().classList.contains("show"));
+    test.do(() => expect(dropdownMenuFn().classList).toContain("show"));
+
+    test.do(() => shownEventCount = 0);
+    test.event("click", openButtonFn, () => shownEventCount > 0);
+    test.do(() => expect(popupFn().classList).toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("false"));
+    test.do(() => expect(dropdownMenuFn().classList).not.toContain("show"));
+
+    test.do(() => hiddenEventCount = 0);
+    test.event("click", closeButtonFn, () => hiddenEventCount > 0);
+    test.do(() => expect(popupFn().classList).not.toContain("show"));
+    test.do(() => expect(collapseFn().getAttribute("value")).toBe("true"));
+    test.start();
 });
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/Collapsible_Popup.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/Collapsible_Popup.test.js
index aee4965..3f7d5cc 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/Collapsible_Popup.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/Collapsible_Popup.test.js
@@ -23,7 +23,7 @@ it("not implemented yet", function (done) {
   test.start();
 });
 
-/*
+
 import {querySelectorAllFn, querySelectorFn} from "/script/tobago-test.js";
 import {TobagoTestTool} from "/tobago/test/tobago-test-tool.js";
 import {JasmineTestTool} from "/tobago/test/tobago-test-tool.js";
@@ -195,4 +195,3 @@ QUnit.test("Client Side", function (assert) {
   });
   TTT.startTest();
 });
-*/
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4810-labelLayoutTop/LabelLayoutTop.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4810-labelLayoutTop/LabelLayoutTop.test.js
index f51a5e0..7779da9 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4810-labelLayoutTop/LabelLayoutTop.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/4810-labelLayoutTop/LabelLayoutTop.test.js
@@ -23,7 +23,7 @@ it("fix tc:file first", function (done) {
   test.start();
 });
 
-/*
+
 import {querySelectorFn} from "/script/tobago-test.js";
 
 QUnit.test("Check width for tc:date", function (assert) {
@@ -98,4 +98,3 @@ function testWidth(assert, idPart) {
   assert.equal(getComputedStyle(compLabelFn()).width, "155px");
   assert.equal(getComputedStyle(compTopFn().querySelector("label")).width, getComputedStyle(compTopFn()).width);
 }
-*/
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/script/tobago-test.js b/tobago-example/tobago-example-demo/src/main/webapp/script/tobago-test.js
index 0791fb3..c991caf 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/script/tobago-test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/script/tobago-test.js
@@ -71,4 +71,4 @@ describe("general", function () {
 
     expect(result.indexOf("???")).toBeLessThanOrEqual(-1, "There must no '???' on the site.");
   });
-});
+});
\ No newline at end of file
diff --git a/tobago-tool/tobago-tool-test/src/main/resources/META-INF/resources/tobago/test/tobago-test-tool.js b/tobago-tool/tobago-tool-test/src/main/resources/META-INF/resources/tobago/test/tobago-test-tool.js
index 45c47b0..ab340a3 100644
--- a/tobago-tool/tobago-tool-test/src/main/resources/META-INF/resources/tobago/test/tobago-test-tool.js
+++ b/tobago-tool/tobago-tool-test/src/main/resources/META-INF/resources/tobago/test/tobago-test-tool.js
@@ -297,4 +297,4 @@ class JasmineTestTool {
   }
 }
 
-export {JasmineUtils, JasmineTestTool};
+export {JasmineUtils, JasmineTestTool};
\ No newline at end of file