# Copyright 2025 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//chrome/common/features.gni")
import("//ui/views/features.gni")

source_set("test_support") {
  testonly = true
  sources = [
    "fake_contextual_cueing_service.cc",
    "fake_contextual_cueing_service.h",
    "glic_api_test.cc",
    "glic_api_test.h",
    "glic_browser_test.h",
    "glic_histogram_tester.h",
    "glic_test_environment.cc",
    "glic_test_environment.h",
    "glic_test_tab_added_waiter.cc",
    "glic_test_tab_added_waiter.h",
    "glic_test_util.cc",
    "glic_test_util.h",
    "mock_glic_instance.cc",
    "mock_glic_instance.h",
    "mock_glic_instance_coordinator.cc",
    "mock_glic_instance_coordinator.h",
    "mock_glic_keyed_service.cc",
    "mock_glic_keyed_service.h",
    "test_result.h",
  ]
  if (!is_android) {
    sources += [
      "glic_functional_browsertest.cc",
      "glic_functional_browsertest.h",
      "interactive_glic_test.cc",
      "interactive_glic_test.h",
      "interactive_test_util.cc",
      "interactive_test_util.h",
      "mock_local_hotkey_panel.cc",
      "mock_local_hotkey_panel.h",
      "non_interactive_glic_test.cc",
      "non_interactive_glic_test.h",
    ]
  }
  deps = [
    "//chrome/browser/actor:test_support",
    "//chrome/browser/glic",
    "//chrome/browser/glic:impl",
    "//chrome/browser/glic/common",
    "//chrome/browser/tab_list",
    "//chrome/browser/ui:ui_features",
    "//chrome/browser/ui/browser_window:create_browser_window",
    "//chrome/browser/ui/side_panel",
    "//chrome/browser/ui/side_panel:side_panel_ui_provider",
    "//chrome/browser/ui/side_panel:side_panel_views_dependent",
    "//components/feature_engagement/test:test_support",
    "//components/signin/public/identity_manager:test_support",
    "//components/skills:features",
  ]
  if (enable_desktop_aura || is_mac) {
    deps += [ "//ui/views:test_support" ]
  }
  if (is_android) {
    sources += [ "glic_test_environment_android.cc" ]
  }
  if (!is_android) {
    deps += [
      "//chrome/browser/actor",
      "//chrome/browser/actor/ui",
      "//chrome/browser/glic/browser_ui",
      "//ui/events:test_support",
    ]
  } else {
    deps += [
      "//chrome/browser/glic/android:test_support_jni_headers",
      "//chrome/browser/ui/side_panel/android",
      "//components/signin/public/android:jni_headers",
      "//google_apis/gaia/android:jni_headers",
    ]
  }
  public_deps = [
    "//chrome/browser/glic:impl",
    "//chrome/test:test_support",
  ]
  if (!is_android) {
    public_deps += [ "//chrome/test/user_education:impl" ]
  }

  # TODO(crbug.com/432285114): Fix code that adds exit-time destructors and
  # enable the diagnostic by removing this line.
  configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}
