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 2016/09/23 09:04:47 UTC

svn commit: r1762035 - in /myfaces/tobago/trunk/tobago-example: tobago-example-demo/src/main/webapp/ tobago-example-demo/src/main/webapp/content/20-component/020-output/60-object/ tobago-example-demo/src/main/webapp/content/20-component/040-command/20-...

Author: lofwyr
Date: Fri Sep 23 09:04:47 2016
New Revision: 1762035

URL: http://svn.apache.org/viewvc?rev=1762035&view=rev
Log:
TOBAGO-1544 Demo
* menubar.xhtml in section "Deprecated" created
* links in navigation can now open a new tab
* QUnitTests: test-message is now shown for a failing test
* Section "Editable Sheet" improved
* put sheet-types.xhtml from tobago-example-test in the test section of
tobago-example-demo
* add test for sheet-types.xhtml
[developed by hnoeth]

Added:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/35-deprecated/25-menubar/
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/35-deprecated/25-menubar/menubar.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.test.js
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/sheet.xhtml
Removed:
    myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/test/sheet/sheet-types.xhtml
Modified:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/60-object/object.xhtml
    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/main/webapp/content/20-component/050-container/40-section/section.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/80-editable/sheet-editable.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/error/exception.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/navigation.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/QUnitTests.java

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/60-object/object.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/60-object/object.xhtml?rev=1762035&r1=1762034&r2=1762035&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/60-object/object.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/60-object/object.xhtml Fri Sep 23 09:04:47 2016
@@ -83,4 +83,3 @@
     </tc:object>
   </tc:section>
 </ui:composition>
-

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=1762035&r1=1762034&r2=1762035&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 Fri Sep 23 09:04:47 2016
@@ -23,8 +23,6 @@
   <ui:param name="title" value="#{overviewBundle.buttons}  &lt;tc:buttons>"/>
   <p>Buttons can be grouped with the <code class="language-markup">&lt;tc:buttons/></code> tag.
     Just add some <code class="language-markup">&lt;tc:button/></code> tags.</p>
-  <tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
-           link="#{overviewBundle.tagDocUrl}/buttons.html"/>
   <p>Tag Library Documentation:
     <tc:link label="&lt;tc:buttons/>" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/buttons.html"/>
     |
@@ -72,7 +70,10 @@
       <tc:button label="Dropdown" omit="true">
         <tc:link label="Action 1"/>
         <tc:link label="Action 2"/>
-        <tc:link label="Action 3"/>
+        <tc:link label="Action 3">
+          <tc:link label="Action 3.1"/>
+          <tc:link label="Action 3.2"/>
+        </tc:link>
       </tc:button>
       <tc:button label="Center"/>
       <tc:button label="Right"/>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/40-section/section.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/40-section/section.xhtml?rev=1762035&r1=1762034&r2=1762035&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/40-section/section.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/40-section/section.xhtml Fri Sep 23 09:04:47 2016
@@ -57,9 +57,10 @@
     <tc:section label="Pie-Chart" image="fa-pie-chart">
       <p>It's also possible to use image files, instead of font awesome.</p>
     </tc:section>
-    <tc:section label="Real Image" image="image/alps.png">
-    <p>It's also possible to use image files, instead of font awesome.</p>
+    <tc:section label="Image Files" image="image/alps.png">
+      <p><b>(TODO: currently not working!)</b></p>
+      <!-- todo: this image is only a reminder. -->
       <tc:image value="image/alps.png"/>
-  </tc:section>
+    </tc:section>
   </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml?rev=1762035&r1=1762034&r2=1762035&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml Fri Sep 23 09:04:47 2016
@@ -99,7 +99,6 @@
       .demo.actionlistener.SimpleTabChangeListener"
       binding="\#{tabController.tabChangeListener}"/></code>
     <tc:tabGroup switchType="reloadPage">
-      <f:ajax render="tabChangeListenerSection"/>
       <tc:tabChangeListener type="org.apache.myfaces.tobago.example.demo.actionlistener.SimpleTabChangeListener"
                             binding="#{tabController.tabChangeListener}"/>
       <tc:tab label="One">

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/80-editable/sheet-editable.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/80-editable/sheet-editable.xhtml?rev=1762035&r1=1762034&r2=1762035&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/80-editable/sheet-editable.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/80-editable/sheet-editable.xhtml Fri Sep 23 09:04:47 2016
@@ -23,20 +23,59 @@
                 xmlns:ui="http://java.sun.com/jsf/facelets"
                 xmlns:f="http://java.sun.com/jsf/core">
   <ui:param name="title" value="#{overviewBundle.sheet_editable} &lt;tc:sheet>"/>
