1 // Copyright (c) 2014 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.xwalk.core.xwview.test;
7 import android.test.suitebuilder.annotation.MediumTest;
8 import android.util.Pair;
10 import java.util.ArrayList;
11 import java.util.List;
13 import org.chromium.base.test.util.Feature;
14 import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
15 import org.chromium.net.test.util.TestWebServer;
17 import org.xwalk.core.xwview.test.util.CommonResources;
20 * Tests for the XWalkUIClient.OnReceivedTitleTest() method.
22 public class OnReceivedTitleTest extends XWalkViewTestBase {
23 private OnTitleUpdatedHelper mOnTitleUpdatedHelper;
24 private TestWebServer mWebServer;
27 public void setUp() throws Exception {
30 mOnTitleUpdatedHelper = mTestHelperBridge.getOnTitleUpdatedHelper();
31 mWebServer = new TestWebServer(false);
35 protected void tearDown() throws Exception {
36 mWebServer.shutdown();
40 private String addPageToTestServer(TestWebServer webServer, String httpPath, String html) {
41 List<Pair<String, String>> headers = new ArrayList<Pair<String, String>>();
42 headers.add(Pair.create("Content-Type", "text/html"));
43 headers.add(Pair.create("Cache-Control", "no-store"));
44 return webServer.setResponse(httpPath, html, headers);
48 @Feature({"onReceivedTitle"})
49 public void testOnReceivedTitleWithUrl() throws Throwable {
50 String path = "/test.html";
51 String pageContent = CommonResources.makeHtmlPageFrom("<title>Test</title>",
52 "<div> The title is: Test </div>");
53 String url = addPageToTestServer(mWebServer, path, pageContent);
54 int onReceivedTitleCallCount = mOnTitleUpdatedHelper.getCallCount();
57 mOnTitleUpdatedHelper.waitForCallback(onReceivedTitleCallCount);
58 assertNotNull(mOnTitleUpdatedHelper.getTitle());
62 @Feature({"onReceivedTitle"})
63 public void testOnReceivedTitleWithData() throws Throwable {
64 final String name = "index.html";
65 final String fileContent = getFileContent(name);
66 int onReceivedTitleCallCount = mOnTitleUpdatedHelper.getCallCount();
68 loadDataSync(name, fileContent, "text/html", false);
69 mOnTitleUpdatedHelper.waitForCallback(onReceivedTitleCallCount);
70 assertNotNull(mOnTitleUpdatedHelper.getTitle());