Chromium Code Reviews| Index: chrome/test/data/webui/context_menu_handler_test.html |
| diff --git a/chrome/test/data/webui/context_menu_handler_test.html b/chrome/test/data/webui/context_menu_handler_test.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..752e3fa99ce2d7ea6da24769ded61a2dd2287b53 |
| --- /dev/null |
| +++ b/chrome/test/data/webui/context_menu_handler_test.html |
| @@ -0,0 +1,49 @@ |
| +<!DOCTYPE html> |
| +<html> |
| +<body> |
| +<script> |
| + |
| +function testShowAndHideEvents() { |
| + var cm = cr.ui.contextMenuHandler; |
|
Dan Beam
2014/10/15 03:09:40
nit: cmh
yawano
2014/10/15 04:16:27
Done.
|
| + |
| + // Create context menu |
|
Dan Beam
2014/10/15 03:09:41
nit: end comments with .
yawano
2014/10/15 04:16:26
Done.
|
| + var menu = document.createElement('div'); |
| + cr.ui.decorate(menu, cr.ui.Menu); |
| + document.body.appendChild(menu); |
| + |
| + var menuItem = document.createElement('div'); |
| + menu.addMenuItem(menuItem); |
| + |
| + // Create target elements |
| + var elem1 = document.createElement('div'); |
| + var elem2 = document.createElement('div'); |
| + |
| + cm.setContextMenu(elem1, menu); |
| + cm.setContextMenu(elem2, menu); |
| + |
| + var callbacks = []; |
| + cm.addEventListener('show', function(e) { callbacks.push(e); }); |
| + cm.addEventListener('hide', function(e) { callbacks.push(e); }); |
| + |
| + // Show context menu of elem1 |
| + elem1.dispatchEvent(new MouseEvent('contextmenu')); |
| + assertEquals(1, callbacks.length); |
| + assertEquals('show', callbacks[0].type); |
| + assertEquals(elem1, callbacks[0].element); |
| + assertEquals(menu, callbacks[0].menu); |
| + |
| + // Show context menu of elem2 |
| + document.dispatchEvent(new MouseEvent('mousedown')); |
| + elem2.dispatchEvent(new MouseEvent('contextmenu')); |
| + assertEquals(3, callbacks.length); |
| + assertEquals('hide', callbacks[1].type); |
| + assertEquals(elem1, callbacks[1].element); |
| + assertEquals(menu, callbacks[1].menu); |
| + assertEquals('show', callbacks[2].type); |
| + assertEquals(elem2, callbacks[2].element); |
| + assertEquals(menu, callbacks[2].menu); |
| +} |
| + |
| +</script> |
| +</body> |
| +</html> |