2 * Copyright 2005-2010 the original author or authors.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org.wamblee.wicket.page;
18 import static org.mockito.Matchers.*;
19 import static org.mockito.Mockito.*;
20 import junit.framework.TestCase;
22 import org.apache.wicket.markup.html.WebPage;
23 import org.apache.wicket.protocol.http.WebResponse;
24 import org.wamblee.wicket.page.CompositePageBehavior;
25 import org.wamblee.wicket.page.PageBehavior;
27 public class CompositePageBehaviorTest extends TestCase {
29 private CompositePageBehavior composite;
30 private PageBehavior behavior1;
31 private PageBehavior behavior2;
35 protected void setUp() throws Exception {
36 composite = new CompositePageBehavior();
37 behavior1 = mock(PageBehavior.class);
38 behavior2 = mock(PageBehavior.class);
39 page = mock(WebPage.class);
40 composite.add(behavior1);
41 composite.add(behavior2);
44 public void testOnBeforeRender() {
45 composite.onBeforeRender(page);
46 verify(behavior1).onBeforeRender(same(page));
47 verify(behavior2).onBeforeRender(same(page));
48 verifyNoMoreInteractions(behavior1);
49 verifyNoMoreInteractions(behavior2);
52 public void testSetHeaders() {
53 WebResponse response = mock(WebResponse.class);
54 composite.setHeaders(page, response);
55 verify(behavior1).setHeaders(same(page), same(response));
56 verify(behavior2).setHeaders(same(page), same(response));
57 verifyNoMoreInteractions(behavior1);
58 verifyNoMoreInteractions(behavior2);
61 public void testOnAfterRender() {
62 composite.onAfterRender(page);
63 verify(behavior1).onAfterRender(same(page));
64 verify(behavior2).onAfterRender(same(page));
65 verifyNoMoreInteractions(behavior1);
66 verifyNoMoreInteractions(behavior2);