package org.vaadin.touchkit.itest.extensions; import org.vaadin.touchkit.AbstractTouchKitIntegrationTest; import org.vaadin.touchkit.extensions.LocalStorage; import org.vaadin.touchkit.extensions.LocalStorageCallback; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Notification; import com.vaadin.v7.ui.TextField; @SuppressWarnings("serial") public class LocalStorageTest extends AbstractTouchKitIntegrationTest { private TextField keyField = new TextField("Key"); private TextField valueField = new TextField("Value"); public LocalStorageTest() { setDescription("Test Geolocation"); addComponent(keyField); addComponent(valueField); Button detectButton = new Button("Detect value", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { LocalStorage.detectValue(keyField.getValue(), new LocalStorageCallback() { @Override public void onSuccess(String value) { Notification.show("Value received:" + value); valueField.setValue(value); } @Override public void onFailure(FailureEvent error) { Notification.show("Value retrieval failed: " + error.getMessage()); } }); } }); addComponent(detectButton); Button saveButton = new Button("Save value", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { LocalStorage.get().put(keyField.getValue(), valueField.getValue()); } }); addComponent(saveButton); Button saveInsaneButton = new Button("Save huge value (should fail)", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { LocalStorage.get().put("huge", gethugeString(), new LocalStorageCallback() { @Override public void onSuccess(String value) { Notification.show("Succeeeded"); } @Override public void onFailure(FailureEvent error) { Notification.show("Failed as expected:" + error.getMessage()); } }); } private String gethugeString() { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 8000000; i++) { stringBuilder.append("diipadaipa"); } return stringBuilder.toString(); } }); addComponent(saveInsaneButton); } }