やっつけ仕事

馬鹿なことをしている間にもう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分過ぎた。寝よう。