use of org.gwtproject.timer.client.Timer in project gwtproject by treblereel.
the class RichTextAreaTest method testSetSafeHtmlBeforeInit.
/**
* Test that an immediate set of safe html is reflected immediately and after
* the area loads. Some platforms have timing subtleties that need to be
* tested.
*/
public void testSetSafeHtmlBeforeInit() {
final RichTextArea richTextArea = new RichTextArea();
delayTestFinish(RICH_TEXT_ASYNC_DELAY);
richTextArea.addInitializeHandler(new InitializeHandler() {
@Override
public void onInitialize(InitializeEvent event) {
new Timer() {
@Override
public void run() {
assertEquals(html, richTextArea.getHTML().toLowerCase(Locale.ROOT));
finishTest();
}
}.schedule(100);
}
});
richTextArea.setHTML(SafeHtmlUtils.fromSafeConstant(html));
RootPanel.get().add(richTextArea);
assertEquals(html, richTextArea.getHTML().toLowerCase(Locale.ROOT));
}
use of org.gwtproject.timer.client.Timer in project gwtproject by treblereel.
the class AbstractSelectionModelTest method testScheduleSelectionChangeEvent.
public void testScheduleSelectionChangeEvent() {
AbstractSelectionModel<String> model = createSelectionModel(null);
final MockSelectionChangeHandler handler = new AssertOneSelectionChangeEventOnlyHandler();
model.addSelectionChangeHandler(handler);
// Schedule the event multiple times.
delayTestFinish(2000);
model.setSelected("test1", true);
model.scheduleSelectionChangeEvent();
model.setSelected("test2", true);
model.scheduleSelectionChangeEvent();
model.setSelected("test3", true);
model.scheduleSelectionChangeEvent();
model.setSelected("test4", true);
model.scheduleSelectionChangeEvent();
model.setSelected("test5", true);
model.scheduleSelectionChangeEvent();
model.setSelected("test6", true);
model.scheduleSelectionChangeEvent();
handler.assertEventFired(false);
new Timer() {
@Override
public void run() {
handler.assertEventFired(true);
finishTest();
}
}.schedule(1000);
}
use of org.gwtproject.timer.client.Timer in project gwtproject by treblereel.
the class VideoTest method testVideoSize.
public void testVideoSize() {
if (video == null) {
// don't continue if not supported
return;
}
// the media resource needs time to load
delayTestFinish(20 * 1000);
// wait a little, then make sure it loaded
new Timer() {
@Override
public void run() {
MediaError error = video.getError();
if (error != null) {
fail("Media error (" + error.getCode() + ")");
}
assertEquals(videoWidth, video.getVideoWidth());
assertEquals(videoHeight, video.getVideoHeight());
// finishTest();
}
}.schedule(15 * 1000);
video.play();
}
use of org.gwtproject.timer.client.Timer in project gwtproject by treblereel.
the class ClickLinkTest method testClickLink.
/* Tests against issue #572: Double unescaping of history tokens. */
@Test(timeout = 5000)
public Promise<Void> testClickLink() {
return new Promise<>((resolve, reject) -> {
HTMLAnchorElement anchorElement = Js.cast(DomGlobal.document.createElement("a"));
anchorElement.href = "#href1";
DomGlobal.document.body.appendChild(anchorElement);
CustomEvent<String> clickEvent = new CustomEvent<>("click");
// NativeEvent clickEvent =
// DomGlobal.document.create.createEvent(0, 0, 0, 0, 0, false, false,
// false, false);
//
timer = new Timer() {
@Override
public void run() {
anchorElement.dispatchEvent(clickEvent);
}
};
try {
History.newItem("something_as_base");
addHistoryListenerImpl(event -> {
assertEquals("href1", event.getValue());
resolve.onInvoke((Void) null);
});
timer.schedule(1000);
} finally {
DomGlobal.document.body.removeChild(anchorElement);
}
});
}
use of org.gwtproject.timer.client.Timer in project gwtproject by treblereel.
the class DoubleEscapingTest method testDoubleEscaping.
/* Tests against issue #572: Double unescaping of history tokens. */
@Test(timeout = 5000)
public Promise<Void> testDoubleEscaping() {
return new Promise<>((resolve, reject) -> {
final String escToken = "%24%24%24";
timer = new Timer() {
@Override
public void run() {
History.newItem(escToken);
}
};
addHistoryListenerImpl(event -> {
assertEquals(escToken, event.getValue());
resolve.onInvoke((Void) null);
});
timer.scheduleRepeating(500);
});
}
Aggregations