やっつけ仕事
馬鹿なことをしている間にもう5時だ。寝ないと死ぬ可能性がある。ぱっと出来そうなところだけやっておくことにする。
それはログインページの作成だ!あれ?ぱっと出来そうに無い!!
まずテストだ!
import org.apache.wicket.util.tester.WicketTester; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class SignInPageTest { private WicketTester tester; @Before public void setUp(){ tester = new WicketTester(new SketchApplication()); } }
ここまではまんまWicket本から持ってきた感じだ。この先もそのまま持ってこよう。
import org.apache.wicket.util.tester.FormTester; import org.apache.wicket.util.tester.WicketTester; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class SignInPageTest { private WicketTester tester; @Before public void setUp(){ tester = new WicketTester(new SketchApplication()); } @Test public void ユーザー名とパスワードを入れてサブミットするとログイン後画面に遷移してユーザー名表示(){ tester.startPage(SignInPage.class); tester.assertRenderedPage(SignInPage.class); final FormTester form = tester.newFormTester("LoginForm"); assertNotNull(form); } }
まずはこんなところだろう。これ以上続けると赤いバーが出てきて落ち込むからね。あと、眠いからね。
テスト結果はもちろん真っ赤。SignInPageを作ってやる必要がある。
import org.apache.wicket.PageParameters; 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; public class SignInPage extends WebPage { public SignInPage(final PageParameters parameters) { super(parameters); // Add the simplest type of label TextField<String> idField = new TextField<String>("id",new Model<String>("")); TextField<String> passwordField = new TextField<String>("password",new Model<String>("")); Form<Void> loginForm = new Form<Void>("loginForm"); loginForm.add(idField); loginForm.add(passwordField); add(loginForm); // TODO Add your page's components here } }
HTMLはこんな感じ。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Insert title here</title> </head> <body> <div> <form name="loginForm" wicket:id="loginForm"> <input wicket:id="id" type="text" /> <input wicket:id="password" type="text" /> </form> </div> </body> </html>
真緑だ。5時を12分過ぎた。寝よう。