event-contextmenu.html revision f856a43636b28d436393ba16bcbe9016ebf7a59a
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>YUI Event Delegate Tests</title>
</head>
<body lang="en" class="yui3-skin-sam">
<div id="doc">
<button id="btn-1">Button 1</button>
</div>
<script src="/build/yui/yui.js"></script>
<script src="window-focus.js"></script>
<script type="text/javascript">
YUI({
filter: (window.location.search.match(/[?&]filter=([^&]+)/) || [])[1] || 'min',
allowRollup: false,
lazyEventFacade: true,
logExclude: { Dom: true, Selector: true, Node: true, attribute: true, base: true, event: true, widget: true }
}).use('console', 'test', 'event-contextmenu', 'node-event-simulate', 'window-focus', function (Y) {
var suite = new Y.Test.Suite("Delegate");
(new Y.Console()).render();
// add the test cases and suites
suite.add(new Y.Test.Case({
name: "Event Delegate Tests",
test_simple_on_for_mac: function(){
var success = false;
var btn = Y.one("#btn-1");
Y.UA.os = "macintosh";
btn.on("contextmenu", function (e) {
success = true;
});
btn.simulate("keydown", { keyCode: 77, shiftKey: true, ctrlKey: true, altKey: true });
Y.Assert.isTrue(success, "contextmenu event listener not called");
btn.detach("contextmenu");
},
test_menu_key: function(){
var success = false;
var btn = Y.one("#btn-1");
Y.UA.os = "windows";
btn.on("contextmenu", function (e) {
success = true;
});
btn.simulate("keydown", { keyCode: 93 });
Y.Assert.isTrue(success, "contextmenu event listener not called");
btn.detach("contextmenu");
},
test_shiftF10_key: function(){
var success = false;
var btn = Y.one("#btn-1");
Y.UA.os = "windows";
btn.on("contextmenu", function (e) {
success = true;
});
btn.simulate("keydown", { shiftKey: true, keyCode: 121 });
Y.Assert.isTrue(success, "contextmenu event listener not called");
btn.detach("contextmenu");
},
test_multiple_on_listeners: function(){
var called = 0;
var btn = Y.one("#btn-1");
var onContextMenu = function (e) {
called = called + 1;
};
btn.on("contextmenu", onContextMenu);
btn.on("contextmenu", onContextMenu);
btn.simulate("keydown", { shiftKey: true, keyCode: 121 });
alert(called);
Y.Assert.isTrue((called === 2), "contextmenu event listener not called correct number of times");
btn.detach("contextmenu");
}
}));
//run all tests
Y.Test.Runner.setName("Delegate");
Y.Test.Runner.add(suite);
Y.Test.Runner.run();
});
</script>
</body>
</html>