+  <p>Not only a sheet can be used to display data, it may also contain inputfields to edit the data.</p>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:sheet/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/sheet.html"/>
+    |
+    <tc:link label="&lt;tc:column/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/column.html"/></p>
 
   <tc:section label="Editable Sheet" id="basics">
-    <tc:sheet id="s1" value="#{sheetController.solarList}" var="object" rows="5">
-      <tc:style maxHeight="500px"/>
+    <p>In this sheet you can edit the data of solar objects. Press the 'Submit' button to see the results in the
+      'Result' section.</p>
+    <tc:sheet id="editSheet" value="#{sheetController.solarList}" var="object" rows="5">
       <tc:column label="Name">
-        <tc:in value="#{object.name}"/>
+        <tc:in id="nameCol" value="#{object.name}">
+          <f:ajax execute="nameCol" render="resultSheet"/>
+        </tc:in>
       </tc:column>
-      <tc:column label="Distance">
-        <tc:in value="#{object.distance}"/>
+      <tc:column label="Orbit">
+        <tc:in value="#{object.orbit}"/>
       </tc:column>
-      <tc:column label="discoverYear">
+      <tc:column label="Period (Days)">
+        <tc:in value="#{object.period}"/>
+      </tc:column>
+      <tc:column label="Discoverer">
+        <tc:in value="#{object.discoverer}"/>
+      </tc:column>
+      <tc:column label="Year">
         <tc:date value="#{object.discoverYear}" converter="#{sheetController.yearConverter}"/>
       </tc:column>
     </tc:sheet>
