/* * Copyright 2005-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.wamblee.wicket.jquery; import org.apache.wicket.Component; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.util.tester.TagTester; import org.apache.wicket.util.tester.WicketTester; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.wamblee.wicket.MyPage; import static junit.framework.TestCase.*; public class AbstractJQueryBehaviorTest { private WicketTester wicket; @Before public void setUp() { wicket = new WicketTester(); } @After public void tearDown() { wicket.destroy(); } @Test public void testVerifyBasicFunc() { MyPage page = new MyPage(); page.getLabel().add(new AbstractJQueryBehavior("initfunc")); wicket.startPage(page); wicket.assertRenderedPage(MyPage.class); TagTester tag = wicket.getTagByWicketId("label"); assertNotNull(tag.getAttribute("id")); String doc = wicket.getServletResponse().getDocument(); assertTrue(doc.contains("jquery-noconflict")); assertTrue(doc.contains("initfunc")); } @Test public void testCreateReadyJavascript() { Component component = new Label("label"); component.setOutputMarkupId(true); String readyHandler = AbstractJQueryBehavior.createReadyFunction("myfunc", component); assertEquals("jQuery(function(){org.wamblee.myfunc(\"#" + component.getMarkupId() + "\");});", readyHandler); } @Test(expected = IllegalStateException.class) public void testCreateReadyJavascriptNoMarkupId() { Component component = new Label("label"); String readyHandler = AbstractJQueryBehavior.createReadyFunction("myfunc", component); } }