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> |