EMMA Coverage Report (generated Tue Aug 20 10:07:21 PDT 2013)
[all classes][org.chromium.android_webview.test]

COVERAGE SUMMARY FOR SOURCE FILE [ClientOnReceivedErrorTest.java]

nameclass, %method, %block, %line, %
ClientOnReceivedErrorTest.java0%   (0/1)0%   (0/8)0%   (0/201)0%   (0/59)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ClientOnReceivedErrorTest0%   (0/1)0%   (0/8)0%   (0/201)0%   (0/59)
ClientOnReceivedErrorTest (): void 0%   (0/1)0%   (0/3)0%   (0/1)
setUp (): void 0%   (0/1)0%   (0/17)0%   (0/5)
testCacheMiss (): void 0%   (0/1)0%   (0/36)0%   (0/10)
testNoErrorOnFailedSubresourceLoad (): void 0%   (0/1)0%   (0/26)0%   (0/7)
testNonExistentAssetUrl (): void 0%   (0/1)0%   (0/29)0%   (0/9)
testNonExistentResourceUrl (): void 0%   (0/1)0%   (0/29)0%   (0/9)
testOnReceivedErrorOnInvalidScheme (): void 0%   (0/1)0%   (0/29)0%   (0/9)
testOnReceivedErrorOnInvalidUrl (): void 0%   (0/1)0%   (0/32)0%   (0/9)

