Addition of tooltip behavior.
[utils] / wicket / components / src / test / java / org / wamblee / wicket / behavior / TitleAttributeTooltipBehaviorTest.java
diff --git a/wicket/components/src/test/java/org/wamblee/wicket/behavior/TitleAttributeTooltipBehaviorTest.java b/wicket/components/src/test/java/org/wamblee/wicket/behavior/TitleAttributeTooltipBehaviorTest.java
new file mode 100644 (file)
index 0000000..2640b81
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+ * 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.behavior;
+
+import static junit.framework.Assert.*;
+
+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 org.wamblee.wicket.jquery.JQueryHeaderContributor;
+
+public class TitleAttributeTooltipBehaviorTest {
+    private WicketTester wicket;
+
+    @Before
+    public void setUp() {
+        wicket = new WicketTester();
+    }
+
+    @After
+    public void tearDown() {
+        wicket.destroy();
+    }
+
+    @Test
+    public void testRenderComponent() {
+        MyPage page = new MyPage();
+        page.getForm().add(new TitleAttributeTooltipBehavior());
+        wicket.startPage(page);
+        wicket.assertRenderedPage(MyPage.class);
+        // assertTrue(wicket.getServletResponse().getDocument().contains(NamespaceBehavior.NAMESPACE_SCRIPT));
+        String doc = wicket.getServletResponse().getDocument();
+        System.out.println(doc);
+        assertTrue(doc.contains("jquery"));
+        assertTrue(doc.contains("wamblee-support"));
+        assertTrue(doc.contains("wamblee-tooltip"));
+        assertTrue(doc.contains("tooltip.clientside"));
+    }
+
+    @Test
+    public void testRenderPage() {
+        MyPage page = new MyPage();
+        page.add(new TitleAttributeTooltipBehavior());
+        wicket.startPage(page);
+        wicket.assertRenderedPage(MyPage.class);
+        // assertTrue(wicket.getServletResponse().getDocument().contains(NamespaceBehavior.NAMESPACE_SCRIPT));
+        String doc = wicket.getServletResponse().getDocument();
+        System.out.println(doc);
+        assertTrue(doc.contains("jquery"));
+        assertTrue(doc.contains("wamblee-support"));
+        assertTrue(doc.contains("wamblee-tooltip"));
+        assertTrue(doc.contains("tooltip.clientside"));
+    }
+
+    @Test
+    public void testRenderProperties() {
+        MyPage page = new MyPage();
+        page.add(new TitleAttributeTooltipBehavior().border("myborder")
+            .background("mybackground").padding("mypadding"));
+        wicket.startPage(page);
+        wicket.assertRenderedPage(MyPage.class);
+        String doc = wicket.getServletResponse().getDocument();
+        System.out.println(doc);
+        assertTrue(doc.contains("\"border\":\"myborder\""));
+        assertTrue(doc.contains("\"padding\":\"mypadding\""));
+        assertTrue(doc.contains("\"background\":\"mybackground\""));
+    }
+    
+    @Test
+    public void testRenderPropertiesNotAllSet() { 
+        MyPage page = new MyPage();
+        page.add(new TitleAttributeTooltipBehavior().border("myborder"));
+        wicket.startPage(page);
+        wicket.assertRenderedPage(MyPage.class);
+        String doc = wicket.getServletResponse().getDocument();
+        System.out.println(doc);
+        assertTrue(doc.contains("\"border\":\"myborder\""));
+        assertTrue(doc.contains("\"padding\":null"));
+        assertTrue(doc.contains("\"background\":null"));
+    }
+
+}