# Copyright 2014 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/ui.gni")

source_set("test") {
  testonly = true
  sources = [
    "bookmark_test_helpers.cc",
    "bookmark_test_helpers.h",
    "mock_bookmark_model_observer.cc",
    "mock_bookmark_model_observer.h",
    "test_bookmark_client.cc",
    "test_bookmark_client.h",
  ]

  deps = [
    "//base",
    "//components/bookmarks/browser",
    "//testing/gmock",
    "//ui/events/platform",
    "//url",
  ]

  if (use_x11) {
    deps += [ "//ui/events/platform/x11" ]
  }
}
