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

import("//build/config/features.gni")
import("//testing/test.gni")
import("//tools/grit/repack.gni")

if (is_android) {
  import("//build/config/android/rules.gni")
}

if (!is_ios) {
  test("offline_pages_unittests") {
    deps = [
      ":unit_tests",
      "//components/test:run_all_unittests",
    ]

    if (is_android) {
      # renovations tests depend on content shell and UI.  For some reason.
      # these deps need to be on the test() target and not the source_set
      # for renovations.
      deps += [
        "//content/shell/android:content_shell_assets",
        "//net/android:net_java",
        "//ui/android:ui_java",
      ]
    }
  }

  group("unit_tests") {
    testonly = true
    deps = [
      "//components/offline_pages/content/background_loader:unit_tests",
      "//components/offline_pages/core:unit_tests",
      "//components/offline_pages/core/background:unit_tests",
      "//components/offline_pages/core/downloads:unit_tests",
      "//components/offline_pages/core/prefetch:unit_tests",
      "//components/offline_pages/core/request_header:unit_tests",
      "//components/offline_pages/task:unit_tests",
    ]
  }
}
