// Copyright 2019 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.

#ifndef TESTING_XFA_UNIT_TEST_SUPPORT_H_
#define TESTING_XFA_UNIT_TEST_SUPPORT_H_

#include <memory>

#include "testing/gtest/include/gtest/gtest.h"

#ifndef PDF_ENABLE_XFA
#error "XFA must be enabled"
#endif

class XFATestEnvironment : public testing::Environment {
 public:
  XFATestEnvironment();
  ~XFATestEnvironment();

  // testing::TestEnvironment:
  void SetUp() override;
  void TearDown() override;
};

#endif  // TESTING_XFA_UNIT_TEST_SUPPORT_H_
