Search in sources :

Example 26 with Timer

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));
}
Also used : InitializeHandler(org.gwtproject.event.logical.shared.InitializeHandler) InitializeEvent(org.gwtproject.event.logical.shared.InitializeEvent) Timer(org.gwtproject.timer.client.Timer)

Example 27 with Timer

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);
}
Also used : Timer(org.gwtproject.timer.client.Timer)

Example 28 with Timer

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();
}
Also used : Timer(org.gwtproject.timer.client.Timer) MediaError(org.gwtproject.media.dom.client.MediaError)

Example 29 with Timer

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);
        }
    });
}
Also used : CustomEvent(elemental2.dom.CustomEvent) Promise(elemental2.promise.Promise) HTMLAnchorElement(elemental2.dom.HTMLAnchorElement) Timer(org.gwtproject.timer.client.Timer) Test(org.junit.Test)

Example 30 with Timer

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);
    });
}
Also used : Promise(elemental2.promise.Promise) Timer(org.gwtproject.timer.client.Timer) Test(org.junit.Test)

Aggregations

Timer (org.gwtproject.timer.client.Timer)65 Promise (elemental2.promise.Promise)16 Test (org.junit.Test)15 ScheduledCommand (org.gwtproject.core.client.Scheduler.ScheduledCommand)7 LoadEvent (org.gwtproject.event.dom.client.LoadEvent)7 Button (org.dominokit.domino.ui.button.Button)3 Card (org.dominokit.domino.ui.cards.Card)3 NativeEvent (org.gwtproject.dom.client.NativeEvent)3 HTMLDivElement (elemental2.dom.HTMLDivElement)2 ArrayList (java.util.ArrayList)2 SampleMethod (org.dominokit.domino.SampleMethod)2 UiView (org.dominokit.domino.api.client.annotations.UiView)2 BaseDemoView (org.dominokit.domino.componentcase.client.ui.views.BaseDemoView)2 CodeCard (org.dominokit.domino.componentcase.client.ui.views.CodeCard)2 Column (org.dominokit.domino.ui.grid.Column)2 Row (org.dominokit.domino.ui.grid.Row)2 BlockHeader (org.dominokit.domino.ui.header.BlockHeader)2 Loader (org.dominokit.domino.ui.loaders.Loader)2 Color (org.dominokit.domino.ui.style.Color)2 AnimationHandle (org.gwtproject.animation.client.AnimationScheduler.AnimationHandle)2