Blame | Last modification | View Log | RSS feed
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Testing dojo.behavior</title><style type="text/css">@import "../resources/dojo.css";</style><script type="text/javascript"src="../dojo.js" djConfig="isDebug: false"></script><script type="text/javascript">dojo.require("doh.runner");dojo.require("dojo.behavior");var applyCount = 0;var behaviorObj = {".bar": function(elem){dojo.style(elem, "opacity", 0.5);applyCount++;},".foo > span": function(elem){elem.style.fontStyle = "italic";applyCount++;}}var topicCount = 0;dojo.subscribe("/foo", function(){ topicCount++; });// no behaviors should be executed when onload firesdojo.addOnLoad(function(){doh.register("t",[function add(t){t.f(dojo.behavior._behaviors[".bar"]);t.f(dojo.behavior._behaviors[".foo > span"]);dojo.behavior.add(behaviorObj);// make sure they got plopped int.t(dojo.behavior._behaviors[".bar"]);t.is(1, dojo.behavior._behaviors[".bar"].length);t.t(dojo.behavior._behaviors[".foo > span"]);t.is(1, dojo.behavior._behaviors[".foo > span"].length);},function apply(t){t.is(0, applyCount);dojo.behavior.apply();t.is(2, applyCount);// reapply and make sure we only match oncedojo.behavior.apply();t.is(2, applyCount);},function reapply(t){t.is(2, applyCount);// add the rules againdojo.behavior.add(behaviorObj);dojo.behavior.apply();t.is(4, applyCount);// dojo.behavior.apply();// t.is(4, applyCount);// dojo.query(".bar").styles("opacity", 1.0);},function topics(t){t.is(0, topicCount);dojo.behavior.add({ ".foo": "/foo" });dojo.behavior.apply();t.is(2, topicCount);dojo.behavior.add({ ".foo": {"onfocus": "/foo"}});dojo.behavior.apply();t.is(2, topicCount);dojo.byId("blah").focus();t.is(3, topicCount);dojo.byId("blah").blur();dojo.byId("blah").focus();t.is(4, topicCount);}]);doh.run();});</script></head><body><div class="foo" id="fooOne"><span>.foo > span</span><div class="bar"><span>.foo > .bar > span</span></div></div><input type="text" id="blah" class="foo blah" name="thinger" value="thinger"></body></html>