dom.html revision 2f03ba9e07559709925bfe6cb1b40c83aa810672
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore <!-- YUI3 Core //-->
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore <script type="text/javascript" src="/build/yui/yui-debug.js"></script>
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore <!-- Initialization process //-->
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore filter: 'debug',
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore combine: false,
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore useConsole: true,
f647f9c7909e84a0b19f09de42ce82a715e2d52aAdam Moore logExclude: {deprecated:1, yui:true, get: true, loader: true, Dom: true, Selector: true, Node: true, attribute: true, base: true, event: true, widget: true}
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore }).use('console', 'test', 'node', 'event-simulate', function (Y) {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore // creating the console...
0771d781138a507b3e657573703f511291640bf3Adam Moore // (new Y.Console()).render();
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore // starting the testing process
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore // add the test cases and suites
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore name: "DOM Event Tests",
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore test_on_with_string: function() {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore var clicked = false,
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.on('click', function(e, extra1, extra2) {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore clicked = true;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore context = this;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex1 = extra1;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex2 = extra2;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore }, '#clickcontainer', obj, 2, 3);
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Event.simulate(document.getElementById('clickcontainer'), 'click');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.isTrue(clicked, "click handler via Y.on didn't work when passed a string.");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore test_on_with_node: function() {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore var clicked = false,
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore node = Y.get('#clickcontainer');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.on('click', function(e, extra1, extra2) {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore clicked = true;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore context = this;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex1 = extra1;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex2 = extra2;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore }, node, obj, 2, 3);
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Event.simulate(document.getElementById('clickcontainer'), 'click');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.isTrue(clicked, "click handler via Y.on didn't work when passed a node.");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore test_node_on: function() {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore var clicked = false,
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore node = Y.get('#clickcontainer');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore node.on('click', function(e, extra1, extra2) {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore clicked = true;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore context = this;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex1 = extra1;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex2 = extra2;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore }, obj, 2, 3);
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Event.simulate(document.getElementById('clickcontainer'), 'click');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.isTrue(clicked, "click handler didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore test_nodelist_on: function() {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore var clicked = 0,
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore nodelist = Y.all('.clickers');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore nodelist.on('click', function(e, extra1, extra2) {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore context = this;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex1 = extra1;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex2 = extra2;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore }, obj, 2, 3);
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Event.simulate(document.getElementById('clicker1'), 'click');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, clicked, "click handler didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work"); // bug #2528155
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work"); // bug #2528155
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Event.simulate(document.getElementById('clicker2'), 'click');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(2, clicked, "click handler didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work"); // bug #2528155
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work"); // bug #2528155
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore test_y_on_with_nodelist: function() {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore var clicked = 0,
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore nodelist = Y.all('.clickers');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.on('click', function(e, extra1, extra2) {
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore context = this;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex1 = extra1;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore ex2 = extra2;
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore }, nodelist, obj, 2, 3);
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Event.simulate(document.getElementById('clicker1'), 'click');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, clicked, "click handler didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Event.simulate(document.getElementById('clicker2'), 'click');
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, clicked, "click handler didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore test_y_on_with_selector_multiple_match: function() {
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore var clicked = 0,
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.on('click', function(e, extra1, extra2) {
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore context = this;
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore ex1 = extra1;
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore ex2 = extra2;
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore }, '.clickers', obj, 2, 3);
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Event.simulate(document.getElementById('clicker1'), 'click');
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(1, clicked, "click handler didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Event.simulate(document.getElementById('clicker2'), 'click');
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(2, clicked, "click handler didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore test_y_on_with_htmlelementcollection: function() {
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore var clicked = 0,
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.on('click', function(e, extra1, extra2) {
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore context = this;
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore ex1 = extra1;
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore ex2 = extra2;
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore }, document.getElementsByTagName('p'), obj, 2, 3);
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Event.simulate(document.getElementById('clicker1'), 'click');
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(1, clicked, "click handler didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Event.simulate(document.getElementById('clicker2'), 'click');
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, clicked, "click handler didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(1, context.a, "context didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(2, ex1, "extra arg1 didn't work");
6a3faa9e0e4639febffbd7018ce47b861626d0baAdam Moore Y.Assert.areEqual(3, ex2, "extra arg2 didn't work");
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore test_detach_by_sig: function() {
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore var clicked = 0,
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore }, fn = function(e, extra1, extra2) {
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore context = this;
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore ex1 = extra1;
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore ex2 = extra2;
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.on('click', fn, 'clicker1', obj, 2, 3);
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.Event.detach('click', fn, 'clicker1', obj, 2, 3);
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.Event.simulate(document.getElementById('clicker1'), 'click');
2f03ba9e07559709925bfe6cb1b40c83aa810672Adam Moore Y.Assert.areEqual(0, clicked, "click handler didn't work");
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore //run all tests
e69255aa5a65f8406ba2fabaf69fe4e1d05daf69Adam Moore /* finishing the testing process */