summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/launcher3/allapps/search
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-05-07 11:56:00 -0700
committerSunny Goyal <sunnygoyal@google.com>2017-05-08 14:43:32 -0700
commit161f96bc77805ed87f831b68e51fad61a23153bc (patch)
treea3f74eb9dcac6dd4673a51122ac62e5e92aea676 /tests/src/com/android/launcher3/allapps/search
parentb73fa5d7a46e840df13b2d5fb8ae956344524c3e (diff)
downloadandroid_packages_apps_Trebuchet-161f96bc77805ed87f831b68e51fad61a23153bc.tar.gz
android_packages_apps_Trebuchet-161f96bc77805ed87f831b68e51fad61a23153bc.tar.bz2
android_packages_apps_Trebuchet-161f96bc77805ed87f831b68e51fad61a23153bc.zip
Moving apps search related logic into a custom layout file
This will allow derivative projects to easily change the search behavior by simply overriding the xml file Bug: 37616877 Change-Id: Ib8d6a2dab06819a52611e9a3d97c70c5a49bbf97
Diffstat (limited to 'tests/src/com/android/launcher3/allapps/search')
-rw-r--r--tests/src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithmTest.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithmTest.java b/tests/src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithmTest.java
new file mode 100644
index 000000000..20b23b070
--- /dev/null
+++ b/tests/src/com/android/launcher3/allapps/search/DefaultAppSearchAlgorithmTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2016 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.launcher3.allapps.search;
+
+import android.content.ComponentName;
+import android.test.InstrumentationTestCase;
+
+import com.android.launcher3.AppInfo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Unit tests for {@link DefaultAppSearchAlgorithm}
+ */
+public class DefaultAppSearchAlgorithmTest extends InstrumentationTestCase {
+
+ private List<AppInfo> mAppsList;
+ private DefaultAppSearchAlgorithm mAlgorithm;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mAppsList = new ArrayList<>();
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ mAlgorithm = new DefaultAppSearchAlgorithm(mAppsList);
+ }
+ });
+ }
+
+ public void testMatches() {
+ assertTrue(mAlgorithm.matches(getInfo("white cow"), "cow"));
+ assertTrue(mAlgorithm.matches(getInfo("whiteCow"), "cow"));
+ assertTrue(mAlgorithm.matches(getInfo("whiteCOW"), "cow"));
+ assertTrue(mAlgorithm.matches(getInfo("whitecowCOW"), "cow"));
+ assertTrue(mAlgorithm.matches(getInfo("white2cow"), "cow"));
+
+ assertFalse(mAlgorithm.matches(getInfo("whitecow"), "cow"));
+ assertFalse(mAlgorithm.matches(getInfo("whitEcow"), "cow"));
+
+ assertTrue(mAlgorithm.matches(getInfo("whitecowCow"), "cow"));
+ assertTrue(mAlgorithm.matches(getInfo("whitecow cow"), "cow"));
+ assertFalse(mAlgorithm.matches(getInfo("whitecowcow"), "cow"));
+ assertFalse(mAlgorithm.matches(getInfo("whit ecowcow"), "cow"));
+
+ assertTrue(mAlgorithm.matches(getInfo("cats&dogs"), "dog"));
+ assertTrue(mAlgorithm.matches(getInfo("cats&Dogs"), "dog"));
+ assertTrue(mAlgorithm.matches(getInfo("cats&Dogs"), "&"));
+
+ assertTrue(mAlgorithm.matches(getInfo("2+43"), "43"));
+ assertFalse(mAlgorithm.matches(getInfo("2+43"), "3"));
+
+ assertTrue(mAlgorithm.matches(getInfo("Q"), "q"));
+ assertTrue(mAlgorithm.matches(getInfo(" Q"), "q"));
+
+ // match lower case words
+ assertTrue(mAlgorithm.matches(getInfo("elephant"), "e"));
+
+ }
+
+ private AppInfo getInfo(String title) {
+ AppInfo info = new AppInfo();
+ info.title = title;
+ info.componentName = new ComponentName("Test", title);
+ return info;
+ }
+}