[ui][testing] virtual-keyboard-test: use fonts.cm

Bug: 99179
Test: fx test virtual-keyboard-test
Change-Id: Ie765a0406dcb9bc40ad1b1dc5b492a5b5a7ca3cb
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/688751
Commit-Queue: Caroline Liu <carolineliu@google.com>
Reviewed-by: Konstantin Pozin <kpozin@google.com>
diff --git a/src/ui/tests/integration_input_tests/virtual-keyboard/BUILD.gn b/src/ui/tests/integration_input_tests/virtual-keyboard/BUILD.gn
index f2ceebc..c9253f9 100644
--- a/src/ui/tests/integration_input_tests/virtual-keyboard/BUILD.gn
+++ b/src/ui/tests/integration_input_tests/virtual-keyboard/BUILD.gn
@@ -4,6 +4,7 @@
 
 import("//build/components.gni")
 import("//build/fidl/fidl.gni")
+import("//src/fonts/build/fonts.gni")
 
 fidl("test.virtualkeyboard") {
   sdk_category = "internal"
@@ -11,6 +12,13 @@
   public_deps = [ "//zircon/vdso/zx" ]
 }
 
+font_collection("single-font-collection") {
+  testonly = true
+  product_config_path = "single-font-collection.fontcfg.json5"
+  local_asset_names = [ "Roboto-Regular.ttf" ]
+  font_service_pkg = "virtual-keyboard-test"
+}
+
 executable("virtual-keyboard-test-bin") {
   testonly = true
   sources = [ "virtual-keyboard-test.cc" ]
@@ -24,6 +32,7 @@
     "//sdk/fidl/fuchsia.fonts",
     "//sdk/fidl/fuchsia.input.virtualkeyboard",
     "//sdk/fidl/fuchsia.intl",
+    "//sdk/fidl/fuchsia.io",
     "//sdk/fidl/fuchsia.memorypressure",
     "//sdk/fidl/fuchsia.netstack",
     "//sdk/fidl/fuchsia.posix.socket",
@@ -67,9 +76,11 @@
 fuchsia_test_package("virtual-keyboard-test") {
   test_components = [ ":virtual-keyboard-test-component" ]
   deps = [
+    ":single-font-collection",
     "//src/connectivity/network/netstack:component",
     "//src/developer/build_info/testing:fake-build-info-component",
     "//src/developer/memory/monitor:component",
+    "//src/fonts:font_provider_cm",
     "//src/testing/fidl/intl_property_manager:intl_property_manager_component",
     "//src/ui/a11y/testing:fake-a11y-manager",
     "//src/ui/bin/root_presenter:component_v2_for_test",
@@ -180,7 +191,6 @@
 
     # The deps below are necessary on minimal product configs.
     "//src/chromium:web_engine",
-    "//src/fonts:downstream_test_deps",
     "//src/graphics/bin/vulkan_loader",
   ]
 }
@@ -192,7 +202,6 @@
   deps = [
     ":virtual-keyboard-test",
     ":virtual-keyboard-test-ip",
-    "//src/fonts:downstream_test_deps",
     "//src/graphics/bin/vulkan_loader",
   ]
 }
diff --git a/src/ui/tests/integration_input_tests/virtual-keyboard/meta/virtual-keyboard-test.cml b/src/ui/tests/integration_input_tests/virtual-keyboard/meta/virtual-keyboard-test.cml
index 8c03f1b..123473b 100644
--- a/src/ui/tests/integration_input_tests/virtual-keyboard/meta/virtual-keyboard-test.cml
+++ b/src/ui/tests/integration_input_tests/virtual-keyboard/meta/virtual-keyboard-test.cml
@@ -25,5 +25,12 @@
             from: "parent",
             to: "#realm_builder",
         },
+        {
+            directory: "config-data",
+            from: "parent",
+            as: "config-data",
+            to: "#realm_builder",
+            subdir: "virtual-keyboard-test",
+        },
     ],
 }