-    <tc:button label="Submit"/>
+    <tc:button label="Submit">
+      <f:ajax execute="editSheet" render="resultSheet"/>
+    </tc:button>
+  </tc:section>
+
+  <tc:section label="Result">
+    <p>The sheet in this section is for verifying the submitted data.</p>
+    <tc:sheet id="resultSheet" var="object" value="#{sheetController.solarList}">
+      <tc:column label="Name">
+        <tc:out value="#{object.name}"/>
+      </tc:column>
+      <tc:column label="Orbit">
+        <tc:out value="#{object.orbit}"/>
+      </tc:column>
+      <tc:column label="Period (Days)">
+        <tc:out value="#{object.period}"/>
+      </tc:column>
+      <tc:column label="Discoverer">
+        <tc:out value="#{object.discoverer}"/>
+      </tc:column>
+      <tc:column label="Year">
+        <tc:out value="#{object.discoverYear}"/>
+      </tc:column>
+    </tc:sheet>
   </tc:section>
 </ui:composition>

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/35-deprecated/25-menubar/menubar.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/35-deprecated/25-menubar/menubar.xhtml?rev=1762035&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/35-deprecated/25-menubar/menubar.xhtml (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/35-deprecated/25-menubar/menubar.xhtml Fri Sep 23 09:04:47 2016
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:tc="http://myfaces.apache.org/tobago/component"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:f="http://java.sun.com/jsf/core">
+  <ui:param name="title" value="#{overviewBundle.menubar}"/>
+
+  <p><code class="language-markup">&lt;tc:menubar></code>,
+    <code class="language-markup">&lt;tc:menu></code>,
+    <code class="language-markup">&lt;tc:menuCommand></code> and
+    <code class="language-markup">&lt;tc:menuSeparator></code> are deprecated.</p>
+  <p>Use the <code>bar</code> facet in a content box with a
+    <code class="language-markup">&lt;tc:buttons></code> tag instead.
+<br/>
+    For a dropdownmenus have a look at the 'Dropdown' section on the
+    <tc:link label="#{overviewBundle.button_link}"
+             link="/faces/content/20-component/040-command/00-button+link/button+link.xhtml"/> page.
+    <br/>
+    To add a separator just use <code class="language-markup">&lt;tc:separator/></code>.</p>
+
+  <tc:section label="Replacement">
+    <pre><code class="language-markup">&lt;tc:box label="Content Box">
+  &lt;f:facet name="bar">
+    &lt;tc:buttons>
+      &lt;tc:button label="One" omit="true"/>
+      &lt;tc:button label="Two" omit="true"/>
+      &lt;tc:button label="Three" omit="true">
+        &lt;tc:command label="Four"/>
+        &lt;tc:command label="Five"/>
+        &lt;tc:separator/>
+        &lt;tc:command label="Six"/>
+      ...</code></pre>
+    <tc:box label="Content Box">
+      <f:facet name="bar">
+        <tc:buttons>
+          <tc:button label="One" omit="true"/>
+          <tc:button label="Two" omit="true"/>
+          <tc:button label="Three" omit="true">
+            <tc:command label="Four"/>
+            <tc:command label="Five"/>
+            <tc:separator/>
+            <tc:command label="Six"/>
+          </tc:button>
+        </tc:buttons>
+      </f:facet>
+      <p>Content</p>
+    </tc:box>
+  </tc:section>
+</ui:composition>

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.test.js?rev=1762035&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.test.js (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.test.js Fri Sep 23 09:04:47 2016
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+QUnit.test("Column 0: tc:columnSelector", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(0);
+  testWidthHeight(assert, $column, 50, 57, 13, 13);
+});
+
+QUnit.test("Column 1: tc:out", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(1);
+  testWidthHeight(assert, $column, 70, 57, 70, 40);
+});
+
+QUnit.test("Column 2: tc:out", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(2);
+  testWidthHeight(assert, $column, 70, 57, 70, 40);
+});
+
+QUnit.test("Column 3: tc:in", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(3);
+  testWidthHeight(assert, $column, 90, 57, 90, 38);
+});
+
+QUnit.test("Column 4: tc:date", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(4);
+  testWidthHeight(assert, $column, 115, 57, 115, 38);
+});
+
+QUnit.test("Column 5: tc:button", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(5);
+  testWidthHeight(assert, $column, 100, 57, 63, 38);
+});
+
+QUnit.test("Column 6: tc:link", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(6);
+  testWidthHeight(assert, $column, 70, 57, 29, 20);
+});
+
+/* PhantomJs miscalculate the height of the dropdown box
+QUnit.test("Column 7: tc:selectOneChoice", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(7);
+  testWidthHeight(assert, $column, 180, 57, 180, 40);
+});
+*/
+
+QUnit.test("Column 8: tc:image", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(8);
+  testWidthHeight(assert, $column, 90, 57, 72, 30);
+});
+
+QUnit.test("Column 9: tc:flexLayout", function(assert) {
+  assert.expect(4);
+
+  var $column = getColumn(9);
+  testWidthHeight(assert, $column, 130, 57, 130, 56);
+});
+
+function testWidthHeight(assert, $column, width, height, childWidth, childHeight) {
+  assert.equal($column.get(0).offsetWidth, width);
+  assert.equal($column.get(0).offsetHeight, height);
+
+  //maximal difference 2px
+  var offsetWidth = $column.children().get(0).offsetWidth;
+  var offsetHeight = $column.children().get(0).offsetHeight;
+  var delta = 2;
+  assert.ok(Math.abs(offsetWidth - childWidth) <= delta,
+      "expected: " + childWidth + " result: " + offsetWidth + " delta: " + delta);
+  assert.ok(Math.abs(offsetHeight - childHeight) <= delta,
+      "expected: " + childHeight + " result: " + offsetHeight + " delta: " + delta);
+}
+
+function getColumn(number) {
+  return jQueryFrame("tr").eq(1).find("td").eq(number);
+}

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.xhtml?rev=1762035&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.xhtml (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/10-sheet-types/sheet-types.xhtml Fri Sep 23 09:04:47 2016
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:tc="http://myfaces.apache.org/tobago/component"
+                xmlns:ui="http://java.sun.com/jsf/facelets">
+  <ui:param name="title" value="#{overviewBundle.sheet_types}"/>
+  <tc:sheet value="#{sheetController.solarList}" id="sheet" var="luminary"
+            columns="50px;70px;70px;10px;90px;115px;100px;70px;180px;90px;130px"
+            rows="10">
+    <tc:columnSelector/>
+    <tc:column label="&lt;tc:out>" id="c_out">
+      <tc:out value="#{luminary.name}"/>
+    </tc:column>x
+    <tc:column label="&lt;tc:out>" align="right" id="c_out_r">
+      <tc:out value="#{luminary.name}"/>
+    </tc:column>
+    <tc:column id="c_not_rendered" rendered="false">
+      <tc:out value="#{luminary.name}"/>
+    </tc:column>
+    <tc:column label="&lt;tc:in>" id="c_in">
+      <tc:in value="#{luminary.name}" id="in"/>
+    </tc:column>
+    <tc:column label="&lt;tc:date>" id="c_date">
+      <tc:date value="#{luminary.discoverYear}" converter="#{sheetController.yearConverter}">
+        <tc:style minWidth="0"/>
+      </tc:date>
+    </tc:column>
+    <tc:column label="&lt;tc:button>" id="c_button">
+      <tc:button label="#{luminary.name}"/>
+    </tc:column>
+    <tc:column label="&lt;tc:link>" id="c_link">
+      <tc:link label="#{luminary.name}" link="https://en.wikipedia.org/wiki/#{luminary.name}"/>
+    </tc:column>
+    <tc:column label="&lt;tc:selectOneChoice>" id="c_selectOneChoice">
+      <tc:selectOneChoice>
+        <tc:selectItem itemLabel="first" itemValue="1"/>
+        <tc:selectItem itemLabel="second" itemValue="2"/>
+        <tc:selectItem itemLabel="third" itemValue="3"/>
+      </tc:selectOneChoice>
+    </tc:column>
+    <tc:column label="&lt;tc:image>" align="center" id="c_image">
+      <tc:image value="image/alps.png">
+        <tc:style width="72px" height="30px"/>
+      </tc:image>
+    </tc:column>
+    <tc:column label="&lt;tc:flexLayout>" id="c_panel">
+      <tc:flexLayout columns="1*;10px;1*">
+        <tc:in value="1st"/>
+        <tc:out value="/"/>
+        <tc:in value="2nd"/>
+      </tc:flexLayout>
+    </tc:column>
+  </tc:sheet>
+</ui:composition>

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/sheet.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/sheet.xhtml?rev=1762035&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/sheet.xhtml (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/8000-sheet/sheet.xhtml Fri Sep 23 09:04:47 2016
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<ui:composition template="/main.xhtml"
+                xmlns:tc="http://myfaces.apache.org/tobago/component"
+                xmlns:ui="http://java.sun.com/jsf/facelets">
+
+  <ui:param name="title" value="TODO"/>
+
+  TODO
+
+</ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/error/exception.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/error/exception.xhtml?rev=1762035&r1=1762034&r2=1762035&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/error/exception.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/error/exception.xhtml Fri Sep 23 09:04:47 2016
@@ -46,8 +46,9 @@
         request.setAttribute("exceptionText", exceptionToString(exception));
       %>
 -->
-
-      <tc:out escape="false" value="#{exceptionController.stackTrace}"/>
+      <pre>
+        <tc:out value="#{exceptionController.stackTrace}"/>
+      </pre>
     </tc:section>
 
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/navigation.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/navigation.xhtml?rev=1762035&r1=1762034&r2=1762035&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/navigation.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/navigation.xhtml Fri Sep 23 09:04:47 2016
@@ -25,7 +25,7 @@
       <tc:treeCommand
           id="cmd"
           label="#{node.title}"
-          action="#{node.action}"
+          link="/faces#{node.outcome}"
           immediate="true"/>
     </tc:treeNode>
   </tc:treeMenu>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml?rev=1762035&r1=1762034&r2=1762035&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml Fri Sep 23 09:04:47 2016
@@ -65,7 +65,6 @@
   <entry key="buttons">Button Group</entry>
   <entry key="buttons_customizer">Button Group Customizer</entry>
   <entry key="commands">Command Group</entry>
-  <entry key="menu">Menubar</entry>
   <entry key="container">Container</entry>
   <entry key="box">Content Box</entry>
   <entry key="panel">Panel</entry>
@@ -134,10 +133,12 @@
   <entry key="tx">TX Tag Library</entry>
   <entry key="suggest_method">SuggestMethod</entry>
   <entry key="toolBar">Toolbar</entry>
+  <entry key="menubar">Menubar</entry>
   <entry key="grid_layout">GridLayout</entry>
 
   <!-- navigate : test -->
   <entry key="test">Tests</entry>
+  <entry key="sheet_types">Sheet Content</entry>
 
   <entry key="validation-severity">Severity</entry>
   <entry key="browser">Browser</entry>

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=1762035&r1=1762034&r2=1762035&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 Fri Sep 23 09:04:47 2016
@@ -115,9 +115,10 @@ public class QUnitTests {
             WebElement source = assertion.findElement(By.className("test-source"));
             LOG.warn("test '" + testName + "' for " + page + " failed on assertion " + assertionCount
                 + "\n" + source.getText());
+            String message = assertion.findElement(By.className("test-message")).getText();
             String expected = assertion.findElement(By.className("test-expected")).getText();
             String actual = assertion.findElement(By.className("test-actual")).getText();
-            Assert.assertEquals(expected, actual);
+            Assert.assertEquals(message, expected, actual);
           }
         }
       } else if ("running".equals(testCase.getAttribute("class"))) {
@@ -359,6 +360,12 @@ public class QUnitTests {
     runStandardTest(page);
   }
 
+  @Test
+  public void testSheetTypes() throws UnsupportedEncodingException, InterruptedException {
+    String page = "content/40-test/8000-sheet/10-sheet-types/sheet-types.xhtml";
+    runStandardTest(page);
+  }
+
   @Test
   public void rendererBaseGetCurrentValue() throws UnsupportedEncodingException, InterruptedException {
     String page = "content/40-test/50000-java/10-rendererBase-getCurrentValue/rendererBase-getCurrentValue.xhtml";