public void shouldGetDataFromParentForNestedMenus() throws Exception {
Display display = Display.getDefault();
Shell shell = new Shell(display);
Menu menu = new Menu(shell, SWT.POP_UP);
menu.setData(new NatEventData(null, null, 5, 1, null));
MenuItem item1 = new MenuItem(menu, SWT.PUSH);
item1.setText("Push Item");
MenuItem item2 = new MenuItem(menu, SWT.CASCADE);
item2.setText("Cascade Item");
Menu subMenu = new Menu(menu);
item2.setMenu(subMenu);
MenuItem subItem1 = new MenuItem(subMenu, SWT.PUSH);
subItem1.setText("Subitem 1");
MenuItem subItem2 = new MenuItem(subMenu, SWT.PUSH);
subItem2.setText("Subitem 2");
Event testEvent = new Event();
testEvent.widget = shell;
SelectionEvent selectionEvent = new SelectionEvent(testEvent);
selectionEvent.widget = subItem2;
NatEventData natEventData = MenuItemProviders
.getNatEventData(selectionEvent);
Assert.assertNotNull(natEventData);
Assert.assertEquals(5, natEventData.getColumnPosition());
Assert.assertEquals(1, natEventData.getRowPosition());
}