X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=wicket%2Fcomponents%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fjquery%2FAbstractJQueryBehaviorTest.java;fp=wicket%2Fcomponents%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fjquery%2FAbstractJQueryBehaviorTest.java;h=e6c001fc3c1d88c137d79c4c811a84be0a163bcf;hb=a55dd335d284bdcc981191b03c23fe85ef253faa;hp=92fcf16e38e6da9563e8a242288613dcc8cc68d2;hpb=3c455180fb6fbe82bbb935c9ccbc212769d4591c;p=utils diff --git a/wicket/components/src/test/java/org/wamblee/wicket/jquery/AbstractJQueryBehaviorTest.java b/wicket/components/src/test/java/org/wamblee/wicket/jquery/AbstractJQueryBehaviorTest.java index 92fcf16e..e6c001fc 100644 --- a/wicket/components/src/test/java/org/wamblee/wicket/jquery/AbstractJQueryBehaviorTest.java +++ b/wicket/components/src/test/java/org/wamblee/wicket/jquery/AbstractJQueryBehaviorTest.java @@ -25,6 +25,8 @@ import org.junit.Before; import org.junit.Test; import org.wamblee.wicket.MyPage; +import flexjson.JSONSerializer; + import static junit.framework.TestCase.*; public class AbstractJQueryBehaviorTest { @@ -39,9 +41,9 @@ public class AbstractJQueryBehaviorTest { public void tearDown() { wicket.destroy(); } - + @Test - public void testVerifyBasicFunc() { + public void testVerifyBasicFunc() { MyPage page = new MyPage(); page.getLabel().add(new AbstractJQueryBehavior("initfunc")); wicket.startPage(page); @@ -52,19 +54,78 @@ public class AbstractJQueryBehaviorTest { assertTrue(doc.contains("jquery-noconflict")); assertTrue(doc.contains("initfunc")); } - + @Test - public void testCreateReadyJavascript() { + 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); + AbstractJQueryBehavior behavior = new AbstractJQueryBehavior("myfunc"); + behavior.bind(component); + String readyHandler = behavior.createReadyFunction(); + assertEquals("jQuery(function(){myfunc(\"#" + component.getMarkupId() + + "\",null);});", readyHandler); + } + + @Test + public void testCreateReadyJavaScriptWithCustomConfigJavascript() { + Component component = new Label("label"); + component.setOutputMarkupId(false); + AbstractJQueryBehavior behavior = new AbstractJQueryBehavior("myfunc") { + @Override + protected String getConfigurationJavascript() { + return "bla"; + } + }; + behavior.bind(component); + String readyHandler = behavior.createReadyFunction(); + assertEquals("jQuery(function(){myfunc(\"#" + component.getMarkupId() + + "\",bla);});", readyHandler); + } + + public static final class X { + private int x = 10; + public int getX() { + return x; + } + } + + @Test + public void testCreateReadyJavaScriptWithConfig() { + Component component = new Label("label"); + component.setOutputMarkupId(false); + AbstractJQueryBehavior behavior = new AbstractJQueryBehavior("myfunc") { + @Override + protected Object getConfigurationObject() { + return new X(); + } + }; + behavior.bind(component); + String readyHandler = behavior.createReadyFunction(); + String config = new JSONSerializer().serialize(new X()); + assertEquals("jQuery(function(){myfunc(\"#" + component.getMarkupId() + + "\"," + config + ");});", readyHandler); } - @Test(expected = IllegalStateException.class) - public void testCreateReadyJavascriptNoMarkupId() { + @Test + public void testCreateReadyJavaScriptWithConfigWithCustomSerializer() { Component component = new Label("label"); - String readyHandler = AbstractJQueryBehavior.createReadyFunction("myfunc", component); + component.setOutputMarkupId(false); + AbstractJQueryBehavior behavior = new AbstractJQueryBehavior("myfunc") { + @Override + protected Object getConfigurationObject() { + return new X(); + } + @Override + protected JSONSerializer getCustomSerializer() { + return new JSONSerializer().exclude("x"); + } + }; + behavior.bind(component); + String readyHandler = behavior.createReadyFunction(); + String config = new JSONSerializer().exclude("x").serialize(new X()); + assertEquals("jQuery(function(){myfunc(\"#" + component.getMarkupId() + + "\"," + config + ");});", readyHandler); } + }