/**
* Test that handleLeft/Right are triggered on the correct node.
*/
public void testHandleLeftRightTriggeredOnNode() {
FakeEditorEvent fakeEvent = FakeEditorEvent.create(KeySignalType.NAVIGATION, KeyCodes.KEY_LEFT);
FakeRouter router = new FakeRouter();
ContentElement fakeContentElement = newElement();
final Point<ContentNode> caret = Point.<ContentNode> end(fakeContentElement);
EditorEventsSubHandler subHandler = new FakeEditorEventsSubHandler();
FakeEditorInteractor interactor = setupFakeEditorInteractor(new FocusedContentRange(caret));
EditorEventHandler handler = createEditorEventHandler(router, interactor, subHandler);
router.ctx.call(FakeRouter.HANDLE_LEFT).nOf(1).withArgs(fakeEvent).returns(
true);
interactor.call(FakeEditorInteractor.CLEAR_ANNOTATIONS).nOf(1);
boolean cancel1 = handler.handleEvent(fakeEvent);
router.ctx.checkExpectations();
assertEquals(!fakeEvent.shouldAllowBrowserDefault(), cancel1);
router.ctx.reset();
FakeEditorEvent fakeEvent2 =
FakeEditorEvent.create(KeySignalType.NAVIGATION, KeyCodes.KEY_RIGHT);
router.ctx.call(FakeRouter.HANDLE_RIGHT).nOf(1).withArgs(fakeEvent2)
.returns(true);
boolean cancel2 = handler.handleEvent(fakeEvent2);