# Copyright 2013 The Flutter 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("//flutter/common/config.gni")
import("//flutter/impeller/tools/impeller.gni")

impeller_component("golden_playground_test") {
  testonly = true

  sources = [ "golden_playground_test.h" ]

  deps = [
    ":digest",
    "//flutter/fml",
    "//flutter/impeller/aiks",
    "//flutter/impeller/playground",
    "//flutter/testing:testing_lib",
  ]

  if (is_mac) {
    sources += [ "golden_playground_test_mac.cc" ]
    deps += [ ":metal_screenshot" ]
  } else {
    sources += [ "golden_playground_test_stub.cc" ]
  }
}

impeller_component("digest") {
  testonly = true

  sources = [
    "golden_digest.cc",
    "golden_digest.h",
    "working_directory.cc",
    "working_directory.h",
  ]

  deps = [ "//flutter/fml" ]
}

if (is_mac) {
  impeller_component("metal_screenshot") {
    testonly = true

    sources = [
      "metal_screenshot.h",
      "metal_screenshot.mm",
      "metal_screenshoter.h",
      "metal_screenshoter.mm",
    ]

    deps = [
      "//flutter/impeller/aiks",
      "//flutter/impeller/playground",
      "//flutter/impeller/renderer/backend/metal:metal",
    ]
  }

  impeller_component("impeller_golden_tests") {
    target_type = "executable"

    testonly = true

    sources = [
      "golden_tests.cc",
      "main.cc",
    ]

    deps = [
      ":digest",
      ":metal_screenshot",
      "//flutter/impeller/aiks",
      "//flutter/impeller/aiks:aiks_unittests_golden",
      "//flutter/impeller/fixtures",
      "//third_party/googletest:gtest",
      "//third_party/swiftshader",
    ]
  }
}
