Hi,

Your code is not formatted and it is quite hard to read and follow it.
Could you please re-send it ?

Also is it possible to try with 6.26.0 ?

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Mar 13, 2017 at 8:07 AM, Hans-Heinrich Braun <
[email protected]> wrote:

> In my Application i have a DropDownSelect which changes a Label onUpdate
> by  AjaxFormComponentUpdatingBehaviorThen there is a Button which tries
> access at the selected item. In the real Webapp it works fine but when i
> test itwhen i click the Button the selected Item is null.What I am doing
> wrong. Here the HomePage:
> public class HomePage extends WebPage { private static final long
> serialVersionUID = 1L; private static final List<String> SEARCH_ENGINES =
> Arrays.asList(new String[] { "Google", "Bing", "Baidu" }); //make Google
> selected by default private String selected = "Google";
>     Model<String> model = new Model<String>() {                    public
> String getObject() {              return getSelected();          }      };
>       private Label chosen=new Label("chosen", model);   public
> HomePage(final PageParameters parameters) { super(parameters);
> FeedbackPanel feedback=new FeedbackPanel("feedback"); add(feedback);
> feedback.setVisible(true); // other pages will set this to visible
>  feedback.setEscapeModelStrings(false); add(new Label("version",
> getApplication().getFrameworkSettings().getVersion()));
> DropDownChoice<String> listSites = new DropDownChoice<String>( "sites", new
> PropertyModel<String>(this, "selected"), SEARCH_ENGINES);
>  Form<?> form = new Form<Void>("form");  final   Button detailButton=new
> Button("detailButton") { @Override public void onSubmit()
> {info(getSelected()); } };  detailButton.setOutputMarkupId(true);
> chosen.setOutputMarkupId(true);   listSites.add(new
> AjaxFormComponentUpdatingBehavior("onchange")        {
> @Override            protected void onUpdate(AjaxRequestTarget target)
>       {                              target.add(chosen);
> target.add(detailButton);                      }        });
> form.add(chosen);  add(form); form.add(listSites); form.add(detailButton);
>   }
>  public String getSelected() { return selected; }
>  public void setSelected(String selected) { this.selected = selected; }}
>
> and here the Test :
> public class TestHomePage{ private WicketTester tester;
>  @Before public void setUp() { tester = new WicketTester(new
> WicketApplication()); }
>  @Test public void homepageRendersSuccessfully() { //start and render the
> test page tester.startPage(HomePage.class);
>  //assert rendered page class tester.assertRenderedPage(HomePage.class);
> FormTester  formTester = tester.newFormTester("form");
> formTester.select("sites", 1);  tester.executeBehavior((
> AbstractAjaxBehavior)tester.getComponentFromLastRenderedPa
> ge("form:sites").getBehaviors().get(0));  tester.assertLabel("form:chosen",
> "Bing");   formTester.submit("detailButton");  
> tester.assertInfoMessages("feedback","Bing");
> }}
> i am using wicket 6.19.0

Reply via email to