diff --git a/src/ui/tests/integration_input_tests/virtual-keyboard/single-font-collection.fontcfg.json5 b/src/ui/tests/integration_input_tests/virtual-keyboard/single-font-collection.fontcfg.json5
new file mode 100644
index 0000000..e49e5e7
--- /dev/null
+++ b/src/ui/tests/integration_input_tests/virtual-keyboard/single-font-collection.fontcfg.json5
@@ -0,0 +1,7 @@
+{
+    $schema: "http://fuchsia.com/src/fonts/tools/schemas/fontcfg.schema.json",
+    version: "1",
+    fallback_chain: [
+        "Roboto-Regular.ttf",
+    ],
+}
diff --git a/src/ui/tests/integration_input_tests/virtual-keyboard/virtual-keyboard-test.cc b/src/ui/tests/integration_input_tests/virtual-keyboard/virtual-keyboard-test.cc
index 5abc492..cbe9afc 100644
--- a/src/ui/tests/integration_input_tests/virtual-keyboard/virtual-keyboard-test.cc
+++ b/src/ui/tests/integration_input_tests/virtual-keyboard/virtual-keyboard-test.cc
@@ -9,6 +9,7 @@
 #include <fuchsia/fonts/cpp/fidl.h>
 #include <fuchsia/input/virtualkeyboard/cpp/fidl.h>
 #include <fuchsia/intl/cpp/fidl.h>
+#include <fuchsia/io/cpp/fidl.h>
 #include <fuchsia/memorypressure/cpp/fidl.h>
 #include <fuchsia/net/interfaces/cpp/fidl.h>
 #include <fuchsia/netstack/cpp/fidl.h>
@@ -76,6 +77,7 @@
 
 // Types imported for the realm_builder library.
 using component_testing::ChildRef;
+using component_testing::Directory;
 using component_testing::LocalComponent;
 using component_testing::LocalComponentHandles;
 using component_testing::ParentRef;
@@ -412,7 +414,6 @@
  protected:
   std::vector<std::pair<ChildName, LegacyUrl>> GetTestComponents() override {
     return {
-        std::make_pair(kFontsProvider, kFontsProviderUrl),
         std::make_pair(kWebContextProvider, kWebContextProviderUrl),
     };
   }
@@ -420,6 +421,7 @@
   std::vector<std::pair<ChildName, LegacyUrl>> GetTestV2Components() override {
     return {
         std::make_pair(kBuildInfoProvider, kBuildInfoProviderUrl),
+        std::make_pair(kFontsProvider, kFontsProviderUrl),
         std::make_pair(kIntl, kIntlUrl),
         std::make_pair(kMemoryPressureProvider, kMemoryPressureProviderUrl),
         std::make_pair(kNetstack, kNetstackUrl),
@@ -470,6 +472,13 @@
         {.capabilities = {Protocol{fuchsia::fonts::Provider::Name_}},
          .source = ChildRef{kFontsProvider},
          .targets = {target}},
+        {.capabilities = {Protocol{fuchsia::tracing::provider::Registry::Name_},
+                          Protocol{fuchsia::logger::LogSink::Name_},
+                          Directory{.name = "config-data",
+                                    .rights = fuchsia::io::R_STAR_DIR,
+                                    .path = "/config/data"}},
+         .source = ParentRef(),
+         .targets = {ChildRef{kFontsProvider}}},
         {.capabilities = {Protocol{fuchsia::ui::input3::Keyboard::Name_},
                           Protocol{fuchsia::ui::input::ImeService::Name_}},
          .source = ChildRef{kTextManager},
@@ -524,7 +533,7 @@
 
  private:
   static constexpr auto kFontsProvider = "fonts_provider";
-  static constexpr auto kFontsProviderUrl = "fuchsia-pkg://fuchsia.com/fonts#meta/fonts.cmx";
+  static constexpr auto kFontsProviderUrl = "#meta/fonts.cm";
 
   static constexpr auto kTextManager = "text_manager";
   static constexpr auto kTextManagerUrl = "#meta/text_manager.cm";