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/07/01 14:56:09 UTC
svn commit: r1750949 [2/2] - in
/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src: main/webapp/
main/webapp/WEB-INF/ main/webapp/content/20-component/010-input/10-in/
main/webapp/content/20-component/010-input/20-suggest/ main/webapp/content...
Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.test.js?rev=1750949&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.test.js (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.test.js Fri Jul 1 14:56:09 2016
@@ -0,0 +1,467 @@
+/*
+ * 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.
+ */
+
+function jQueryFrame(expression) {
+ return document.getElementById("page:testframe").contentWindow.jQuery(expression);
+}
+
+QUnit.test("submit inner form 1 without violations", function (assert) {
+ assert.expect(3);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:submit");
+
+ $form1InputField.val("Alice");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+
+ assert.equal($form1InputField.val(), "Alice");
+ assert.equal($form1OutputField.text(), "Alice");
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "0");
+
+ done();
+ });
+});
+
+QUnit.test("submit inner form 2, violate required field", function (assert) {
+ assert.expect(3);
+ var done = assert.async();
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:submit");
+
+ var form2OutputFieldValue = $form2OutputField.text();
+
+ $form2InputField.val("");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+
+ assert.equal($form2InputField.val(), "");
+ assert.equal($form2OutputField.text(), form2OutputFieldValue);
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "1");
+
+ done();
+ });
+});
+
+QUnit.test("submit inner form 2 without violations", function (assert) {
+ assert.expect(3);
+ var done = assert.async();
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:submit");
+
+ $form2InputField.val("Bob");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+
+ assert.equal($form2InputField.val(), "Bob");
+ assert.equal($form2OutputField.text(), "Bob");
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "0");
+
+ done();
+ });
+});
+
+QUnit.test("submit outer form, violate both required fields", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submit");
+
+ var form1OutputFieldValue = $form1OutputField.text();
+ var form2OutputFieldValue = $form2OutputField.text();
+ var outerFormOutputFieldValue = $outerFormOutputField.text();
+
+ $form1InputField.val("Charlie");
+ $form2InputField.val("");
+ $outerFormInputField.val("");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Charlie");
+ assert.equal($form1OutputField.text(), form1OutputFieldValue);
+ assert.equal($form2InputField.val(), "");
+ assert.equal($form2OutputField.text(), form2OutputFieldValue);
+ assert.equal($outerFormInputField.val(), "");
+ assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "2");
+
+ done();
+ });
+});
+
+QUnit.test("submit outer form, violate required field in form 2", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submit");
+
+ var form1OutputFieldValue = $form1OutputField.text();
+ var form2OutputFieldValue = $form2OutputField.text();
+ var outerFormOutputFieldValue = $outerFormOutputField.text();
+
+ $form1InputField.val("Dave");
+ $form2InputField.val("");
+ $outerFormInputField.val("Eve");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Dave");
+ assert.equal($form1OutputField.text(), form1OutputFieldValue);
+ assert.equal($form2InputField.val(), "");
+ assert.equal($form2OutputField.text(), form2OutputFieldValue);
+ assert.equal($outerFormInputField.val(), "Eve");
+ assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "1");
+
+ done();
+ });
+});
+
+QUnit.test("submit outer form, violate required field in outer form", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submit");
+
+ var form1OutputFieldValue = $form1OutputField.text();
+ var form2OutputFieldValue = $form2OutputField.text();
+ var outerFormOutputFieldValue = $outerFormOutputField.text();
+
+ $form1InputField.val("Frank");
+ $form2InputField.val("Grace");
+ $outerFormInputField.val("");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Frank");
+ assert.equal($form1OutputField.text(), form1OutputFieldValue);
+ assert.equal($form2InputField.val(), "Grace");
+ assert.equal($form2OutputField.text(), form2OutputFieldValue);
+ assert.equal($outerFormInputField.val(), "");
+ assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "1");
+
+ done();
+ });
+});
+
+QUnit.test("submit outer form without violations", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submit");
+
+ $form1InputField.val("Hank");
+ $form2InputField.val("Irene");
+ $outerFormInputField.val("John");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Hank");
+ assert.equal($form1OutputField.text(), "Hank");
+ assert.equal($form2InputField.val(), "Irene");
+ assert.equal($form2OutputField.text(), "Irene");
+ assert.equal($outerFormInputField.val(), "John");
+ assert.equal($outerFormOutputField.text(), "John");
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "0");
+
+ done();
+ });
+});
+
+QUnit.test("submit inner forms, violate required field in form 2", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submitInnerForms");
+
+ var form1OutputFieldValue = $form1OutputField.text();
+ var form2OutputFieldValue = $form2OutputField.text();
+ var outerFormOutputFieldValue = $outerFormOutputField.text();
+
+ $form1InputField.val("Kate");
+ $form2InputField.val("");
+ $outerFormInputField.val("Leonard");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Kate");
+ assert.equal($form1OutputField.text(), form1OutputFieldValue);
+ assert.equal($form2InputField.val(), "");
+ assert.equal($form2OutputField.text(), form2OutputFieldValue);
+ assert.equal($outerFormInputField.val(), "Leonard");
+ assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "1");
+
+ done();
+ });
+});
+
+QUnit.test("submit inner forms without violations", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submitInnerForms");
+
+ var outerFormOutputFieldValue = $outerFormOutputField.text();
+
+ $form1InputField.val("Mike");
+ $form2InputField.val("Neil");
+ $outerFormInputField.val("");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Mike");
+ assert.equal($form1OutputField.text(), "Mike");
+ assert.equal($form2InputField.val(), "Neil");
+ assert.equal($form2OutputField.text(), "Neil");
+ assert.equal($outerFormInputField.val(), "");
+ assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "0");
+
+ done();
+ });
+});
+
+QUnit.test("submit outer value, violate required field", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submitOuterValue");
+
+ var form1OutputFieldValue = $form1OutputField.text();
+ var form2OutputFieldValue = $form2OutputField.text();
+ var outerFormOutputFieldValue = $outerFormOutputField.text();
+
+ $form1InputField.val("Oscar");
+ $form2InputField.val("Penny");
+ $outerFormInputField.val("");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Oscar");
+ assert.equal($form1OutputField.text(), form1OutputFieldValue);
+ assert.equal($form2InputField.val(), "Penny");
+ assert.equal($form2OutputField.text(), form2OutputFieldValue);
+ assert.equal($outerFormInputField.val(), "");
+ assert.equal($outerFormOutputField.text(), outerFormOutputFieldValue);
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "1");
+
+ done();
+ });
+});
+
+QUnit.test("submit outer value without violations", function (assert) {
+ assert.expect(7);
+ var done = assert.async();
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form1\\:out span");
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:form2\\:out span");
+ var $outerFormInputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:in\\:\\:field");
+ var $outerFormOutputField = jQueryFrame("#page\\:mainForm\\:outerForm\\:out span");
+
+ var $button = jQueryFrame("#page\\:mainForm\\:outerForm\\:submitOuterValue");
+
+ var form1OutputFieldValue = $form1OutputField.text();
+ var form2OutputFieldValue = $form2OutputField.text();
+
+ $form1InputField.val("Quin");
+ $form2InputField.val("Sue");
+ $outerFormInputField.val("Ted");
+ $button.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/30-concept/08-form/20-ajax/form-ajax.xhtml'
+ }).done(function () {
+ $form1InputField = jQueryFrame($form1InputField.selector);
+ $form1OutputField = jQueryFrame($form1OutputField.selector);
+ $form2InputField = jQueryFrame($form2InputField.selector);
+ $form2OutputField = jQueryFrame($form2OutputField.selector);
+ $outerFormInputField = jQueryFrame($outerFormInputField.selector);
+ $outerFormOutputField = jQueryFrame($outerFormOutputField.selector);
+
+ assert.equal($form1InputField.val(), "Quin");
+ assert.equal($form1OutputField.text(), form1OutputFieldValue);
+ assert.equal($form2InputField.val(), "Sue");
+ assert.equal($form2OutputField.text(), form2OutputFieldValue);
+ assert.equal($outerFormInputField.val(), "Ted");
+ assert.equal($outerFormOutputField.text(), "Ted");
+
+ var $alert = jQueryFrame("#page\\:messages .alert-danger label");
+ assert.equal($alert.length, "0");
+
+ done();
+ });
+});
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.xhtml?rev=1750949&r1=1750948&r2=1750949&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/20-ajax/form-ajax.xhtml Fri Jul 1 14:56:09 2016
@@ -23,43 +23,93 @@
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<ui:param name="title" value="#{overviewBundle.form_ajax} <tc:form>"/>
- <p></p>
+ <p>The <code class="language-markup"><f:ajax execute="..." render="..."/></code> tag ignore the
+ <code class="language-markup"><tc:form></code> tag.
+ The form is only used as a naming container.</p>
+
<tc:link label="Tag Library Documentation" image="image/feather-leaf.png"
- link="#{overviewBundle.tagDocUrl}/form.html"/>
+ link="#{overviewBundle.tagDocUrl}/form.html"/>
<tc:section label="Example">
- <p></p>
+ <p>The structure of this example is similar to the
+ <tc:link label="#{overviewBundle.form_required}" link="../10-required/form-required.xhtml"/> example.
+ Every form in this example is surrounded by a content box.
+ The submit buttons in the inner forms only put the inner value into the model.
+ The submit button in the outer form put all values into the model.
+ The validation for the inner value 2 and for the outer value is activated, both fields are required.</p>
+ <p>There are also two more submit buttons in the outer form.
+ The 'Inner Forms' button submit both values in the inner forms.
+ The 'Outer Value' button only submit the outer value.
+ Please notice, that all buttons use the
+ <code class="language-markup"><f:ajax execute="..." render="..."/></code> tag.</p>
+ <p>Also note, that the <code class="language-markup"><tc:message/></code> tag has to be rerendered
+ to show error messages.</p>
- <pre><code class="language-markup"></code></pre>
+ <pre><code class="language-markup"><tc:box label="Outer Form">
+ <tc:form>
+ <tc:box label="Inner Form 1">
+ <tc:form>
+ <tc:in label="Inner Value 1"/>
+ <tc:out label="Inner Value 1 in Model"/>
+ <tc:button label="Submit">
+ <f:ajax execute="in" render="out :page:messages"/>
+ </tc:button>
+ </tc:form>
+ </tc:box>
+ <tc:box label="Inner Form 2">
+ ...
+ </tc:box>
+ <tc:separator/>
+ <tc:in label="Outer Value" required="true"/>
+ <tc:out label="Outer Value in Model"/>
+ <tc:button label="Submit">
+ <f:ajax execute="::form1:in ::form2:in in"
+ render="::form1:out ::form2:out out :page:messages"/>
+ </tc:button>
+ ...
+ </tc:form>
+</tc:box></code></pre>
<tc:box label="Outer Form">
- <tc:form id="outerform">
+ <tc:form id="outerForm">
<tc:box label="Inner Form 1">
<tc:form id="form1">
- <tc:in id="in" label="Inner Value 1" value="#{formRequiredController.innerValue1}"/>
- <tc:out id="out" label="Inner Value 1 in Model" value="#{formRequiredController.innerValue1}"/>
- <tc:button label="Submit">
- <f:ajax execute="in" render="out"/>
+ <tc:in id="in" label="Inner Value 1" value="#{formAjaxController.innerValue1}"/>
+ <tc:out id="out" label="Inner Value 1 in Model" value="#{formAjaxController.innerValue1}"/>
+ <tc:button id="submit" label="Submit">
+ <f:ajax execute="in" render="out :page:messages"/>
</tc:button>
</tc:form>
</tc:box>
<tc:box label="Inner Form 2">
<tc:form id="form2">
<tc:in id="in" label="Inner Value 2" required="true"
- value="#{formRequiredController.innerValue2}"/>
- <tc:out id="out" label="Inner Value 2 in Model" value="#{formRequiredController.innerValue2}"/>
- <tc:button label="Submit">
- <f:ajax execute="in" render="out"/>
+ value="#{formAjaxController.innerValue2}"/>
+ <tc:out id="out" label="Inner Value 2 in Model" value="#{formAjaxController.innerValue2}"/>
+ <tc:button id="submit" label="Submit">
+ <f:ajax execute="in" render="out :page:messages"/>
</tc:button>
</tc:form>
</tc:box>
<tc:separator/>
- <tc:in id="in" label="Outer Value" required="true" value="#{formRequiredController.outerValue}"/>
- <tc:out id="out" label="Outer Value in Model" value="#{formRequiredController.outerValue}"/>
- <tc:button label="Submit">
- <f:ajax execute=":page:outerform:form1:in :page:outerform:form2:in in"
- render=":page:outerform:form1:out :page:outerform:form2:out out"/>
+ <tc:in id="in" label="Outer Value" required="true" value="#{formAjaxController.outerValue}"/>
+ <tc:out id="out" label="Outer Value in Model" value="#{formAjaxController.outerValue}"/>
+ <tc:button id="submit" label="Submit">
+ <f:ajax execute="::form1:in ::form2:in in"
+ render="::form1:out ::form2:out out :page:messages"/>
</tc:button>
+
+ <tc:separator/>
+ Submit only:
+ <tc:buttons>
+ <tc:button id="submitInnerForms" label="Inner Forms">
+ <f:ajax execute="::form1:in ::form2:in"
+ render="::form1:out ::form2:out :page:messages"/>
+ </tc:button>
+ <tc:button id="submitOuterValue" label="Outer Value">
+ <f:ajax execute="in" render="out :page:messages"/>
+ </tc:button>
+ </tc:buttons>
</tc:form>
</tc:box>
</tc:section>
Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js?rev=1750949&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.test.js Fri Jul 1 14:56:09 2016
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+function jQueryFrame(expression) {
+ return document.getElementById("page:testframe").contentWindow.jQuery(expression);
+}
+
+QUnit.test("submit form 1", function (assert) {
+ assert.expect(4);
+ var done = assert.async();
+
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
+ var $form1SubmitButton = jQueryFrame("#page\\:mainForm\\:form1\\:submit");
+
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
+ var $form2OutputFieldValue = jQueryFrame("#page\\:mainForm\\:form2\\:out span").text();
+
+ $form1InputField.val("Oliver");
+ $form2InputField.val("Peter");
+
+ $form1SubmitButton.click();
+
+ jQuery("#page\\:testframe").load(function () {
+ $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:form1\\:out span");
+ $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:form2\\:out span");
+
+ assert.equal($form1InputField.val(), "Oliver");
+ assert.equal($form1OutputField.text(), "Oliver");
+ assert.equal($form2InputField.val(), "Peter");
+ assert.equal($form2OutputField.text(), $form2OutputFieldValue);
+
+ done();
+ });
+});
+
+QUnit.test("submit form 2", function (assert) {
+ assert.expect(4);
+ var done = assert.async();
+
+ var $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
+ var $form1OutputFieldValue = jQueryFrame("#page\\:mainForm\\:form1\\:out span").text();
+
+ var $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
+ var $form2SubmitButton = jQueryFrame("#page\\:mainForm\\:form2\\:submit");
+
+ $form1InputField.val("Oliver");
+ $form2InputField.val("Peter");
+
+ $form2SubmitButton.click();
+
+ jQuery("#page\\:testframe").load(function () {
+ $form1InputField = jQueryFrame("#page\\:mainForm\\:form1\\:in\\:\\:field");
+ var $form1OutputField = jQueryFrame("#page\\:mainForm\\:form1\\:out span");
+ $form2InputField = jQueryFrame("#page\\:mainForm\\:form2\\:in\\:\\:field");
+ var $form2OutputField = jQueryFrame("#page\\:mainForm\\:form2\\:out span");
+
+ assert.equal($form1InputField.val(), "Oliver");
+ assert.equal($form1OutputField.text(), $form1OutputFieldValue);
+ assert.equal($form2InputField.val(), "Peter");
+ assert.equal($form2OutputField.text(), "Peter");
+
+ done();
+ });
+});
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.xhtml?rev=1750949&r1=1750948&r2=1750949&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/08-form/form.xhtml Fri Jul 1 14:56:09 2016
@@ -45,17 +45,17 @@
...
</tc:box></code></pre>
<tc:box label="Form 1">
- <tc:form>
- <tc:in id="ivalue1" label="Value 1" value="#{formController.value1}"/>
- <tc:out id="ovalue1" label="Value 1 in Model" value="#{formController.value1}"/>
- <tc:button label="Submit"/>
+ <tc:form id="form1">
+ <tc:in id="in" label="Value 1" value="#{formController.value1}"/>
+ <tc:out id="out" label="Value 1 in Model" value="#{formController.value1}"/>
+ <tc:button id="submit" label="Submit"/>
</tc:form>
</tc:box>
<tc:box label="Form 2">
- <tc:form>
- <tc:in id="ivalue2" label="Value 2" value="#{formController.value2}"/>
- <tc:out id="ovalue2" label="Value 2 in Model" value="#{formController.value2}"/>
- <tc:button label="Submit"/>
+ <tc:form id="form2">
+ <tc:in id="in" label="Value 2" value="#{formController.value2}"/>
+ <tc:out id="out" label="Value 2 in Model" value="#{formController.value2}"/>
+ <tc:button id="submit" label="Submit"/>
</tc:form>
</tc:box>
</tc:section>
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.test.js?rev=1750949&r1=1750948&r2=1750949&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.test.js (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.test.js Fri Jul 1 14:56:09 2016
@@ -20,8 +20,8 @@ function jQueryFrame(expression) {
}
QUnit.test("inputfield with label", function (assert) {
- var $dateField = jQueryFrame("#page\\:dnopattern\\:\\:field");
- var $dateButton = jQueryFrame("#page\\:dnopattern button");
+ var $dateField = jQueryFrame("#page\\:mainForm\\:dateNoPattern\\:\\:field");
+ var $dateButton = jQueryFrame("#page\\:mainForm\\:dateNoPattern button");
assert.equal($dateField.val(), "");
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.xhtml?rev=1750949&r1=1750948&r2=1750949&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/1040-date/date.xhtml Fri Jul 1 14:56:09 2016
@@ -23,9 +23,7 @@
xsi:schemaLocation="http://myfaces.apache.org/tobago/component ">
<ui:param name="title" value="#{overviewBundle.date}"/>
- <tc:date id="dnopattern">
-
- </tc:date>
+ <tc:date id="dateNoPattern"/>
<tc:button label="Submit"/>
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/10-rendererBase-getCurrentValue/rendererBase-getCurrentValue.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/10-rendererBase-getCurrentValue/rendererBase-getCurrentValue.test.js?rev=1750949&r1=1750948&r2=1750949&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/10-rendererBase-getCurrentValue/rendererBase-getCurrentValue.test.js (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/10-rendererBase-getCurrentValue/rendererBase-getCurrentValue.test.js Fri Jul 1 14:56:09 2016
@@ -20,7 +20,7 @@ function jQueryFrame(expression) {
}
function test(assert, idSuffix, expectedText) {
- var $out = jQueryFrame("#page\\:" + idSuffix);
+ var $out = jQueryFrame("#page\\:mainForm\\:" + idSuffix);
assert.equal($out.text().trim(), expectedText);
}
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/20-ajax-execute/ajax-execute.test.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/20-ajax-execute/ajax-execute.test.js?rev=1750949&r1=1750948&r2=1750949&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/20-ajax-execute/ajax-execute.test.js (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/40-test/50000-java/20-ajax-execute/ajax-execute.test.js Fri Jul 1 14:56:09 2016
@@ -20,41 +20,75 @@ function jQueryFrame(expression) {
}
QUnit.test("ajax excecute", function (assert) {
+ assert.expect(12);
+ var done = assert.async(3);
+ var step = 1;
var $in1;
var $in2;
var $in3;
var $in4;
- var $clearButton = jQueryFrame("#page\\:clear");
+ var $clearButton = jQueryFrame("#page\\:mainForm\\:clear");
$clearButton.click();
- $in1 = jQueryFrame("#page\\:in1\\:\\:field");
- $in2 = jQueryFrame("#page\\:in2\\:\\:field");
- $in3 = jQueryFrame("#page\\:in3\\:\\:field");
- $in4 = jQueryFrame("#page\\:in4\\:\\:field");
- assert.equal($in1.val(), "");
- assert.equal($in2.val(), "");
- assert.equal($in3.val(), "");
- assert.equal($in4.val(), "");
- $in1.val("a");
- $in2.val("b");
- $in3.val("c");
- $in4.val("d");
-
- var $submitButton = jQueryFrame("#page\\:clear");
- $submitButton.click();
-
- $in1 = jQueryFrame("#page\\:in1\\:\\:field");
- $in2 = jQueryFrame("#page\\:in2\\:\\:field");
- $in3 = jQueryFrame("#page\\:in3\\:\\:field");
- $in4 = jQueryFrame("#page\\:in4\\:\\:field");
- assert.equal($in1.val(), "a");
- assert.equal($in2.val(), "b");
- assert.equal($in3.val(), "c");
- assert.equal($in4.val(), "");
-
-
- // todo: to be continued...
-
+ jQuery("#page\\:testframe").load(function () {
+ if (step == 1) {
+ $in1 = jQueryFrame("#page\\:mainForm\\:in1\\:\\:field");
+ $in2 = jQueryFrame("#page\\:mainForm\\:in2\\:\\:field");
+ $in3 = jQueryFrame("#page\\:mainForm\\:in3\\:\\:field");
+ $in4 = jQueryFrame("#page\\:mainForm\\:in4\\:\\:field");
+
+ assert.equal($in1.val(), "");
+ assert.equal($in2.val(), "");
+ assert.equal($in3.val(), "");
+ assert.equal($in4.val(), "");
+
+ $in1 = jQueryFrame("#page\\:mainForm\\:in1\\:\\:field");
+ $in2 = jQueryFrame("#page\\:mainForm\\:in2\\:\\:field");
+ $in3 = jQueryFrame("#page\\:mainForm\\:in3\\:\\:field");
+ $in4 = jQueryFrame("#page\\:mainForm\\:in4\\:\\:field");
+ $in1.val("a");
+ $in2.val("b");
+ $in3.val("c");
+ $in4.val("d");
+
+ var $submitButton = jQueryFrame("#page\\:mainForm\\:submit");
+ $submitButton.click();
+
+ $.ajax({
+ type: 'GET',
+ url: 'content/40-test/50000-java/20-ajax-execute/ajax-execute.xhtml'
+ }).done(function () {
+
+ $in1 = jQueryFrame("#page\\:mainForm\\:in1\\:\\:field");
+ $in2 = jQueryFrame("#page\\:mainForm\\:in2\\:\\:field");
+ $in3 = jQueryFrame("#page\\:mainForm\\:in3\\:\\:field");
+ $in4 = jQueryFrame("#page\\:mainForm\\:in4\\:\\:field");
+
+ assert.equal($in1.val(), "a");
+ assert.equal($in2.val(), "b");
+ assert.equal($in3.val(), "c");
+ assert.equal($in4.val(), "");
+
+ var $reloadButton = jQueryFrame("#page\\:mainForm\\:reload");
+ $reloadButton.click();
+
+ done();
+ });
+ } else if (step == 2) {
+ $in1 = jQueryFrame("#page\\:mainForm\\:in1\\:\\:field");
+ $in2 = jQueryFrame("#page\\:mainForm\\:in2\\:\\:field");
+ $in3 = jQueryFrame("#page\\:mainForm\\:in3\\:\\:field");
+ $in4 = jQueryFrame("#page\\:mainForm\\:in4\\:\\:field");
+
+ assert.equal($in1.val(), "a");
+ assert.equal($in2.val(), "");
+ assert.equal($in3.val(), "c");
+ assert.equal($in4.val(), "");
+ }
+
+ step++;
+ done();
+ });
});
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml?rev=1750949&r1=1750948&r2=1750949&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml Fri Jul 1 14:56:09 2016
@@ -52,7 +52,9 @@
</tc:panel>
<tc:box label="#{title}" id="content">
- <ui:insert/>
+ <tc:form id="mainForm">
+ <ui:insert/>
+ </tc:form>
</tc:box>
</tc:flexLayout>
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=1750949&r1=1750948&r2=1750949&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 Jul 1 14:56:09 2016
@@ -39,6 +39,7 @@ import org.slf4j.LoggerFactory;
import java.io.File;
import java.net.URL;
+import java.util.ArrayList;
import java.util.List;
@RunWith(Arquillian.class)
@@ -51,9 +52,6 @@ public class QUnitTests {
private WebDriver browser;
@ArquillianResource
private URL contextPath;
-
- @FindByJQuery("#page\\:navbtns\\:toggletest")
- private WebElement toggletest;
@FindByJQuery("#qunit")
private WebElement qunit;
@@ -87,12 +85,15 @@ public class QUnitTests {
WebElement assertList = testCase.findElement(By.className("qunit-assert-list"));
List<WebElement> asserts = assertList.findElements(By.tagName("li"));
- int assertionCount = 1;
+ int assertionCount = 0;
for (WebElement assertion : asserts) {
+ assertionCount++;
if ("pass".equals(assertion.getAttribute("class"))) {
Assert.assertTrue(true);
} else if ("fail".equals(assertion.getAttribute("class"))) {
- LOG.warn("test '" + testName + "' for " + page + " failed on assertion " + assertionCount);
+ WebElement source = assertion.findElement(By.className("test-source"));
+ LOG.warn("test '" + testName + "' for " + page + " failed on assertion " + assertionCount
+ + "\n" + source.getText());
String expected = assertion.findElement(By.className("test-expected")).getText();
expected = expected.substring(12, expected.length() - 1);
String actual = assertion.findElement(By.className("test-actual")).getText();
@@ -100,13 +101,40 @@ public class QUnitTests {
Assert.assertEquals(expected, actual);
}
}
+ } else if ("running".equals(testCase.getAttribute("class"))) {
+ LOG.warn("test '" + testName + "' for " + page + " is still running...");
+ Assert.fail();
+ } else {
+ LOG.warn("unexpected error on test '" + testName + "' for " + page);
+ Assert.fail();
}
}
}
- @Test
+ // @Test
public void allPages() {
- LOG.warn("Not implemented yet!");
+ File dir = new File("tobago-example/tobago-example-demo/src/main/webapp/content");
+ List<String> testablePages = getTestablePages(dir);
+
+ for (String page : testablePages) {
+ checkResults(page);
+ }
+ }
+
+ private List<String> getTestablePages(File dir) {
+ List<String> testablePages = new ArrayList<String>();
+ for (File file : dir.listFiles()) {
+ if (file.isDirectory()) {
+ testablePages.addAll(getTestablePages(file));
+ } else if (file.getName().endsWith(".test.js")) {
+ String path = file.getPath().substring(
+ "tobago-example/tobago-example-demo/src/main/webapp/".length(),
+ file.getPath().length() - 8)
+ .concat(".xhtml");
+ testablePages.add(path);
+ }
+ }
+ return testablePages;
}
@Test
@@ -116,13 +144,61 @@ public class QUnitTests {
}
@Test
- public void suggest() {
- String page = "content/20-component/010-input/20-suggest/suggest.xhtml";
+ public void date() {
+ String page = "content/20-component/010-input/40-date/date.xhtml";
checkResults(page);
}
@Test
- public void date() {
+ public void selectBooleanCheckbox() {
+ String page = "content/20-component/030-select/10-selectBooleanCheckbox/selectBooleanCheckbox.xhtml";
+ checkResults(page);
+ }
+
+ @Test
+ public void selectOneChoice() {
+ String page = "content/20-component/030-select/20-selectOneChoice/selectOneChoice.xhtml";
+ checkResults(page);
+ }
+
+ @Test
+ public void selectOneRadio() {
+ String page = "content/20-component/030-select/30-selectOneRadio/selectOneRadio.xhtml"; // TODO: fails
+ checkResults(page);
+ }
+
+ @Test
+ public void selectOneListbox() {
+ String page = "content/20-component/030-select/40-selectOneListbox/selectOneListbox.xhtml";
+ checkResults(page);
+ }
+
+ @Test
+ public void selectManyCheckbox() {
+ String page = "content/20-component/030-select/50-selectManyCheckbox/selectManyCheckbox.xhtml";
+ checkResults(page);
+ }
+
+ @Test
+ public void form() {
+ String page = "content/30-concept/08-form/form.xhtml";
+ checkResults(page);
+ }
+
+ @Test
+ public void formRequired() {
+ String page = "content/30-concept/08-form/10-required/form-required.xhtml";
+ checkResults(page);
+ }
+
+ @Test
+ public void formAjax() {
+ String page = "content/30-concept/08-form/20-ajax/form-ajax.xhtml";
+ checkResults(page);
+ }
+
+ @Test
+ public void testDate() {
String page = "content/40-test/1040-date/date.xhtml";
checkResults(page);
}
@@ -132,4 +208,10 @@ public class QUnitTests {
String page = "content/40-test/50000-java/10-rendererBase-getCurrentValue/rendererBase-getCurrentValue.xhtml";
checkResults(page);
}
+
+ @Test
+ public void ajaxExecute() {
+ String page = "content/40-test/50000-java/20-ajax-execute/ajax-execute.xhtml";
+ checkResults(page);
+ }
}