< prev index next >

modules/web/src/test/java/javafx/scene/web/MiscellaneousTest.java

Print this page

        

*** 35,47 **** --- 35,54 ---- import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.concurrent.Worker.State; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; + import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; + import static javafx.concurrent.Worker.State.SUCCEEDED; + import javafx.event.Event; + import javafx.scene.input.Clipboard; + import javafx.scene.input.ClipboardContent; + import javafx.scene.input.KeyCode; import org.junit.Test; import org.w3c.dom.Document; + import org.w3c.dom.html.HTMLInputElement; public class MiscellaneousTest extends TestBase { @Test public void testNoEffectOnFollowRedirects() { assertEquals("Unexpected HttpURLConnection.getFollowRedirects() result",
*** 107,116 **** --- 114,165 ---- " alert(s.length);\n" + " s = s + s;\n" + "}\n" + "</script>"); } + @Test public void testJDK8143894() { + loadContent("<!DOCTYPE html><html><body><input id=\"inputText\" value=\"Default text\" autofocus>" + + "<input id=\"pasteInputText\"></input><script>var pasteElement=document.getElementById('inputText');" + + "pasteElement.onpaste=function myFunction(e){document.getElementById(\"pasteInputText\").value=" + + "e.clipboardData.getData('text/plain');}</script></body></html>"); + + assertTrue("Load task completed successfully", getLoadState() == SUCCEEDED); + + submit(() -> { + String clipboardData = "Clipboard content"; + ClipboardContent content = new ClipboardContent(); + content.putString(clipboardData); + Clipboard.getSystemClipboard().setContent(content); + //paste the ClipboardConent to first inputText input element + //from javascript capture this paste and copy to pasteInputtext input element + javafx.scene.input.KeyEvent kv = new javafx.scene.input.KeyEvent(null, + getView(), // EventTarget + javafx.scene.input.KeyEvent.KEY_PRESSED, // eventType + "", // Character (unused unless evtType == KEY_TYPED) + "", // text + KeyCode.V, // KeyCode + false, // shiftDown + true, // ctrlDown + false, // altDown + false // metaData + ); + Event.fireEvent(getView(), kv); + + Document doc = getEngine().getDocument(); + HTMLInputElement el = (HTMLInputElement)doc.getElementById("inputText"); + assertNotNull("HTMLInputElement Not Null", el); + assertEquals("Default value", "Default text", el.getDefaultValue()); + assertEquals("Paste value", clipboardData, el.getValue()); + + HTMLInputElement pl = (HTMLInputElement)doc.getElementById("pasteInputText"); + assertEquals("Paste value", clipboardData, pl.getValue()); + }); + } private WebEngine createWebEngine() { return submit(() -> new WebEngine()); } + + private State getLoadState() { + return submit(() -> getEngine().getLoadWorker().getState()); + } }
< prev index next >