Tests the custom context menu items.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS itemsWithCustomContextMenu.length - items.length is 23
PASS itemsWithCustomContextMenu[0] is "Item1"
PASS itemsWithCustomContextMenu[1] is "#Item2"
PASS itemsWithCustomContextMenu[2] is "---------"
PASS itemsWithCustomContextMenu[3] is "Item3"
PASS itemsWithCustomContextMenu[4] is "Submenu >"
PASS itemsWithCustomContextMenu[5] is "_Item4"
PASS itemsWithCustomContextMenu[6] is "_Deeper submenu >"
PASS itemsWithCustomContextMenu[7] is "__Item5"
PASS itemsWithCustomContextMenu[8] is "__---------"
PASS itemsWithCustomContextMenu[9] is "__Item6"
PASS itemsWithCustomContextMenu[10] is "Item7"
PASS itemsWithCustomContextMenu[11] is "---------"
PASS itemsWithCustomContextMenu[12] is "Item8"
PASS itemsWithCustomContextMenu[13] is "Item11"
PASS itemsWithCustomContextMenu[14] is "Item12"
PASS itemsWithCustomContextMenu[15] is "---------"
PASS itemsWithCustomContextMenu[16] is "Item13"
PASS itemsWithCustomContextMenu[17] is "Item14"
PASS itemsWithCustomContextMenu[18] is "*Item15"
PASS itemsWithCustomContextMenu[19] is "Item16"
PASS itemsWithCustomContextMenu[20] is "Item17"
PASS itemsWithCustomContextMenu[21] is "*Item18"
PASS itemsWithCustomContextMenu[22] is "Item19"
PASS items1.length - items.length is 0
PASS items2.length - items.length is 0
PASS items3.length - items.length is 0
PASS items4.length - items.length is 0
PASS items5.length - items.length is 3
PASS items5[0] is "Item1"
PASS items5[1] is "Item2"
PASS items5[2] is "Item3"
PASS successfullyParsed is true

TEST COMPLETE
 
  
  
    
 

