| 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..936c1129c197ab038ed8a36205f846352aba4cd6
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/HTMLElement/contextmenu.html
|
| @@ -0,0 +1,128 @@
|
| +<!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 to non-popup type menu element");
|
| +document.write("<div id='container11' contextmenu='menu11'><menu id='menu11' type='toolbar' label='menu 11'></menu></div>");
|
| +var container11 = document.getElementById('container11');
|
| +shouldBeEqualToString("container11.contextMenu.id", "menu11");
|
| +shouldBeEqualToString("container11.contextMenu.type", "toolbar");
|
| +shouldBeEqualToString("container11.contextMenu.label", "menu 11");
|
| +
|
| +debug("Test setting contextmenu attribute to non-menu element");
|
| +document.write("<div id='container12' contextmenu='button'><button id='button'></button></div>");
|
| +var container12 = document.getElementById('container12');
|
| +shouldBeNull("container12.contextMenu");
|
| +
|
| +debug("Test setting contextmenu attribute to an ID which multiple elements have");
|
| +document.write("<div id='container13' contextmenu='menu13'><button id='menu13'></button><menu id='menu13' type='popup' label='menu 13'></menu></div>");
|
| +var container13 = document.getElementById('container13');
|
| +shouldBeNull("container13.contextMenu");
|
| +document.write("<div id='container14' contextmenu='menu14'><menu id='menu14' type='popup' label='menu 14'></menu><button id='menu14'></button></div>");
|
| +var container14 = document.getElementById('container14');
|
| +shouldBeEqualToString("container14.contextMenu.id", "menu14");
|
| +shouldBeEqualToString("container14.contextMenu.type", "popup");
|
| +shouldBeEqualToString("container14.contextMenu.label", "menu 14");
|
| +
|
| +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");
|
| +shouldBeTrue("container4.hasAttribute('contextmenu')");
|
| +shouldBeEqualToString("container4.getAttribute('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;
|
| +shouldBeNull("container5.contextMenu");
|
| +container5.contextMenu = menu2;
|
| +shouldBe("container5.contextMenu", "menu2");
|
| +
|
| +debug("Test setting contextmenu attribute to null");
|
| +document.write("<div id='container6' contextmenu='menu6'><menu id='menu6'></menu></div>");
|
| +var container6 = document.getElementById('container6');
|
| +container6.contextMenu = null;
|
| +shouldBeNull("container6.contextMenu");
|
| +shouldBeTrue("container6.hasAttribute('contextmenu')");
|
| +shouldBeEqualToString("container6.getAttribute('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;
|
| +shouldBeEqualToString("container9.contextMenu.id", "menu_without_type");
|
| +shouldBeEqualToString("container9.contextMenu.type", "");
|
| +shouldBeEqualToString("container9.contextMenu.label", "menu without type");
|
| +
|
| +debug("Test setting contextmenu attribute to menu element which is in shadow dom");
|
| +document.write("<div id='container10'></div>");
|
| +var menu5 = document.createElement('menu');
|
| +menu5.id = 'menu_in_shadow_dom';
|
| +menu5.label = 'menu in shadow dom';
|
| +var container10 = document.getElementById('container10');
|
| +container10.createShadowRoot().appendChild(menu5);
|
| +container10.contextMenu = menu5;
|
| +shouldBeNull("container10.contextMenu");
|
| +
|
| +</script>
|
| +</html>
|
|
|