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..386831202195313628759affbc5c21fe5b703ee1 |
| --- /dev/null |
| +++ b/LayoutTests/fast/dom/HTMLElement/contextmenu.html |
| @@ -0,0 +1,99 @@ |
| +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| +<html> |
| +<head> |
| +<script src="../../../resources/js-test.js"></script> |
| +</head> |
| +<script> |
| + |
| +description('Tests the contextmenu attribute.'); |
|
tkent
2014/08/19 01:14:41
Inconsistent quote characters.
You use single-quot
pals
2014/08/19 10:12:31
Done.
|
| + |
| +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"); |
| + |
|
tkent
2014/08/19 01:14:41
Need more getter test cases.
- Pointing an ID of
pals
2014/08/19 10:12:31
Done.
|
| +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"); |
|
tkent
2014/08/19 01:14:41
Also, check container4.hasAttribute('contextmenu')
pals
2014/08/19 10:12:31
Done.
|
| + |
| +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"); |
|
tkent
2014/08/19 01:14:41
Additionally, we should test:
container5.context
pals
2014/08/19 10:12:32
Done.
|
| + |
| +debug("Test setting contextmenu attribute to null"); |
| +document.write("<div id='container6'></div>"); |
|
tkent
2014/08/19 01:14:41
We should change the HTML to
<div id='container
pals
2014/08/19 10:12:31
Done.
|
| +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; |
| +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> |