<html>
<head>
<title>behaviour.js test</title>
<script type="text/javascript" src="/static/js-test/lib/JSAN.js" charset="UTF-8"></script>
<script type="text/javascript" src="lib/Test/Builder.js" charset="UTF-8"></script>
<script type="text/javascript" src="lib/Test/More.js" charset="UTF-8"></script>
<script type="text/javascript" src="/static/js/jquery-1.4.1.js" charset="UTF-8"></script>
<script type="text/javascript" src="/static/js/jquery_noconflict.js" charset="UTF-8"></script>
<script type="text/javascript" src="/static/js/behaviour.js" charset="UTF-8"></script>
<script type="text/javascript">
var nonexists_applied = false;
Behaviour.register({
'#foo': function(element) {
element.innerHTML = "FOO is HERE";
},
'#bar': function(element) {
element.innerHTML = "BAR is HERE";
},
'.nonexists': function(element) {
nonexists_applied = true;
document.body.appendChild(
document.createTextNode("Foo")
);
}
});
var add_bar = function() {
document.body.removeChild( document.getElementById("foo") );
var d = document.createElement("div");
d.setAttribute("id", "bar");
document.body.appendChild(d);
};
</script>
</head>
<body>
<div id="foo"></div>
<div id="foo2"></div>
<pre id="test"></pre>
<script type="text/javascript"><!--
JSAN.use('Test.More');
plan({ tests: 4 });
async_id = beginAsync();
setTimeout(function() {
is( document.getElementById("foo").innerHTML, "FOO is HERE", "#foo rule is registered and applied");
add_bar();
Behaviour.apply("#foo2");
is( document.getElementById("bar").innerHTML, "", "#bar rule is not applied because that's not under #foo2");
Behaviour.apply();
is( document.getElementById("bar").innerHTML, "BAR is HERE", "#bar rule is applied manually");
is (nonexists_applied, false, ".nonexists rule never applied.");
endAsync(async_id);
}, 1000);
//--></script>
</body>
</html>