예제 #1
0
  @Test
  public void threadLocalsAfterUnderlyingSessionTimeout() {

    final AtomicBoolean detachCalled = new AtomicBoolean(false);
    ui.addDetachListener(
        new DetachListener() {
          @Override
          public void detach(DetachEvent event) {
            detachCalled.set(true);
            Assert.assertEquals(ui, UI.getCurrent());
            Assert.assertEquals(ui.getPage(), Page.getCurrent());
            Assert.assertEquals(session, VaadinSession.getCurrent());
            Assert.assertEquals(mockService, VaadinService.getCurrent());
            Assert.assertEquals(mockServlet, VaadinServlet.getCurrent());
          }
        });

    session.valueUnbound(EasyMock.createMock(HttpSessionBindingEvent.class));
    Assert.assertTrue(detachCalled.get());
  }