- add sources.
[platform/framework/web/crosswalk.git] / src / android_webview / javatests / src / org / chromium / android_webview / test / WebViewAsynchronousFindApisTest.java
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
5 package org.chromium.android_webview.test;
6
7 import android.test.suitebuilder.annotation.SmallTest;
8
9 import org.chromium.base.test.util.DisabledTest;
10 import org.chromium.base.test.util.Feature;
11
12 /**
13  * Tests the asynchronous find-in-page APIs in WebView.
14  */
15 public class WebViewAsynchronousFindApisTest extends WebViewFindApisTestBase {
16
17     @SmallTest
18     @Feature({"AndroidWebView", "FindInPage"})
19     public void testFindAllFinds() throws Throwable {
20         assertEquals(4, findAllAsyncOnUiThread("wood"));
21     }
22
23     @SmallTest
24     @Feature({"AndroidWebView", "FindInPage"})
25     public void testFindAllDouble() throws Throwable {
26         findAllAsyncOnUiThread("wood");
27         assertEquals(4, findAllAsyncOnUiThread("chuck"));
28     }
29
30     /*
31     @SmallTest
32     @Feature({"AndroidWebView", "FindInPage"})
33     crbug.com/311495
34     */
35     @DisabledTest
36     public void testFindAllDoubleNext() throws Throwable {
37         assertEquals(4, findAllAsyncOnUiThread("wood"));
38         assertEquals(4, findAllAsyncOnUiThread("wood"));
39         assertEquals(1, findNextOnUiThread(true));
40     }
41
42     @SmallTest
43     @Feature({"AndroidWebView", "FindInPage"})
44     public void testFindAllDoesNotFind() throws Throwable {
45         assertEquals(0, findAllAsyncOnUiThread("foo"));
46     }
47
48     @SmallTest
49     @Feature({"AndroidWebView", "FindInPage"})
50     public void testFindAllEmptyPage() throws Throwable {
51         assertEquals(0, findAllAsyncOnUiThread("foo"));
52     }
53
54     @SmallTest
55     @Feature({"AndroidWebView", "FindInPage"})
56     public void testFindAllEmptyString() throws Throwable {
57         assertEquals(0, findAllAsyncOnUiThread(""));
58     }
59
60     @SmallTest
61     @Feature({"AndroidWebView", "FindInPage"})
62     public void testFindNextForward() throws Throwable {
63         assertEquals(4, findAllAsyncOnUiThread("wood"));
64
65         for (int i = 2; i <= 4; i++) {
66             assertEquals(i - 1, findNextOnUiThread(true));
67         }
68         assertEquals(0, findNextOnUiThread(true));
69     }
70
71     @SmallTest
72     @Feature({"AndroidWebView", "FindInPage"})
73     public void testFindNextBackward() throws Throwable {
74         assertEquals(4, findAllAsyncOnUiThread("wood"));
75
76         for (int i = 4; i >= 1; i--) {
77             assertEquals(i - 1, findNextOnUiThread(false));
78         }
79         assertEquals(3, findNextOnUiThread(false));
80     }
81
82     @SmallTest
83     @Feature({"AndroidWebView", "FindInPage"})
84     public void testFindNextBig() throws Throwable {
85         assertEquals(4, findAllAsyncOnUiThread("wood"));
86
87         assertEquals(1, findNextOnUiThread(true));
88         assertEquals(0, findNextOnUiThread(false));
89         assertEquals(3, findNextOnUiThread(false));
90         for (int i = 1; i <= 4; i++) {
91             assertEquals(i - 1, findNextOnUiThread(true));
92         }
93         assertEquals(0, findNextOnUiThread(true));
94     }
95
96     @SmallTest
97     @Feature({"AndroidWebView", "FindInPage"})
98     public void testFindAllEmptyNext() throws Throwable {
99         assertEquals(4, findAllAsyncOnUiThread("wood"));
100         assertEquals(1, findNextOnUiThread(true));
101         assertEquals(0, findAllAsyncOnUiThread(""));
102         assertEquals(0, findNextOnUiThread(true));
103         assertEquals(0, findAllAsyncOnUiThread(""));
104         assertEquals(4, findAllAsyncOnUiThread("wood"));
105         assertEquals(1, findNextOnUiThread(true));
106     }
107
108     @SmallTest
109     @Feature({"AndroidWebView", "FindInPage"})
110     public void testClearMatches() throws Throwable {
111         assertEquals(4, findAllAsyncOnUiThread("wood"));
112         clearMatchesOnUiThread();
113     }
114
115     /*
116     @SmallTest
117     @Feature({"AndroidWebView", "FindInPage"})
118     crbug.com/311495
119     */
120     @DisabledTest
121     public void testClearFindNext() throws Throwable {
122         assertEquals(4, findAllAsyncOnUiThread("wood"));
123         clearMatchesOnUiThread();
124         assertEquals(4, findAllAsyncOnUiThread("wood"));
125         assertEquals(1, findNextOnUiThread(true));
126     }
127
128     @SmallTest
129     @Feature({"AndroidWebView", "FindInPage"})
130     public void testFindEmptyNext() throws Throwable {
131         assertEquals(0, findAllAsyncOnUiThread(""));
132         assertEquals(0, findNextOnUiThread(true));
133         assertEquals(4, findAllAsyncOnUiThread("wood"));
134     }
135
136     @SmallTest
137     @Feature({"AndroidWebView", "FindInPage"})
138     public void testFindNextFirst() throws Throwable {
139         runTestOnUiThread(new Runnable() {
140             @Override
141             public void run() {
142                 contents().findNext(true);
143             }
144         });
145         assertEquals(4, findAllAsyncOnUiThread("wood"));
146         assertEquals(1, findNextOnUiThread(true));
147         assertEquals(0, findNextOnUiThread(false));
148         assertEquals(3, findNextOnUiThread(false));
149     }
150 }