diff options
author | Leo Ufimtsev | 2017-05-24 19:10:22 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2017-06-28 08:15:08 +0000 |
commit | 2cc5d79e31d0f238b27ff78360cbac4007e4c7cd (patch) | |
tree | 299f00f36f0959d306eb2fa7f91b2004e592a870 /tests | |
parent | 06786007f0c8cde96552f8f669f7722c89f3ec8a (diff) | |
download | eclipse.platform.swt-2cc5d79e31d0f238b27ff78360cbac4007e4c7cd.tar.gz eclipse.platform.swt-2cc5d79e31d0f238b27ff78360cbac4007e4c7cd.tar.xz eclipse.platform.swt-2cc5d79e31d0f238b27ff78360cbac4007e4c7cd.zip |
Bug 514719: [Browser][Webkit2] port Browser.getText() to webkit2
jUnit tests for getText()
Patchset 3:
- Added additional test cases to address corner cases.
Patchset 4:
- Cleanup.
Change-Id: I93d20732693a2a69661c6059de3278206c1c2456
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=514719
Signed-off-by: Leo Ufimtsev <lufimtse@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java index 4e3ee3c55a..37e5601937 100644 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java +++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java @@ -849,6 +849,59 @@ public void test_setUrl() { // TODO - it would be good to verify that the page actually loaded. ex download the webpage etc.. } +@Test +public void test_getText() { + getText_helper("helloWorld"); +} + +@Test +public void test_getText_html() { + getText_helper("<html><head></head><body>hello<b>World</b></body></html>"); +} + +/** Ensure we get webpage before javascript processed it. + * E.g js would add 'style' tag to body after processing. */ +@Test +public void test_getText_script() { + getText_helper("<html><head></head><body>hello World<script>document.body.style.backgroundColor = \"red\";</script></body></html>"); +} + +/** Ensure that 'DOCTYPE' is not stripped out of original string */ +@Test +public void test_getText_doctype() { + getText_helper("<!DOCTYPE html><html><head></head><body>hello World</body></html>"); +} + +/** Ensure custom DOCTYPE is not stripped out of original string */ +@Test +public void test_getText_doctype_custom() { + getText_helper("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" " + + "\"http://www.w3.org/TR/html4/strict.dtd\"><html><head></head><body>hello World</body></html>"); +} + +private void getText_helper(String testString) { + AtomicReference<String> returnString= new AtomicReference<>(""); + AtomicBoolean finished = new AtomicBoolean(false); + browser.setText(testString); + browser.addProgressListener(new ProgressAdapter() { + @Override + public void completed(ProgressEvent event) { + returnString.set(browser.getText()); + if (debug_verbose_output) + System.out.println(returnString.get()); + finished.set(true); + } + }); + shell.open(); + waitForPassCondition(() -> finished.get()); + boolean passed = returnString.get().equals(testString); + String error_msg = finished.get() ? + "Test did not return correct string.\n" + + "Expected:"+testString+"\n" + + "Actual:"+returnString.get() + : "Test timed out"; + assertTrue(error_msg, passed); +} /** * Test that a page load an be stopped (stop()) without throwing an exception. |