You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by hn...@apache.org on 2021/10/06 15:01:05 UTC

[myfaces-tobago] 01/02: fix: labelLayout to tc:file

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

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

commit 269f93d023ec58c7cb77fc121bb7390442952770
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Wed Oct 6 16:58:36 2021 +0200

    fix: labelLayout to tc:file
    
    * reimplement labellayout test
---
 .../4810-labelLayoutTop/LabelLayoutTop.test.js     | 112 +++++++++++----------
 .../4810-labelLayoutTop/LabelLayoutTop.xhtml       |   4 +
 tobago-theme/src/main/scss/_tobago.scss            |   4 +
 3 files changed, 67 insertions(+), 53 deletions(-)

diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.test.js b/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.test.js
index f51a5e0..3f7263b 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.test.js
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.test.js
@@ -16,86 +16,92 @@
  */
 
 import {JasmineTestTool} from "/tobago/test/tobago-test-tool.js";
+import {elementByIdFn, querySelectorFn} from "/script/tobago-test.js";
 
-it("fix tc:file first", function (done) {
-  let test = new JasmineTestTool(done);
-  test.do(() => fail("not implemented yet"));
+it("Check width for tc:date", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "date");
   test.start();
 });
 
-/*
-import {querySelectorFn} from "/script/tobago-test.js";
-
-QUnit.test("Check width for tc:date", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "date");
-});
-
-QUnit.test("Check width for tc:file", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "file");
+it("Check width for tc:file", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "file");
+  test.start();
 });
 
-QUnit.test("Check width for tc:in", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "in");
+it("Check width for tc:in", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "in");
+  test.start();
 });
 
-QUnit.test("Check width for input group", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "inGroup");
+it("Check width for input group", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "inGroup");
+  test.start();
 });
 
-QUnit.test("Check width for tc:out", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "out");
+it("Check width for tc:out", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "out");
+  test.start();
 });
 
-QUnit.test("Check width for tc:selectBooleanCheckbox", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "selectBooleanCheckbox");
+it("Check width for tc:selectBooleanCheckbox", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "selectBooleanCheckbox");
+  test.start();
 });
 
-QUnit.test("Check width for tc:selectManyCheckbox", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "selectManyCheckbox");
+it("Check width for tc:selectManyCheckbox", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "selectManyCheckbox");
+  test.start();
 });
 
-QUnit.test("Check width for tc:selectManyListbox", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "selectManyListbox");
+it("Check width for tc:selectManyListbox", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "selectManyListbox");
+  test.start();
 });
 
-QUnit.test("Check width for tc:selectManyShuttle", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "selectManyShuttle");
+it("Check width for tc:selectManyShuttle", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "selectManyShuttle");
+  test.start();
 });
 
-QUnit.test("Check width for tc:selectOneChoice", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "selectOneChoice");
+it("Check width for tc:selectOneChoice", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "selectOneChoice");
+  test.start();
 });
 
-QUnit.test("Check width for tc:selectOneListbox", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "selectOneListbox");
+it("Check width for tc:selectOneListbox", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "selectOneListbox");
+  test.start();
 });
 
-QUnit.test("Check width for tc:selectOneRadio", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "selectOneRadio");
+it("Check width for tc:selectOneRadio", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "selectOneRadio");
+  test.start();
 });
 
-QUnit.test("Check width for tc:textarea", function (assert) {
-  assert.expect(2);
-  testWidth(assert, "textarea");
+it("Check width for tc:textarea", function (done) {
+  const test = new JasmineTestTool(done);
+  addSteps(test, "textarea");
+  test.start();
 });
 
-function testWidth(assert, idPart) {
-  let compLabelFn = querySelectorFn("#page\\:mainForm\\:" + idPart + " label");
-  let compTopFn = querySelectorFn("#page\\:mainForm\\:" + idPart + "Top");
+function addSteps(test, idPart) {
+  const compLabelFn = querySelectorFn("#page\\:mainForm\\:" + idPart + " label");
+  const compTopLabelFn = querySelectorFn("#page\\:mainForm\\:" + idPart + "Top label");
+  const referenceLabel = elementByIdFn("page:mainForm:referenceLabel");
 
-  assert.equal(getComputedStyle(compLabelFn()).width, "155px");
-  assert.equal(getComputedStyle(compTopFn().querySelector("label")).width, getComputedStyle(compTopFn()).width);
+  test.do(() => expect(getComputedStyle(compLabelFn()).width).toBe("155px"));
+  test.do(() => expect(getComputedStyle(compTopLabelFn()).width)
+      .toBeLessThanOrEqual(getComputedStyle(referenceLabel()).width));
 }
-*/
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.xhtml
index d549142..8535ec7 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/900-test/4810-labelLayoutTop/LabelLayoutTop.xhtml
@@ -110,4 +110,8 @@
     <tc:textarea id="textarea" label="text to force linebreak; text to force linebreak"/>
     <tc:textarea id="textareaTop" label="text to force linebreak; text to force linebreak" labelLayout="top"/>
   </tc:box>
+
+  <tc:box label="Reference label for testing">
+    <tc:label id="referenceLabel" value="label"/>
+  </tc:box>
 </ui:composition>
diff --git a/tobago-theme/src/main/scss/_tobago.scss b/tobago-theme/src/main/scss/_tobago.scss
index ddbafe8..f82523c 100644
--- a/tobago-theme/src/main/scss/_tobago.scss
+++ b/tobago-theme/src/main/scss/_tobago.scss
@@ -366,6 +366,10 @@ tobago-dropdown {
 
 tobago-file {
   display: block;
+
+  > .input-group {
+    flex: 1 0 0px;
+  }
 }
 
 /* flexLayout -------------------------------------------------------------- */