summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-02-17 12:44:07 -0800
committerJohn Reck <jreck@google.com>2011-02-17 13:24:22 -0800
commit57928453a0996396a7a899cd4637d3e8865b1f97 (patch)
tree2cd295b3f253a6dd8692f047a54b2e57edaec577
parent15c0f987a09f24658946ce58dfb5a71dc0f04450 (diff)
downloadpackages_apps_browser-57928453a0996396a7a899cd4637d3e8865b1f97.zip
packages_apps_browser-57928453a0996396a7a899cd4637d3e8865b1f97.tar.gz
packages_apps_browser-57928453a0996396a7a899cd4637d3e8865b1f97.tar.bz2
Fix updatescreenshot behavior
Bug: 3466250 URL query parameters are imporant, don't strip them Change-Id: I9c43598f56150470658485364aadfd0425bfa8cd
-rw-r--r--src/com/android/browser/Bookmarks.java19
-rw-r--r--tests/src/com/android/browser/tests/BookmarksTests.java64
2 files changed, 68 insertions, 15 deletions
diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/browser/Bookmarks.java
index beea489..e7dc729 100644
--- a/src/com/android/browser/Bookmarks.java
+++ b/src/com/android/browser/Bookmarks.java
@@ -39,7 +39,7 @@ import java.io.ByteArrayOutputStream;
/**
* This class is purely to have a common place for adding/deleting bookmarks.
*/
-/* package */ class Bookmarks {
+public class Bookmarks {
// We only want the user to be able to bookmark content that
// the browser can handle directly.
private static final String acceptableBookmarkSchemes[] = {
@@ -162,11 +162,9 @@ import java.io.ByteArrayOutputStream;
static final String QUERY_BOOKMARKS_WHERE =
Combined.URL + " == ? OR " +
- Combined.URL + " == ? OR " +
- Combined.URL + " LIKE ? || '%' OR " +
- Combined.URL + " LIKE ? || '%'";
+ Combined.URL + " == ?";
- /* package */ static Cursor queryCombinedForUrl(ContentResolver cr,
+ public static Cursor queryCombinedForUrl(ContentResolver cr,
String originalUrl, String url) {
if (cr == null || url == null) {
return null;
@@ -179,17 +177,8 @@ import java.io.ByteArrayOutputStream;
// Look for both the original url and the actual url. This takes in to
// account redirects.
- String originalUrlNoQuery = removeQuery(originalUrl);
- String urlNoQuery = removeQuery(url);
- originalUrl = originalUrlNoQuery + '?';
- url = urlNoQuery + '?';
- // Use NoQuery to search for the base url (i.e. if the url is
- // http://www.yahoo.com/?rs=1, search for http://www.yahoo.com)
- // Use url to match the base url with other queries (i.e. if the url is
- // http://www.google.com/m, search for
- // http://www.google.com/m?some_query)
- final String[] selArgs = new String[] { originalUrlNoQuery, urlNoQuery, originalUrl, url };
+ final String[] selArgs = new String[] { originalUrl, url };
final String[] projection = new String[] { Combined.URL };
return cr.query(Combined.CONTENT_URI, projection, QUERY_BOOKMARKS_WHERE, selArgs, null);
}
diff --git a/tests/src/com/android/browser/tests/BookmarksTests.java b/tests/src/com/android/browser/tests/BookmarksTests.java
new file mode 100644
index 0000000..bd1a1b2
--- /dev/null
+++ b/tests/src/com/android/browser/tests/BookmarksTests.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.browser.tests;
+
+import com.android.browser.Bookmarks;
+import com.android.browser.tests.utils.BP2TestCaseHelper;
+
+import android.content.ContentResolver;
+import android.database.Cursor;
+import android.test.suitebuilder.annotation.SmallTest;
+
+/**
+ * Extends from BP2TestCaseHelper for the helper methods
+ * and to get the mock database
+ */
+@SmallTest
+public class BookmarksTests extends BP2TestCaseHelper {
+
+ public void testQueryCombinedForUrl() {
+ // First, add some bookmarks
+ assertNotNull(insertBookmark(
+ "http://google.com/search?q=test", "Test search"));
+ assertNotNull(insertBookmark(
+ "http://google.com/search?q=mustang", "Mustang search"));
+ assertNotNull(insertBookmark(
+ "http://google.com/search?q=aliens", "Aliens search"));
+ ContentResolver cr = getMockContentResolver();
+
+ Cursor c = null;
+ try {
+ // First, search for a match
+ String url = "http://google.com/search?q=test";
+ c = Bookmarks.queryCombinedForUrl(cr, null, url);
+ assertEquals(1, c.getCount());
+ assertTrue(c.moveToFirst());
+ assertEquals(url, c.getString(0));
+ c.close();
+
+ // Next, search for no match
+ url = "http://google.com/search";
+ c = Bookmarks.queryCombinedForUrl(cr, null, url);
+ assertEquals(0, c.getCount());
+ assertFalse(c.moveToFirst());
+ c.close();
+ } finally {
+ if (c != null) c.close();
+ }
+ }
+
+}