assistive suggester client filter: test GURL optional, and fix results

Empty strings for urls now cause the test to return absl::nullopt for
GURL. This reflects actual behaviour when there is no url.

The previous tests were wrong, they assumed that it will not be blanket
disabled for every suggester if url doesn't exist.

Fixed every test so that android apps will have no url and be disabled, but extensions will have an "extension" url which is how they work in real devices.

Left android tests in so that they can be easily toggled if it turns out to be intentional and also to give us better test coverage of real android app names.

Bug: b/245469813
Change-Id: I9664e9c939d38d8f6a4acc18d382d98573270be3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3877067
Reviewed-by: Darren Shen <shend@chromium.org>
Reviewed-by: Bao-Duy Tran <tranbaoduy@chromium.org>
Auto-Submit: jhtin <jhtin@chromium.org>
Commit-Queue: jhtin <jhtin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1044919}
diff --git a/chrome/browser/ash/input_method/assistive_suggester_client_filter_unittest.cc b/chrome/browser/ash/input_method/assistive_suggester_client_filter_unittest.cc
index 35d076a..9f9ee25 100644
--- a/chrome/browser/ash/input_method/assistive_suggester_client_filter_unittest.cc
+++ b/chrome/browser/ash/input_method/assistive_suggester_client_filter_unittest.cc
@@ -20,7 +20,9 @@
 base::RepeatingCallback<void(GetFocusedTabUrlCallback)> ReturnUrl(
     const std::string& url) {
   return base::BindLambdaForTesting([url](GetFocusedTabUrlCallback callback) {
-    std::move(callback).Run(GURL(url));
+    absl::optional<GURL> gurl =
+        url.empty() ? absl::nullopt : absl::optional<GURL>(GURL(url));
+    std::move(callback).Run(gurl);
   });
 }
 
@@ -265,134 +267,140 @@
                             .multi_word_suggestions = true,
                             .personal_info_suggestions = true,
                             .diacritic_suggestions = true}},
-        {"SystemTextApp", /* url=*/"",
+        {"SystemTextApp",
+         /* url=*/"chrome-extension://mmfbcljfglbokpmkimbfghdkjmjhdgbg",
          /* app_id=*/"mmfbcljfglbokpmkimbfghdkjmjhdgbg",
          /* arc_package_name=*/"",
          EnabledSuggestions{.emoji_suggestions = true,
                             .multi_word_suggestions = true,
                             .personal_info_suggestions = true,
                             .diacritic_suggestions = true}},
-        {"ChromeSSHApp", /* url=*/"",
+        {"ChromeSSHApp",
+         /* url=*/"chrome-extension://iodihamcpbpeioajjeobimgagajmlibd",
          /* app_id=*/"iodihamcpbpeioajjeobimgagajmlibd",
          /* arc_package_name=*/"",
          EnabledSuggestions{.emoji_suggestions = false,
                             .multi_word_suggestions = false,
                             .personal_info_suggestions = false,
                             .diacritic_suggestions = false}},
+        // TODO(b/245469813): Investigate if denied is intentional:
+        // These tests currently exist because of the allowlists for arc++ apps
+        // that imply these should be run. However, our current logic disables
+        // all suggesters if there is no url.
         {"DiscordApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.discord",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"OrcaFacebookApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.facebook.orca",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"WhatsappApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.whatsapp",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"RaiderSkypeApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.skype.raider",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"TachyonGoogleApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.google.android.apps.tachyon",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"TalkGoogleApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.google.android.talk",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"TelegramApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"org.telegram.messenger",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"TextNowEnflickApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.enflick.android.TextNow",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"MliteFacebookApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.facebook.mlite",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"VoipViberApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.viber.voip",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"M2SkypeApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.skype.m2",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"ImoimImoApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.imo.android.imoim",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"GooglevoiceGoogleApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.google.android.apps.googlevoice",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"MobilemessengerPlaystationApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.playstation.mobilemessenger",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"KikApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"kik.android",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"LinkApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.link.messages.sms",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"NaverApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"jp.naver.line.android",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"HappybitsApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"co.happybits.marcopolo",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
         {"ImoApp", /* url=*/"", /* app_id=*/"",
          /* arc_package_name=*/"com.imo.android.imous",
-         EnabledSuggestions{.emoji_suggestions = true,
-                            .multi_word_suggestions = true,
-                            .personal_info_suggestions = true,
-                            .diacritic_suggestions = true}},
+         EnabledSuggestions{.emoji_suggestions = false,
+                            .multi_word_suggestions = false,
+                            .personal_info_suggestions = false,
+                            .diacritic_suggestions = false}},
     }),
     [](const testing::TestParamInfo<SuggesterAllowlist::ParamType>& info) {
       return info.param.test_name;