use of com.vaadin.flow.component.UI in project flow by vaadin.
the class DataCommunicatorTest method init.
@Before
public void init() {
MockitoAnnotations.initMocks(this);
ui = new MockUI();
element = new Element("div");
ui.getElement().appendChild(element);
lastClear = null;
lastSet = null;
lastUpdateId = -1;
update = new ArrayUpdater.Update() {
@Override
public void clear(int start, int length) {
lastClear = Range.withLength(start, length);
}
@Override
public void set(int start, List<JsonValue> items) {
lastSet = Range.withLength(start, items.size());
}
@Override
public void commit(int updateId) {
lastUpdateId = updateId;
}
};
Mockito.when(arrayUpdater.startUpdate(Mockito.anyInt())).thenReturn(update);
dataCommunicator = new DataCommunicator<>(dataGenerator, arrayUpdater, data -> {
}, element.getNode());
}
use of com.vaadin.flow.component.UI in project flow by vaadin.
the class VaadinUIScopeTest method mockUI.
private UI mockUI() {
VaadinSession session = mockSession();
RouterInterface routerIface = mock(RouterInterface.class);
VaadinService service = session.getService();
when(service.getRouter()).thenReturn(routerIface);
ImmutableRouterConfiguration config = mock(ImmutableRouterConfiguration.class);
when(routerIface.getConfiguration()).thenReturn(config);
when(config.isConfigured()).thenReturn(false);
UI ui = new UI();
ui.getInternals().setSession(session);
ui.doInit(null, 1);
UI.setCurrent(ui);
// prevent UI from being GCed.
this.ui = ui;
return ui;
}
use of com.vaadin.flow.component.UI in project flow by vaadin.
the class InfoView method update.
private void update(UI ui) {
VaadinSession session = ui.getSession();
WebBrowser webBrowser = session.getBrowser();
DeploymentConfiguration deploymentConfiguration = session.getConfiguration();
List<String> device = new ArrayList<>();
List<String> os = new ArrayList<>();
List<String> browser = new ArrayList<>();
removeAll();
add(new NativeButton("Refresh", e -> {
update(ui);
}));
header("Browser");
info("Address", webBrowser.getAddress());
add(device, "Android", webBrowser.isAndroid());
add(device, "iOS", webBrowser.isIOS());
add(device, "iPad", webBrowser.isIPad());
add(device, "iPhone", webBrowser.isIPhone());
add(device, "Windows Phone", webBrowser.isWindowsPhone());
info("Device", device.stream().collect(Collectors.joining(", ")));
add(os, "Linux", webBrowser.isLinux());
add(os, "Mac", webBrowser.isMacOSX());
add(os, "Windows", webBrowser.isWindows());
info("Os", os.stream().collect(Collectors.joining(", ")));
add(browser, "Touch device", webBrowser.isTouchDevice());
add(browser, "Chrome", webBrowser.isChrome());
add(browser, "Edge", webBrowser.isEdge());
add(browser, "Firefox", webBrowser.isFirefox());
add(browser, "IE", webBrowser.isIE());
add(browser, "Safari", webBrowser.isSafari());
info("Browser", browser.stream().collect(Collectors.joining(", ")));
if (webBrowser.isTooOldToFunctionProperly()) {
header("Browser is too old to function properly");
}
info("User-agent", webBrowser.getBrowserApplication());
info("Browser major", webBrowser.getBrowserMajorVersion());
info("Browser minor", webBrowser.getBrowserMinorVersion());
info("Screen height", webBrowser.getScreenHeight());
info("Screen width", webBrowser.getScreenWidth());
info("Locale", webBrowser.getLocale());
info("Secure connection (https)", webBrowser.isSecureConnection());
separator();
header("Push configuration");
info("Push mode", ui.getPushConfiguration().getPushMode());
info("Push transport", ui.getPushConfiguration().getTransport());
separator();
header("Deployment configuration");
info("Heartbeat interval", deploymentConfiguration.getHeartbeatInterval());
info("Router configurator class", deploymentConfiguration.getRouterConfiguratorClassName());
info("UI class", deploymentConfiguration.getUIClassName());
info("Close idle sessions", deploymentConfiguration.isCloseIdleSessions());
info("Send URLs as parameters", deploymentConfiguration.isSendUrlsAsParameters());
info("Sync id enabled", deploymentConfiguration.isSyncIdCheckEnabled());
info("XSRF protection enabled", deploymentConfiguration.isXsrfProtectionEnabled());
info("Production mode", deploymentConfiguration.isProductionMode());
}
use of com.vaadin.flow.component.UI in project flow by vaadin.
the class BootstrapHandlerTest method uiInitialization_allRegisteredListenersAreNotified.
// UIInitListeners
@Test
public void uiInitialization_allRegisteredListenersAreNotified() {
BootstrapHandler bootstrapHandler = new BootstrapHandler();
VaadinResponse response = Mockito.mock(VaadinResponse.class);
AtomicReference<UI> uiReference = new AtomicReference<>();
Registration registration = service.addUIInitListener(event -> Assert.assertTrue("Atomic reference was not empty.", uiReference.compareAndSet(null, event.getUI())));
final BootstrapContext context = bootstrapHandler.createAndInitUI(TestUI.class, createVaadinRequest(), response, session);
Assert.assertEquals("Event UI didn't match initialized UI instance.", context.getUI(), uiReference.get());
// unregister listener
registration.remove();
AtomicReference<UI> secondListenerReference = new AtomicReference<>();
service.addUIInitListener(event -> Assert.assertTrue("Atomic reference did not contain previous UI.", uiReference.compareAndSet(context.getUI(), event.getUI())));
service.addUIInitListener(event -> Assert.assertTrue("Atomic reference was not empty.", secondListenerReference.compareAndSet(null, event.getUI())));
final BootstrapContext secondInit = bootstrapHandler.createAndInitUI(TestUI.class, createVaadinRequest(), response, session);
Assert.assertEquals("Event UI didn't match initialized UI instance.", secondInit.getUI(), uiReference.get());
Assert.assertEquals("Second event UI didn't match initialized UI instance.", secondInit.getUI(), secondListenerReference.get());
}
use of com.vaadin.flow.component.UI in project flow by vaadin.
the class BootstrapHandlerTest method uiInitialization_changingListenersOnEventWorks.
// UIInitListeners
@Test
public void uiInitialization_changingListenersOnEventWorks() {
BootstrapHandler bootstrapHandler = new BootstrapHandler();
VaadinResponse response = Mockito.mock(VaadinResponse.class);
AtomicReference<UI> uiReference = new AtomicReference<>();
Registration registration = service.addUIInitListener(event -> service.addUIInitListener(laterEvent -> uiReference.compareAndSet(null, laterEvent.getUI())));
bootstrapHandler.createAndInitUI(TestUI.class, createVaadinRequest(), response, session);
Assert.assertEquals("Event UI didn't match initialized UI instance.", null, uiReference.get());
// unregister listener
registration.remove();
service.addUIInitListener(event -> registration.remove());
final BootstrapContext secondInit = bootstrapHandler.createAndInitUI(TestUI.class, createVaadinRequest(), response, session);
Assert.assertEquals("Event UI didn't match initialized UI instance.", secondInit.getUI(), uiReference.get());
}
Aggregations