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