Chromium Code Reviews| Index: LayoutTests/fast/dom/HTMLElement/contextmenu.html |
| diff --git a/LayoutTests/fast/dom/HTMLElement/contextmenu.html b/LayoutTests/fast/dom/HTMLElement/contextmenu.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ee7f76d12cf45a62600d5e3301f95fe1cfbd06c6 |
| --- /dev/null |
| +++ b/LayoutTests/fast/dom/HTMLElement/contextmenu.html |
| @@ -0,0 +1,89 @@ |
| +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| +<html> |
| +<head> |
| +<script src="../../../resources/js-test.js"></script> |
| +</head> |
| +<script> |
| + |
| +description('Tests the contextmenu attribute.'); |
| + |
| +debug("Test with valid contextmenu attribute"); |
| +document.write("<div id='container1' contextmenu='menu1'><menu id='menu1' type='popup' label='menu 1'></menu></div>"); |
| +shouldBeEqualToString("document.getElementById('container1').contextMenu.id", "menu1"); |
| +shouldBeEqualToString("document.getElementById('container1').contextMenu.type", "popup"); |
| +shouldBeEqualToString("document.getElementById('container1').contextMenu.label", "menu 1"); |
| + |
| +debug("Test with invalid contextmenu attribute"); |
| +document.write("<div id='container2' contextmenu='nonexistent_menu'><menu id='menu2' type='popup' label='menu 2'></menu></div>"); |
| +shouldBeNull("document.getElementById('container2').contextMenu"); |
| + |
| +debug("Test setting contextmenu attribute"); |
| +document.write("<div id='container3'></div>"); |
| +var menu = document.createElement('menu'); |
| +menu.id = 'menu3'; |
| +menu.type = 'popup'; |
| +menu.label = 'menu 3'; |
| +document.getElementById('container3').appendChild(menu); |
| +var container3 = document.getElementById('container3'); |
| +container3.contextMenu = menu; |
| +shouldBeEqualToString("container3.contextMenu.id", "menu3"); |
| +shouldBeEqualToString("container3.contextMenu.type", "popup"); |
| +shouldBeEqualToString("container3.contextMenu.label", "menu 3"); |
| + |
| +debug("Test setting contextmenu attribute with menu element without id"); |
| +document.write("<div id='container4'></div>"); |
| +var menu1 = document.createElement('menu'); |
| +menu1.type = 'popup'; |
| +menu1.label = 'menu 4'; |
| +document.getElementById('container4').appendChild(menu1); |
| +var container4 = document.getElementById('container4'); |
| +container4.contextMenu = menu1; |
| +shouldBeNull("container4.contextMenu"); |
| + |
| +debug("Test setting contextmenu attribute with multiple menu element with same id"); |
| +document.write("<div id='container5'></div>"); |
| +var menu2 = document.createElement('menu'); |
| +menu2.id = 'menu5'; |
| +menu2.type = 'popup'; |
| +menu2.label = 'menu 5'; |
| +var menu3 = document.createElement('menu'); |
| +menu3.id = 'menu5'; |
| +menu3.type = 'popup'; |
| +menu3.label = 'menu 6'; |
| +document.getElementById('container5').appendChild(menu2); |
| +document.getElementById('container5').appendChild(menu3); |
| +var container5 = document.getElementById('container5'); |
| +container5.contextMenu = menu3; |
|
pals
2014/08/17 17:18:12
Specification
http://www.whatwg.org/specs/web-apps
tkent
2014/08/18 02:24:52
Please write this paragraph as a code comment of H
pals
2014/08/18 14:23:24
Done.
|
| +shouldBeEqualToString("container5.contextMenu.id", "menu5"); |
| +shouldBeEqualToString("container5.contextMenu.type", "popup"); |
| +shouldBeEqualToString("container5.contextMenu.label", "menu 5"); |
| + |
| +debug("Test setting contextmenu attribute to null"); |
| +document.write("<div id='container6'></div>"); |
| +var container6 = document.getElementById('container6'); |
| +container6.contextMenu = null; |
| +shouldBeNull("container6.contextMenu"); |
| + |
| +debug("Test setting contextmenu attribute to some text"); |
| +document.write("<div id='container7'></div>"); |
| +var container7 = document.getElementById('container7'); |
| +container7.contextMenu = "foobar"; |
| +shouldBeNull("container7.contextMenu"); |
| + |
| +debug("Test setting contextmenu attribute to comment"); |
| +document.write("<div id='container8'></div>"); |
| +var container8 = document.getElementById('container8'); |
| +container8.contextMenu = document.createComment('foo'); |
| +shouldBeNull("container8.contextMenu"); |
| + |
| +debug("Test setting contextmenu attribute to menu without type"); |
| +document.write("<div id='container9'></div>"); |
| +var menu4 = document.createElement('menu'); |
| +menu4.id = 'menu_without_type'; |
| +menu4.label = 'menu without type'; |
| +document.getElementById('container9').appendChild(menu4); |
| +var container9 = document.getElementById('container9'); |
| +container9.contextMenu = menu4; |
| +shouldBeNull("container9.contextMenu"); |
|
pals
2014/08/17 17:18:12
type of menu should be "popup" for contextmenu att
|
| +</script> |
| +</html> |