| 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 fa4bfd03cde384b244ee33330163d9e20f9d634b..2f7350c5126453d225228cef7bb1074e51ace019 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
|
| @@ -33,8 +33,10 @@ import org.chromium.base.test.util.MinAndroidSdkLevel;
|
| import org.chromium.content.browser.test.util.CallbackHelper;
|
| import org.chromium.content.browser.test.util.Criteria;
|
| import org.chromium.content.browser.test.util.CriteriaHelper;
|
| +import org.chromium.content_public.browser.AXTreeSnapshotCallback;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| import org.chromium.net.test.util.TestWebServer;
|
| +import org.chromium.ui.AXNodeData;
|
|
|
| import java.io.InputStream;
|
| import java.net.URL;
|
| @@ -626,4 +628,40 @@ public class AwContentsTest extends AwTestBase {
|
| assertEquals("null", executeJavaScriptAndWaitForResult(awContents, mContentsClient,
|
| script));
|
| }
|
| +
|
| + /**
|
| + * Verifies that AX tree is returned.
|
| + */
|
| + @Feature({"AndroidWebView"})
|
| + @SmallTest
|
| + public void testRequestAXTreeSnapshot() throws Throwable {
|
| + final AwTestContainerView testView = createAwTestContainerViewOnMainSync(mContentsClient);
|
| + final AwContents awContents = testView.getAwContents();
|
| + final CallbackHelper loadHelper = mContentsClient.getOnPageFinishedHelper();
|
| + loadDataSync(awContents, loadHelper, "<button>Click</button>", "text/html", false);
|
| +
|
| + final CallbackHelper callbackHelper = new CallbackHelper();
|
| + final AXTreeSnapshotCallback callback = new AXTreeSnapshotCallback() {
|
| + @Override
|
| + public void onAXTreeSnapshot(AXNodeData root) {
|
| + assertEquals(1, root.children.size());
|
| + assertEquals("", root.text);
|
| + AXNodeData child = root.children.get(0);
|
| + assertEquals(1, child.children.size());
|
| + assertEquals("", child.text);
|
| + AXNodeData grandChild = child.children.get(0);
|
| + assertEquals(0, grandChild.children.size());
|
| + assertEquals("Click", grandChild.text);
|
| + callbackHelper.notifyCalled();
|
| + }
|
| + };
|
| +
|
| + runTestOnUiThread(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + awContents.requestAXTreeSnapshot(callback);
|
| + }
|
| + });
|
| + callbackHelper.waitForCallback(callbackHelper.getCallCount());
|
| + }
|
| }
|
|
|