Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-1473

BaseWicketTester.isComponentOnAjaxResponse() test is too strong

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.3.2, 1.4-M2
    • 1.3.4, 1.4-M3
    • wicket
    • None
    • Testing my ajax autocomplete usage

    Description

      Using 1.3.0 but still present in 1.3.2 source.

      The response i got from the ajax request was :

      <?xml version="1.0" encoding="UTF-8"?><ajax-response><header-contribution encoding="wicket1" ><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script>
      <script type="text/javascript" src="resources/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js"></script>
      <script type="text/javascript" src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/wicket-ajax-debug.js"></script>
      <script type="text/javascript" id="wicket-ajax-debug-enable"><!-/><![CDATA[/><!-*/
      wicketAjaxDebugEnable=true;
      /-->]]>/</script>

      <script type="text/javascript" src="resources/org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteBehavior/wicket-autocomplete.js"></script>
      <script type="text/javascript" src="resources/com.amdm.ajf.wicket.component.autocomplete.ImprovedAutoCompleteBehavior/improved-autocomplete.js"></script>
      </head>]]></header-contribution><component id="ville9" encoding="wicket1" ><![CDATA[<input value="TOULOUSE" autocomplete="off" maxlength="26" type="text" onfocus="this.className='focus';" size="28" name="view:adresse:adresseInner:villeFrancaiseDiv:ville" onchange="wicketThrottler.throttle( 'th1', 200, function() { var wcall=wicketAjaxPost('?wicket:interface=:0:updateExpertWizard:form:view:adresse:adresseInner:villeFrancaiseDiv:ville::IBehaviorListener:3:-1', wicketSerialize(Wicket.$('ville9')),null,null, function()

      {return Wicket.$('ville9') != null;}

      .bind(this));});" id="ville9" onblur="this.className='normal';"/><script type="text/javascript"><!-/><![CDATA[/><!-*/
      new Wicket.AutoComplete('ville9','?wicket:interface=:0:updateExpertWizard:form:view:adresse:adresseInner:villeFrancaiseDiv:ville::IActivePageBehaviorListener:1:-1&wicket:ignoreIfNotActive=true',false);
      /-->]]>/</script>
      ]]></component><component id="codePostalBinde8" encoding="wicket1" ><![CDATA[<input value="34200" autocomplete="off" maxlength="5" type="text" onfocus="this.className='focus';" size="5" name="view:adresse:adresseInner:villeFrancaiseDiv:codePostalBinde" onchange="wicketThrottler.throttle( 'th2', 200, function() { var wcall=wicketAjaxPost('?wicket:interface=:0:updateExpertWizard:form:view:adresse:adresseInner:villeFrancaiseDiv:codePostalBinde::IBehaviorListener:3:-1', wicketSerialize(Wicket.$('codePostalBinde8')),null,null, function()

      {return Wicket.$('codePostalBinde8') != null;}

      .bind(this));});" id="codePostalBinde8" onblur="this.className='normal';"/><script type="text/javascript"><!-/><![CDATA[/><!-*/
      new Wicket.AutoComplete('codePostalBinde8','?wicket:interface=:0:updateExpertWizard:form:view:adresse:adresseInner:villeFrancaiseDiv:codePostalBinde::IActivePageBehaviorListener:1:-1&wicket:ignoreIfNotActive=true',false);
      /-->]]>/</script>
      ]]></component></ajax-response>

      And my test is :

      tester.assertComponentOnAjaxResponse("updateExpertWizard:form:view:adresse:adresseInner:villeFrancaiseDiv:ville");

      It fails in BaseWicketTester.isComponentOnAjaxResponse() :

      // Look for that the component is on the response, using the markup id
      boolean isComponentInAjaxResponse = ajaxResponse.matches("(?s).*<component id=\"" +
      markupId + "\" ?>.*");
      failMessage = "Component wasn't found in the AJAX response";

      because of the attribut

      { encoding="wicket1" }

      present in the component tag. The regex must be sweeter like (for example):
      "(?s).<component id=\"" + markupId + "\" . ?>.*" (or much much better

      Attachments

        Activity

          People

            frankbille Frank Bille
            lefevre00 Michael Lefevre
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 0.5h
                0.5h
                Remaining:
                Remaining Estimate - 0.5h
                0.5h
                Logged:
                Time Spent - Not Specified
                Not Specified