# Copyright 2018 The PDFium 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("../../../pdfium.gni")
import("../../../testing/test.gni")

assert(pdf_enable_xfa)

source_set("css") {
  sources = [
    "cfx_css.h",
    "cfx_csscolorvalue.cpp",
    "cfx_csscolorvalue.h",
    "cfx_csscomputedstyle.cpp",
    "cfx_csscomputedstyle.h",
    "cfx_csscustomproperty.cpp",
    "cfx_csscustomproperty.h",
    "cfx_cssdata.cpp",
    "cfx_cssdata.h",
    "cfx_cssdeclaration.cpp",
    "cfx_cssdeclaration.h",
    "cfx_cssenumvalue.cpp",
    "cfx_cssenumvalue.h",
    "cfx_cssinputtextbuf.cpp",
    "cfx_cssinputtextbuf.h",
    "cfx_cssnumbervalue.cpp",
    "cfx_cssnumbervalue.h",
    "cfx_cssoutputtextbuf.cpp",
    "cfx_cssoutputtextbuf.h",
    "cfx_csspropertyholder.cpp",
    "cfx_csspropertyholder.h",
    "cfx_cssrulecollection.cpp",
    "cfx_cssrulecollection.h",
    "cfx_cssselector.cpp",
    "cfx_cssselector.h",
    "cfx_cssstringvalue.cpp",
    "cfx_cssstringvalue.h",
    "cfx_cssstylerule.cpp",
    "cfx_cssstylerule.h",
    "cfx_cssstyleselector.cpp",
    "cfx_cssstyleselector.h",
    "cfx_cssstylesheet.cpp",
    "cfx_cssstylesheet.h",
    "cfx_csssyntaxparser.cpp",
    "cfx_csssyntaxparser.h",
    "cfx_cssvalue.cpp",
    "cfx_cssvalue.h",
    "cfx_cssvaluelist.cpp",
    "cfx_cssvaluelist.h",
    "cfx_cssvaluelistparser.cpp",
    "cfx_cssvaluelistparser.h",
  ]
  deps = [
    "../",
    "../../fxge",
  ]
  configs += [ "../../../:pdfium_strict_config" ]
  visibility = [ "../../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cfx_cssdeclaration_unittest.cpp",
    "cfx_cssstylesheet_unittest.cpp",
    "cfx_csssyntaxparser_unittest.cpp",
    "cfx_cssvaluelistparser_unittest.cpp",
  ]
  pdfium_root_dir = "../../../"
  deps = [ ":css" ]
}
