| Index: android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java
|
| diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java
|
| index a46797b82239cbd7b0f9ae7859feece35f0e60b8..f2f975e0d0935aafec3fc751469baebcfb6b69ff 100644
|
| --- a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java
|
| +++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java
|
| @@ -544,6 +544,20 @@ public class AwContentsTest extends AwTestBase {
|
| script));
|
| }
|
|
|
| + static class AccessibilityCallbackHelper extends CallbackHelper {
|
| +
|
| + private AccessibilitySnapshotNode mRoot;
|
| +
|
| + public void notifyCalled(AccessibilitySnapshotNode root) {
|
| + mRoot = root;
|
| + super.notifyCalled();
|
| + }
|
| +
|
| + public AccessibilitySnapshotNode getValue() {
|
| + return mRoot;
|
| + }
|
| + }
|
| +
|
| /**
|
| * Verifies that AX tree is returned.
|
| */
|
| @@ -555,19 +569,53 @@ public class AwContentsTest extends AwTestBase {
|
| final CallbackHelper loadHelper = mContentsClient.getOnPageFinishedHelper();
|
| loadDataSync(awContents, loadHelper, "<button>Click</button>", "text/html", false);
|
|
|
| - final CallbackHelper callbackHelper = new CallbackHelper();
|
| + final AccessibilityCallbackHelper callbackHelper = new AccessibilityCallbackHelper();
|
| + final AccessibilitySnapshotCallback callback = new AccessibilitySnapshotCallback() {
|
| + @Override
|
| + public void onAccessibilitySnapshot(AccessibilitySnapshotNode root) {
|
| + callbackHelper.notifyCalled(root);
|
| + }
|
| + };
|
| +
|
| + runTestOnUiThread(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + awContents.requestAccessibilitySnapshot(callback);
|
| + }
|
| + });
|
| + callbackHelper.waitForCallback(callbackHelper.getCallCount());
|
| +
|
| + AccessibilitySnapshotNode root = callbackHelper.getValue();
|
| + assertEquals(1, root.children.size());
|
| + assertEquals("", root.text);
|
| + AccessibilitySnapshotNode child = root.children.get(0);
|
| + assertEquals(1, child.children.size());
|
| + assertEquals("", child.text);
|
| + AccessibilitySnapshotNode grandChild = child.children.get(0);
|
| + assertEquals(0, grandChild.children.size());
|
| + assertEquals("Click", grandChild.text);
|
| + }
|
| +
|
| + /**
|
| + * Verifies the styles/color of the AX nodes
|
| + */
|
| + @Feature({"AndroidWebView"})
|
| + @SmallTest
|
| + public void testRequestAccessibilitySnapshotTextStyles() throws Throwable {
|
| + final AwTestContainerView testView = createAwTestContainerViewOnMainSync(mContentsClient);
|
| + final AwContents awContents = testView.getAwContents();
|
| + final CallbackHelper loadHelper = mContentsClient.getOnPageFinishedHelper();
|
| + loadDataSync(awContents, loadHelper,
|
| + "<p style=\"color:#123456;background:#000000\">color</p>"
|
| + + "<p><font size=\"6\">size</font></p>"
|
| + + "<p><b>bold</b><p><strike>strike</strike><p><u>underline</u><p><i>italic</i>",
|
| + "text/html", false);
|
| +
|
| + final AccessibilityCallbackHelper callbackHelper = new AccessibilityCallbackHelper();
|
| final AccessibilitySnapshotCallback callback = new AccessibilitySnapshotCallback() {
|
| @Override
|
| public void onAccessibilitySnapshot(AccessibilitySnapshotNode root) {
|
| - assertEquals(1, root.children.size());
|
| - assertEquals("", root.text);
|
| - AccessibilitySnapshotNode child = root.children.get(0);
|
| - assertEquals(1, child.children.size());
|
| - assertEquals("", child.text);
|
| - AccessibilitySnapshotNode grandChild = child.children.get(0);
|
| - assertEquals(0, grandChild.children.size());
|
| - assertEquals("Click", grandChild.text);
|
| - callbackHelper.notifyCalled();
|
| + callbackHelper.notifyCalled(root);
|
| }
|
| };
|
|
|
| @@ -578,5 +626,33 @@ public class AwContentsTest extends AwTestBase {
|
| }
|
| });
|
| callbackHelper.waitForCallback(callbackHelper.getCallCount());
|
| +
|
| + AccessibilitySnapshotNode root = callbackHelper.getValue();
|
| + assertEquals(6, root.children.size());
|
| + assertEquals("", root.text);
|
| +
|
| + // verify node 0
|
| + AccessibilitySnapshotNode node = root.children.get(0);
|
| + assertEquals("color", node.text);
|
| +
|
| + // verify node 1
|
| + node = root.children.get(1);
|
| + assertEquals("size", node.text);
|
| +
|
| + // verify node 2
|
| + node = root.children.get(2);
|
| + assertEquals("bold", node.text);
|
| +
|
| + //verify node 3
|
| + node = root.children.get(3);
|
| + assertEquals("strike", node.text);
|
| +
|
| + // verify node 4
|
| + node = root.children.get(4);
|
| + assertEquals("underline", node.text);
|
| +
|
| + //verify node 5
|
| + node = root.children.get(5);
|
| + assertEquals("italic", node.text);
|
| }
|
| }
|
|
|