1// Copyright (c) 2012 The Chromium Authors. 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.
4 
5package org.chromium.android_webview.test;
6 
7import android.test.suitebuilder.annotation.MediumTest;
8import android.webkit.WebSettings;
9 
10import org.chromium.android_webview.AwContents;
11import org.chromium.android_webview.AndroidProtocolHandler;
12import org.chromium.android_webview.ErrorCodeConversionHelper;
13import org.chromium.base.test.util.Feature;
14import org.chromium.content.browser.ContentViewCore;
15import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
16 
17import java.util.concurrent.TimeUnit;
18 
19/**
20 * Tests for the ContentViewClient.onReceivedError() method.
21 */
22public class ClientOnReceivedErrorTest extends AwTestBase {
23 
24    private TestAwContentsClient mContentsClient;
25    private AwContents mAwContents;
26 
27    @Override
28    public void setUp() throws Exception {
29        super.setUp();
30        mContentsClient = new TestAwContentsClient();
31        final AwTestContainerView testContainerView =
32                createAwTestContainerViewOnMainSync(mContentsClient);
33        mAwContents = testContainerView.getAwContents();
34    }
35 
36    @MediumTest
37    @Feature({"AndroidWebView"})
38    public void testOnReceivedErrorOnInvalidUrl() throws Throwable {
39        TestCallbackHelperContainer.OnReceivedErrorHelper onReceivedErrorHelper =
40                mContentsClient.getOnReceivedErrorHelper();
41 
42        String url = "http://man.id.be.really.surprised.if.this.address.existed.blah/";
43        int onReceivedErrorCallCount = onReceivedErrorHelper.getCallCount();
44        loadUrlAsync(mAwContents, url);
45 
46        onReceivedErrorHelper.waitForCallback(onReceivedErrorCallCount,
47                                              1 /* numberOfCallsToWaitFor */,
48                                              WAIT_TIMEOUT_SECONDS,
49                                              TimeUnit.SECONDS);
50        assertEquals(ErrorCodeConversionHelper.ERROR_HOST_LOOKUP,
51                onReceivedErrorHelper.getErrorCode());
52        assertEquals(url, onReceivedErrorHelper.getFailingUrl());
53        assertNotNull(onReceivedErrorHelper.getDescription());
54    }
55 
56    @MediumTest
57    @Feature({"AndroidWebView"})
58    public void testOnReceivedErrorOnInvalidScheme() throws Throwable {
59        TestCallbackHelperContainer.OnReceivedErrorHelper onReceivedErrorHelper =
60                mContentsClient.getOnReceivedErrorHelper();
61 
62        String url = "foo://some/resource";
63        int onReceivedErrorCallCount = onReceivedErrorHelper.getCallCount();
64        loadUrlAsync(mAwContents, url);
65 
66        onReceivedErrorHelper.waitForCallback(onReceivedErrorCallCount);
67        assertEquals(ErrorCodeConversionHelper.ERROR_UNSUPPORTED_SCHEME,
68                onReceivedErrorHelper.getErrorCode());
69        assertEquals(url, onReceivedErrorHelper.getFailingUrl());
70        assertNotNull(onReceivedErrorHelper.getDescription());
71    }
72 
73    @MediumTest
74    @Feature({"AndroidWebView"})
75    public void testNoErrorOnFailedSubresourceLoad() throws Throwable {
76        TestCallbackHelperContainer.OnReceivedErrorHelper onReceivedErrorHelper =
77                mContentsClient.getOnReceivedErrorHelper();
78        TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
79                mContentsClient.getOnPageFinishedHelper();
80 
81        int currentCallCount = onPageFinishedHelper.getCallCount();
82        loadDataAsync(mAwContents,
83                      "<html><iframe src=\"http//invalid.url.co/\" /></html>",
84                      "text/html",
85                      false);
86 
87        onPageFinishedHelper.waitForCallback(currentCallCount);
88        assertEquals(0, onReceivedErrorHelper.getCallCount());
89    }
90 
91    @MediumTest
92    @Feature({"AndroidWebView"})
93    public void testNonExistentAssetUrl() throws Throwable {
94        TestCallbackHelperContainer.OnReceivedErrorHelper onReceivedErrorHelper =
95                mContentsClient.getOnReceivedErrorHelper();
96        final String url = "file:///android_asset/does_not_exist.html";
97        int onReceivedErrorCallCount = onReceivedErrorHelper.getCallCount();
98        loadUrlAsync(mAwContents, url);
99 
100        onReceivedErrorHelper.waitForCallback(onReceivedErrorCallCount);
101        assertEquals(ErrorCodeConversionHelper.ERROR_UNKNOWN,
102                     onReceivedErrorHelper.getErrorCode());
103        assertEquals(url, onReceivedErrorHelper.getFailingUrl());
104        assertNotNull(onReceivedErrorHelper.getDescription());
105    }
106 
107    @MediumTest
108    @Feature({"AndroidWebView"})
109    public void testNonExistentResourceUrl() throws Throwable {
110        TestCallbackHelperContainer.OnReceivedErrorHelper onReceivedErrorHelper =
111                mContentsClient.getOnReceivedErrorHelper();
112        final String url = "file:///android_res/raw/does_not_exist.html";
113        int onReceivedErrorCallCount = onReceivedErrorHelper.getCallCount();
114        loadUrlAsync(mAwContents, url);
115 
116        onReceivedErrorHelper.waitForCallback(onReceivedErrorCallCount);
117        assertEquals(ErrorCodeConversionHelper.ERROR_UNKNOWN,
118                     onReceivedErrorHelper.getErrorCode());
119        assertEquals(url, onReceivedErrorHelper.getFailingUrl());
120        assertNotNull(onReceivedErrorHelper.getDescription());
121    }
122 
123    @MediumTest
124    @Feature({"AndroidWebView"})
125    public void testCacheMiss() throws Throwable {
126        TestCallbackHelperContainer.OnReceivedErrorHelper onReceivedErrorHelper =
127                mContentsClient.getOnReceivedErrorHelper();
128        final String url = "http://example.com/index.html";
129        int onReceivedErrorCallCount = onReceivedErrorHelper.getCallCount();
130        getAwSettingsOnUiThread(mAwContents).setCacheMode(WebSettings.LOAD_CACHE_ONLY);
131        loadUrlAsync(mAwContents, url);
132 
133        onReceivedErrorHelper.waitForCallback(onReceivedErrorCallCount);
134        assertEquals(ErrorCodeConversionHelper.ERROR_UNKNOWN,
135                     onReceivedErrorHelper.getErrorCode());
136        assertEquals(url, onReceivedErrorHelper.getFailingUrl());
137        assertFalse(onReceivedErrorHelper.getDescription().isEmpty());
138    }
139}

[all classes][org.chromium.android_webview.test]
EMMA 2.0.5312 (C) Vladimir Roubtsov