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 2017/06/01 13:36:20 UTC

svn commit: r1797223 - in /myfaces/tobago/trunk: tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/ tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ tobago-example/tobago-example-demo/src/main/webapp...

Author: hnoeth
Date: Thu Jun  1 13:36:20 2017
New Revision: 1797223

URL: http://svn.apache.org/viewvc?rev=1797223&view=rev
Log:
TOBAGO-1741 tc:out labelLayout="skip" must not render any html tags
* fix duplicated IDs for tc:selectOneRadio, tc:selectManyCheckbox and tc:date
* fix QUnitTests ignoring "duplicated ID"-test

Modified:
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyCheckbox.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneRadio.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxInsideCommandRenderer.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioInsideCommandRenderer.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/20-buttons/buttons.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java Thu Jun  1 13:36:20 2017
@@ -52,7 +52,7 @@ public abstract class AbstractUIInput ex
     final UIComponent before = getFacet(Facets.before.name());
     final UIComponent after = getFacet(Facets.after.name());
 
-    if (getLabelLayout() == LabelLayout.skip && before == null && after==null) {
+    if (getLabelLayout() == LabelLayout.skip && before == null && after == null && !(this instanceof AbstractUIDate)) {
       return getClientId(facesContext);
     } else {
       return getClientId(facesContext) + ComponentUtils.SUB_SEPARATOR + "field";

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyCheckbox.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyCheckbox.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyCheckbox.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectManyCheckbox.java Thu Jun  1 13:36:20 2017
@@ -19,8 +19,24 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
+import org.apache.myfaces.tobago.component.LabelLayout;
+
 /**
  * {@link org.apache.myfaces.tobago.internal.taglib.component.SelectManyCheckboxTagDeclaration}
  */
 public abstract class AbstractUISelectManyCheckbox extends AbstractUISelectManyBase {
+
+  public abstract boolean isDisabled();
+
+  public abstract boolean isFocus();
+
+  public abstract boolean isInline();
+
+  public abstract boolean isReadonly();
+
+  public abstract Integer getTabIndex();
+
+  public boolean isLabelLayoutSkip() {
+    return getLabelLayout() == LabelLayout.skip;
+  }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneRadio.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneRadio.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneRadio.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneRadio.java Thu Jun  1 13:36:20 2017
@@ -19,8 +19,22 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
+import org.apache.myfaces.tobago.component.LabelLayout;
+
 /**
  * {@link org.apache.myfaces.tobago.internal.taglib.component.SelectOneRadioTagDeclaration}
  */
 public abstract class AbstractUISelectOneRadio extends AbstractUISelectOneBase {
+
+  public abstract boolean isDisabled();
+
+  public abstract boolean isFocus();
+
+  public abstract boolean isInline();
+
+  public abstract Integer getTabIndex();
+
+  public boolean isLabelLayoutSkip() {
+    return getLabelLayout() == LabelLayout.skip;
+  }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxInsideCommandRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxInsideCommandRenderer.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxInsideCommandRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxInsideCommandRenderer.java Thu Jun  1 13:36:20 2017
@@ -19,7 +19,7 @@
 
 package org.apache.myfaces.tobago.internal.renderkit.renderer;
 
-import org.apache.myfaces.tobago.component.UISelectManyCheckbox;
+import org.apache.myfaces.tobago.internal.component.AbstractUISelectManyCheckbox;
 import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
 import org.apache.myfaces.tobago.renderkit.css.CssItem;
 
@@ -46,7 +46,7 @@ public class SelectManyCheckboxInsideCom
   }
 
   @Override
-  protected void addCssItems(final FacesContext facesContext, final UISelectManyCheckbox select,
+  protected void addCssItems(final FacesContext facesContext, final AbstractUISelectManyCheckbox select,
                              final List<CssItem> collected) {
     collected.add(BootstrapClass.DROPDOWN_ITEM);
   }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectManyCheckboxRenderer.java Thu Jun  1 13:36:20 2017
@@ -19,7 +19,7 @@
 
 package org.apache.myfaces.tobago.internal.renderkit.renderer;
 
-import org.apache.myfaces.tobago.component.UISelectManyCheckbox;
+import org.apache.myfaces.tobago.internal.component.AbstractUISelectManyCheckbox;
 import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
 import org.apache.myfaces.tobago.internal.util.JsonUtils;
 import org.apache.myfaces.tobago.internal.util.RenderUtils;
@@ -45,7 +45,7 @@ public class SelectManyCheckboxRenderer
 
   @Override
   public void encodeBeginField(final FacesContext facesContext, final UIComponent component) throws IOException {
-    final UISelectManyCheckbox select = (UISelectManyCheckbox) component;
+    final AbstractUISelectManyCheckbox select = (AbstractUISelectManyCheckbox) component;
     final TobagoResponseWriter writer = getResponseWriter(facesContext);
 
     final String id = select.getClientId(facesContext);
@@ -56,7 +56,9 @@ public class SelectManyCheckboxRenderer
     final boolean inline = select.isInline();
 
     writer.startElement(HtmlElements.DIV);
-    writer.writeIdAttribute(id);
+    if (select.isLabelLayoutSkip()) {
+      writer.writeIdAttribute(id);
+    }
     writer.writeStyleAttribute(select.getStyle());
 
     // TODO: optimize class attribute writing
@@ -138,7 +140,7 @@ public class SelectManyCheckboxRenderer
     return true;
   }
 
-  protected void addCssItems(final FacesContext facesContext, final UISelectManyCheckbox select,
+  protected void addCssItems(final FacesContext facesContext, final AbstractUISelectManyCheckbox select,
                              final List<CssItem> collected) {
   }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioInsideCommandRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioInsideCommandRenderer.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioInsideCommandRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioInsideCommandRenderer.java Thu Jun  1 13:36:20 2017
@@ -19,7 +19,7 @@
 
 package org.apache.myfaces.tobago.internal.renderkit.renderer;
 
-import org.apache.myfaces.tobago.component.UISelectOneRadio;
+import org.apache.myfaces.tobago.internal.component.AbstractUISelectOneRadio;
 import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
 import org.apache.myfaces.tobago.renderkit.css.CssItem;
 
@@ -46,7 +46,7 @@ public class SelectOneRadioInsideCommand
   }
 
   @Override
-  protected void addCssItems(final FacesContext facesContext, final UISelectOneRadio select,
+  protected void addCssItems(final FacesContext facesContext, final AbstractUISelectOneRadio select,
                              final List<CssItem> collected) {
     collected.add(BootstrapClass.DROPDOWN_ITEM);
   }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SelectOneRadioRenderer.java Thu Jun  1 13:36:20 2017
@@ -19,7 +19,7 @@
 
 package org.apache.myfaces.tobago.internal.renderkit.renderer;
 
-import org.apache.myfaces.tobago.component.UISelectOneRadio;
+import org.apache.myfaces.tobago.internal.component.AbstractUISelectOneRadio;
 import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
 import org.apache.myfaces.tobago.internal.util.JsonUtils;
 import org.apache.myfaces.tobago.internal.util.ObjectUtils;
@@ -46,7 +46,7 @@ public class SelectOneRadioRenderer exte
 
   @Override
   protected void encodeBeginField(FacesContext facesContext, UIComponent component) throws IOException {
-    final UISelectOneRadio select = (UISelectOneRadio) component;
+    final AbstractUISelectOneRadio select = (AbstractUISelectOneRadio) component;
     final TobagoResponseWriter writer = getResponseWriter(facesContext);
 
     final String id = select.getClientId(facesContext);
@@ -58,7 +58,9 @@ public class SelectOneRadioRenderer exte
     final boolean inline = select.isInline();
 
     writer.startElement(HtmlElements.DIV);
-    writer.writeIdAttribute(id);
+    if (select.isLabelLayoutSkip()) {
+      writer.writeIdAttribute(id);
+    }
     writer.writeStyleAttribute(select.getStyle());
 
     // TODO: optimize class attribute writing
@@ -151,7 +153,7 @@ public class SelectOneRadioRenderer exte
     return true;
   }
 
-  protected void addCssItems(final FacesContext facesContext, final UISelectOneRadio select,
+  protected void addCssItems(final FacesContext facesContext, final AbstractUISelectOneRadio select,
                              final List<CssItem> collected) {
   }
 }

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/20-buttons/buttons.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/20-buttons/buttons.xhtml?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/20-buttons/buttons.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/20-buttons/buttons.xhtml Thu Jun  1 13:36:20 2017
@@ -68,7 +68,7 @@
   &lt;tc:button label="Right"/>
 &lt;/tc:buttons></code></pre>
     <tc:buttons>
-      <tc:button label="Dropdown" omit="true">
+      <tc:button id="buttonWithLinks" label="Dropdown" omit="true">
         <tc:link label="Action 1"/>
         <tc:link label="Action 2"/>
         <tc:link label="Action 3">

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java?rev=1797223&r1=1797222&r2=1797223&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java Thu Jun  1 13:36:20 2017
@@ -105,7 +105,10 @@ public class QUnitTests {
     Assert.assertTrue("There must be at least one test case.", testCases.size() > 0);
 
     final String textContent = qunitTests.getAttribute("textContent");
-    boolean testFailed = timeout || (textContent != null && textContent.contains(" msfailed@ "));
+
+    boolean testFailed = timeout || (textContent != null
+        && textContent.contains(" msfailed@ ") || textContent.contains("Expected:") || textContent.contains("Result:"));
+
     int testCaseCount = 1;
     StringBuilder stringBuilder = new StringBuilder();
     stringBuilder.append(qunitTestresult.getAttribute("textContent"));