Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: android_webview/javatests/src/org/chromium/android_webview/test/ClientAddMessageToConsoleTest.java

Issue 11028094: [android_webview] Use AwContents loadUrl method instead of ContentViewCore. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase yet again Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.android_webview.test; 5 package org.chromium.android_webview.test;
6 6
7 import android.test.suitebuilder.annotation.SmallTest; 7 import android.test.suitebuilder.annotation.SmallTest;
8 import android.util.Log; 8 import android.util.Log;
9 9
10 import org.chromium.android_webview.AwContents;
10 import org.chromium.android_webview.AwWebContentsDelegate; 11 import org.chromium.android_webview.AwWebContentsDelegate;
11 import org.chromium.base.test.util.Feature; 12 import org.chromium.base.test.util.Feature;
12 import org.chromium.content.browser.ContentViewCore;
13 13
14 /** 14 /**
15 * Tests for the ContentViewClient.addMessageToConsole() method. 15 * Tests for the ContentViewClient.addMessageToConsole() method.
16 */ 16 */
17 public class ClientAddMessageToConsoleTest extends AndroidWebViewTestBase { 17 public class ClientAddMessageToConsoleTest extends AndroidWebViewTestBase {
18 18
19 // Line number at which the console message is logged in the page returned b y the 19 // Line number at which the console message is logged in the page returned b y the
20 // getLogMessageJavaScriptData method. 20 // getLogMessageJavaScriptData method.
21 private static final int LOG_MESSAGE_JAVASCRIPT_DATA_LINE_NUMBER = 4; 21 private static final int LOG_MESSAGE_JAVASCRIPT_DATA_LINE_NUMBER = 4;
22 22
23 private static final String TEST_MESSAGE_ONE = "Test message one."; 23 private static final String TEST_MESSAGE_ONE = "Test message one.";
24 private static final String TEST_MESSAGE_TWO = "The second test message."; 24 private static final String TEST_MESSAGE_TWO = "The second test message.";
25 25
26 private TestAwContentsClient mContentsClient; 26 private TestAwContentsClient mContentsClient;
27 private ContentViewCore mContentViewCore; 27 private AwContents mAwContents;
28 28
29 @Override 29 @Override
30 public void setUp() throws Exception { 30 public void setUp() throws Exception {
31 super.setUp(); 31 super.setUp();
32 mContentsClient = new TestAwContentsClient(); 32 mContentsClient = new TestAwContentsClient();
33 mContentViewCore = 33 final AwTestContainerView testContainerView =
34 createAwTestContainerViewOnMainSync(mContentsClient).getContentV iewCore(); 34 createAwTestContainerViewOnMainSync(mContentsClient);
35 mAwContents = testContainerView.getAwContents();
35 36
36 getInstrumentation().runOnMainSync(new Runnable() { 37 getInstrumentation().runOnMainSync(new Runnable() {
37 @Override 38 @Override
38 public void run() { 39 public void run() {
39 mContentViewCore.getContentSettings().setJavaScriptEnabled(true) ; 40 mAwContents.getContentViewCore().getContentSettings().setJavaScr iptEnabled(true);
40 } 41 }
41 }); 42 });
42 } 43 }
43 44
44 private static String getLogMessageJavaScriptData(String consoleLogMethod, S tring message) { 45 private static String getLogMessageJavaScriptData(String consoleLogMethod, S tring message) {
45 // The %0A sequence is an encoded newline and is needed to test the sour ce line number. 46 // The %0A sequence is an encoded newline and is needed to test the sour ce line number.
46 return "<html>%0A" + 47 return "<html>%0A" +
47 "<body>%0A" + 48 "<body>%0A" +
48 "<script>%0A" + 49 "<script>%0A" +
49 "console." + consoleLogMethod + "('" + message + "');%0A" + 50 "console." + consoleLogMethod + "('" + message + "');%0A" +
50 "</script>%0A" + 51 "</script>%0A" +
51 "<div>%0A" + 52 "<div>%0A" +
52 "Logging the message [" + message + "] using console." + c onsoleLogMethod + 53 "Logging the message [" + message + "] using console." + c onsoleLogMethod +
53 " method. " + 54 " method. " +
54 "</div>%0A" + 55 "</div>%0A" +
55 "</body>%0A" + 56 "</body>%0A" +
56 "</html>"; 57 "</html>";
57 } 58 }
58 59
59 @SmallTest 60 @SmallTest
60 @Feature({"Android-WebView"}) 61 @Feature({"Android-WebView"})
61 public void testAddMessageToConsoleCalledWithCorrectLevel() throws Throwable { 62 public void testAddMessageToConsoleCalledWithCorrectLevel() throws Throwable {
62 TestAwContentsClient.AddMessageToConsoleHelper addMessageToConsoleHelper = 63 TestAwContentsClient.AddMessageToConsoleHelper addMessageToConsoleHelper =
63 mContentsClient.getAddMessageToConsoleHelper(); 64 mContentsClient.getAddMessageToConsoleHelper();
64 65
65 int callCount = addMessageToConsoleHelper.getCallCount(); 66 int callCount = addMessageToConsoleHelper.getCallCount();
66 loadDataSync(mContentViewCore, mContentsClient.getOnPageFinishedHelper() , 67 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
67 getLogMessageJavaScriptData("error", "msg"), 68 getLogMessageJavaScriptData("error", "msg"),
68 "text/html", false); 69 "text/html", false);
69 addMessageToConsoleHelper.waitForCallback(callCount); 70 addMessageToConsoleHelper.waitForCallback(callCount);
70 assertEquals(AwWebContentsDelegate.LOG_LEVEL_ERROR , 71 assertEquals(AwWebContentsDelegate.LOG_LEVEL_ERROR ,
71 addMessageToConsoleHelper.getLevel()); 72 addMessageToConsoleHelper.getLevel());
72 73
73 callCount = addMessageToConsoleHelper.getCallCount(); 74 callCount = addMessageToConsoleHelper.getCallCount();
74 loadDataSync(mContentViewCore, mContentsClient.getOnPageFinishedHelper() , 75 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
75 getLogMessageJavaScriptData("warn", "msg"), 76 getLogMessageJavaScriptData("warn", "msg"),
76 "text/html", false); 77 "text/html", false);
77 addMessageToConsoleHelper.waitForCallback(callCount); 78 addMessageToConsoleHelper.waitForCallback(callCount);
78 assertEquals(AwWebContentsDelegate.LOG_LEVEL_WARNING , 79 assertEquals(AwWebContentsDelegate.LOG_LEVEL_WARNING ,
79 addMessageToConsoleHelper.getLevel()); 80 addMessageToConsoleHelper.getLevel());
80 81
81 callCount = addMessageToConsoleHelper.getCallCount(); 82 callCount = addMessageToConsoleHelper.getCallCount();
82 loadDataSync(mContentViewCore, mContentsClient.getOnPageFinishedHelper() , 83 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
83 getLogMessageJavaScriptData("log", "msg"), 84 getLogMessageJavaScriptData("log", "msg"),
84 "text/html", false); 85 "text/html", false);
85 addMessageToConsoleHelper.waitForCallback(callCount); 86 addMessageToConsoleHelper.waitForCallback(callCount);
86 assertEquals(AwWebContentsDelegate.LOG_LEVEL_LOG , 87 assertEquals(AwWebContentsDelegate.LOG_LEVEL_LOG ,
87 addMessageToConsoleHelper.getLevel()); 88 addMessageToConsoleHelper.getLevel());
88 89
89 // Can't test LOG_LEVEL_TIP as there's no way to generate a message at t hat log level 90 // Can't test LOG_LEVEL_TIP as there's no way to generate a message at t hat log level
90 // directly using JavaScript. 91 // directly using JavaScript.
91 } 92 }
92 93
93 @SmallTest 94 @SmallTest
94 @Feature({"Android-WebView"}) 95 @Feature({"Android-WebView"})
95 public void testAddMessageToConsoleCalledWithCorrectMessage() throws Throwab le { 96 public void testAddMessageToConsoleCalledWithCorrectMessage() throws Throwab le {
96 TestAwContentsClient.AddMessageToConsoleHelper addMessageToConsoleHelper = 97 TestAwContentsClient.AddMessageToConsoleHelper addMessageToConsoleHelper =
97 mContentsClient.getAddMessageToConsoleHelper(); 98 mContentsClient.getAddMessageToConsoleHelper();
98 99
99 int callCount = addMessageToConsoleHelper.getCallCount(); 100 int callCount = addMessageToConsoleHelper.getCallCount();
100 loadDataSync(mContentViewCore, mContentsClient.getOnPageFinishedHelper() , 101 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
101 getLogMessageJavaScriptData("log", TEST_MESSAGE_ONE), 102 getLogMessageJavaScriptData("log", TEST_MESSAGE_ONE),
102 "text/html", false); 103 "text/html", false);
103 Log.w("test", getLogMessageJavaScriptData("log", TEST_MESSAGE_ONE)); 104 Log.w("test", getLogMessageJavaScriptData("log", TEST_MESSAGE_ONE));
104 addMessageToConsoleHelper.waitForCallback(callCount); 105 addMessageToConsoleHelper.waitForCallback(callCount);
105 assertEquals(TEST_MESSAGE_ONE, addMessageToConsoleHelper.getMessage()); 106 assertEquals(TEST_MESSAGE_ONE, addMessageToConsoleHelper.getMessage());
106 107
107 callCount = addMessageToConsoleHelper.getCallCount(); 108 callCount = addMessageToConsoleHelper.getCallCount();
108 loadDataSync(mContentViewCore, mContentsClient.getOnPageFinishedHelper() , 109 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
109 getLogMessageJavaScriptData("log", TEST_MESSAGE_TWO), 110 getLogMessageJavaScriptData("log", TEST_MESSAGE_TWO),
110 "text/html", false); 111 "text/html", false);
111 addMessageToConsoleHelper.waitForCallback(callCount); 112 addMessageToConsoleHelper.waitForCallback(callCount);
112 assertEquals(TEST_MESSAGE_TWO, addMessageToConsoleHelper.getMessage()); 113 assertEquals(TEST_MESSAGE_TWO, addMessageToConsoleHelper.getMessage());
113 } 114 }
114 115
115 @SmallTest 116 @SmallTest
116 @Feature({"Android-WebView"}) 117 @Feature({"Android-WebView"})
117 public void testAddMessageToConsoleCalledWithCorrectLineAndSource() throws T hrowable { 118 public void testAddMessageToConsoleCalledWithCorrectLineAndSource() throws T hrowable {
118 TestAwContentsClient.AddMessageToConsoleHelper addMessageToConsoleHelper = 119 TestAwContentsClient.AddMessageToConsoleHelper addMessageToConsoleHelper =
119 mContentsClient.getAddMessageToConsoleHelper(); 120 mContentsClient.getAddMessageToConsoleHelper();
120 121
121 int callCount = addMessageToConsoleHelper.getCallCount(); 122 int callCount = addMessageToConsoleHelper.getCallCount();
122 String data = getLogMessageJavaScriptData("log", TEST_MESSAGE_ONE); 123 String data = getLogMessageJavaScriptData("log", TEST_MESSAGE_ONE);
123 loadDataSync(mContentViewCore, mContentsClient.getOnPageFinishedHelper() , 124 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
124 data, "text/html", false); 125 data, "text/html", false);
125 addMessageToConsoleHelper.waitForCallback(callCount); 126 addMessageToConsoleHelper.waitForCallback(callCount);
126 assertTrue("Url [" + addMessageToConsoleHelper.getSourceId() + "] expect ed to end with [" + 127 assertTrue("Url [" + addMessageToConsoleHelper.getSourceId() + "] expect ed to end with [" +
127 data + "].", addMessageToConsoleHelper.getSourceId().endsWith (data)); 128 data + "].", addMessageToConsoleHelper.getSourceId().endsWith (data));
128 assertEquals(LOG_MESSAGE_JAVASCRIPT_DATA_LINE_NUMBER, 129 assertEquals(LOG_MESSAGE_JAVASCRIPT_DATA_LINE_NUMBER,
129 addMessageToConsoleHelper.getLineNumber()); 130 addMessageToConsoleHelper.getLineNumber());
130 } 131 }
131 } 132 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698