package com.premiumminds.webapp.wicket.bootstrap; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.model.Model; import org.apache.wicket.util.tester.WicketTester; import org.hamcrest.core.StringContains; import org.junit.Assert; import org.junit.Test; public class BootstrapFeedbackPopoverTest { public static class BootstrapFeedbackPopoverPage extends WebPage { @Override protected void onInitialize() { super.onInitialize(); TextField<String> textField = new TextField<>("input", new Model<String>()); Form<Void> form = new Form<Void>("form"){ @Override protected void onSubmit() { super.onSubmit(); textField.error("this is an error from textfield with tabs (\t), new lines (\r\n), double quotes (\"hey\")"); error("this is an error from form"); } }; BootstrapFeedbackPopover feedback = new BootstrapFeedbackPopover("feedback"); add(form); form.add(feedback); feedback.add(textField); } } @Test public void test(){ WicketTester tester = new WicketTester(); tester.startPage(BootstrapFeedbackPopoverPage.class); tester.assertComponent("form:feedback", BootstrapFeedbackPopover.class); tester.submitForm("form"); String response = tester.getLastResponseAsString(); Assert.assertThat(response,StringContains.containsString("this is an error from textfield with tabs (\\t), new lines (\\r\\n), double quotes (\\\"hey\\\")")); } }