Package com.redspr.redquerybuilder.core.client.expression

Source Code of com.redspr.redquerybuilder.core.client.expression.GwtTestSuggestEditorWidget

package com.redspr.redquerybuilder.core.client.expression;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.RepeatingCommand;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.ui.RootPanel;
import com.redspr.redquerybuilder.core.client.AbstractTest;
import com.redspr.redquerybuilder.core.client.engine.Session;
import com.redspr.redquerybuilder.core.shared.meta.Column;

public class GwtTestSuggestEditorWidget extends AbstractTest {

    @Test
    public void testDirtyKeepsValue() throws Exception {
        Session sess = getSession();

        Column col = sess.getDatabase().getMainSchema()
                .findTableOrView("PERSON").getColumn("county");

        final SuggestEditorWidget sew = new SuggestEditorWidget(sess, col);

        final List events = new ArrayList();
        sew.addValueChangeHandler(new ValueChangeHandler() {
            @Override
            public void onValueChange(ValueChangeEvent event) {
                events.add(event.getValue());
            }
        });

        RootPanel.get().add(sew);

        Element elmt = sew.getElement();

        elmt.setAttribute("value", "A");
        elmt.dispatchEvent(Document.get().createKeyUpEvent(false, false, false, false, 'C'));

        //System.out.println("X=" + box.getElement().getParentElement().getInnerHTML());
        List<Element> elmts = find(elmt.getParentElement(), "item");
        assertEquals(3, elmts.size());
        elmts.get(0).dispatchEvent(Document.get().createClickEvent(0, 0, 0, 0, 0, false, false, false, false));

        this.delayTestFinish(10000);
        Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
            @Override
            public boolean execute() {
                assertEquals(1, events.size());
                finishTest();
                return false;
            }
        }, 100);
    }
}
TOP

Related Classes of com.redspr.redquerybuilder.core.client.expression.GwtTestSuggestEditorWidget

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.