ICEfaces
  1. ICEfaces
  2. ICE-5951

Regression Icefaces2 - ICE-2283 is failing

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta2
    • Fix Version/s: 2.0-Beta2
    • Component/s: None
    • Labels:
      None
    • Environment:
      Server: Tomcat6
      Browser: FF3.6, IE8 & Opera10.10
    • Assignee Priority:
      P2

      Description

      Icefaces2 Revision# 22054

      This test case may have been failing for long because the the scripts were incorrect. Basically the problem is the same as described originally in ICE-2283.

      If I have something like this on my page:

      <ice:dataTable columnWidths="100px,200px,300px">
          <ice:column rendered="true"/>
          <ice:column rendered="false"/>
          <ice:column rendered="true"/>
      </ice:dataTable>

      Then I should get this rendered in my DOM:

      <table>
          <tr>
              <td width="100px"/>
              <td width="300px"/>
          </tr>
      </table>

      But instead, I get this:

      <table>
          <tr>
              <td width="100px"/>
              <td width="200px"/>
          </tr>
      </table>

      Test-case available at "C:\repo\qa\trunk\Regression-Icefaces2\Nightly\ICE-2283".

        Activity

        Hide
        Deryk Sinotte added a comment -

        Assigning to Mark as it looks like something specifically component related. As Mandeep notes, this may not strictly be a regression as the test scripts have been out of sorts. Provided it's a straightforward solution, we should just fix it. If required, we can verify against 1.8 and older 2.0 releases to see how recent it might be.

        Show
        Deryk Sinotte added a comment - Assigning to Mark as it looks like something specifically component related. As Mandeep notes, this may not strictly be a regression as the test scripts have been out of sorts. Provided it's a straightforward solution, we should just fix it. If required, we can verify against 1.8 and older 2.0 releases to see how recent it might be.
        Hide
        yip.ng added a comment - - edited

        Problem present in both ICEfaces and ICEfaces2. See screenshot 1.

        Show
        yip.ng added a comment - - edited Problem present in both ICEfaces and ICEfaces2. See screenshot 1.
        Hide
        yip.ng added a comment - - edited

        Fixed. See screenshot 2.

        Revision: 22096


        Modified : /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/ext/renderkit/TableRenderer.java

        Revision: 22097


        Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/TableRenderer.java

        Show
        yip.ng added a comment - - edited Fixed. See screenshot 2. Revision: 22096 Modified : /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/ext/renderkit/TableRenderer.java Revision: 22097 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/TableRenderer.java
        Hide
        Mandeep Hayher added a comment -

        Tested successfully on Icefaces2 revision# 22099
        Passed in nightly regression test.

        Show
        Mandeep Hayher added a comment - Tested successfully on Icefaces2 revision# 22099 Passed in nightly regression test.
        Hide
        Mandeep Hayher added a comment -

        The test case is failing on IE browser ( works fine on opera & FF browsers)
        Steps to reproduce the problem:
        1)Load the application
        2)Column 1 & column3 are selected and corresponding column are displayed on the datatable
        3)Select checkbox2 for column 2, all three columns in the datatable are displayed
        4)Now deselect checkbox1 for column1
        Notice that even after deselecting checkbox1 all three columns are still being displayed in the datatable.

        Show
        Mandeep Hayher added a comment - The test case is failing on IE browser ( works fine on opera & FF browsers) Steps to reproduce the problem: 1)Load the application 2)Column 1 & column3 are selected and corresponding column are displayed on the datatable 3)Select checkbox2 for column 2, all three columns in the datatable are displayed 4)Now deselect checkbox1 for column1 Notice that even after deselecting checkbox1 all three columns are still being displayed in the datatable.
        Hide
        yip.ng added a comment - - edited

        This is a completely different problem. Seems there are problems in the partial submit of a checkbox in IE. It looks eerily similar to the numerous checkbox submit problems when working on the test page for sparkle calendar.

        Works (with minimalized app.) in Firefox. See video at http://screencast.com/t/NWExMDFmN.

        Doesn't work in IE. See video at http://screencast.com/t/NmExZWJmNWE.

        Show
        yip.ng added a comment - - edited This is a completely different problem. Seems there are problems in the partial submit of a checkbox in IE. It looks eerily similar to the numerous checkbox submit problems when working on the test page for sparkle calendar. Works (with minimalized app.) in Firefox. See video at http://screencast.com/t/NWExMDFmN . Doesn't work in IE. See video at http://screencast.com/t/NmExZWJmNWE .
        Hide
        Ken Fyten added a comment -

        Looks like the checkbox issue is a straightforward bug, maybe one of the CS patches for IE6 will resolve it?

        Show
        Ken Fyten added a comment - Looks like the checkbox issue is a straightforward bug, maybe one of the CS patches for IE6 will resolve it?
        Hide
        Mircea Toma added a comment -

        I cannot reproduce the issue. I used IE6 and IE8 to test. Maybe other recent fixes solved this issue.

        Show
        Mircea Toma added a comment - I cannot reproduce the issue. I used IE6 and IE8 to test. Maybe other recent fixes solved this issue.
        Hide
        Mandeep Hayher added a comment -

        The problem is still manually reproducible on icefaces2 trunk revision# 22313 using IE6, IE& & IE8.

        Show
        Mandeep Hayher added a comment - The problem is still manually reproducible on icefaces2 trunk revision# 22313 using IE6, IE& & IE8.
        Hide
        Ken Fyten added a comment -

        As mentioned in the jira the problem is reproducible only on IE browser.
        Steps to reproduce the problem are:

        1)Load the application
        2)Column 1 & column3 are selected and corresponding column are displayed on the datatable
        3)Select checkbox2 for column 2, all three columns in the datatable are displayed
        4)Now deselect checkbox1 for column1
        Notice that even after deselecting checkbox1 all three columns are still being displayed in the datatable.

        Show
        Ken Fyten added a comment - As mentioned in the jira the problem is reproducible only on IE browser. Steps to reproduce the problem are: 1)Load the application 2)Column 1 & column3 are selected and corresponding column are displayed on the datatable 3)Select checkbox2 for column 2, all three columns in the datatable are displayed 4)Now deselect checkbox1 for column1 Notice that even after deselecting checkbox1 all three columns are still being displayed in the datatable.
        Hide
        Ken Fyten added a comment -

        FYI, I have also reproduced this issue with the steps above on IE7.

        Show
        Ken Fyten added a comment - FYI, I have also reproduced this issue with the steps above on IE7.
        Hide
        Mandeep Hayher added a comment -

        Failing on Icefaces2 trunk revision# 22353
        Was passing on Icefaces2 trunk revision# 22344

        ICE-3190 is not working as expected.
        The Checkbox is not cleared after clicking on the clean button, all other components on the page are cleared.
        Test application is available at " \repo\qa\trunk\Regression-Icefaces2\Nightly\ICE-3190".

        Show
        Mandeep Hayher added a comment - Failing on Icefaces2 trunk revision# 22353 Was passing on Icefaces2 trunk revision# 22344 ICE-3190 is not working as expected. The Checkbox is not cleared after clicking on the clean button, all other components on the page are cleared. Test application is available at " \repo\qa\trunk\Regression-Icefaces2\Nightly\ ICE-3190 ".
        Hide
        Mircea Toma added a comment -

        ICE-2283 test application has the delta submit turned by default. This caused the apparent regression. Changed web.xml to disable delta submit.

        Show
        Mircea Toma added a comment - ICE-2283 test application has the delta submit turned by default. This caused the apparent regression. Changed web.xml to disable delta submit.
        Hide
        Ken Fyten added a comment -

        ICE-3190 is not passing yet, and does not have deltaSubmit=true specified. (See Mandeep's comment above).

        Show
        Ken Fyten added a comment - ICE-3190 is not passing yet, and does not have deltaSubmit=true specified. (See Mandeep's comment above).
        Hide
        Mircea Toma added a comment -

        Previously the decode() method assumed that the checkbox is selected only when the corresponding parameter had a value of 'on', 'true' or 'yes'. Since the encoding didn't control the 'value' attribute of the input element the renderer was relying only on the default behavior of the browser to set the value to 'on'. Unfortunately not all the browsers have the same default behavior, notably Safari which will default the value to empty string after an update.

        The fix changes decode() method to reliably detect when checkbox is selected by simply verifying if the corresponding parameter name is present among the request parameters. This is enough to indicate that the checkbox is selected, the value of the corresponding parameter is not significant.

        Show
        Mircea Toma added a comment - Previously the decode() method assumed that the checkbox is selected only when the corresponding parameter had a value of 'on', 'true' or 'yes'. Since the encoding didn't control the 'value' attribute of the input element the renderer was relying only on the default behavior of the browser to set the value to 'on'. Unfortunately not all the browsers have the same default behavior, notably Safari which will default the value to empty string after an update. The fix changes decode() method to reliably detect when checkbox is selected by simply verifying if the corresponding parameter name is present among the request parameters. This is enough to indicate that the checkbox is selected, the value of the corresponding parameter is not significant.
        Hide
        Mandeep Hayher added a comment -

        ICE-3190 passed during nightly regression test on Icefaces2 trunk revision# 22397

        Show
        Mandeep Hayher added a comment - ICE-3190 passed during nightly regression test on Icefaces2 trunk revision# 22397

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Mandeep Hayher
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: