// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

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

namespace base {
namespace {

using ComponentExportTest = testing::Test;

#define IS_TEST_COMPONENT_A_IMPL 1
#define IS_TEST_COMPONENT_B_IMPL
#define IS_TEST_COMPONENT_C_IMPL 0
#define IS_TEST_COMPONENT_D_IMPL 2
#define IS_TEST_COMPONENT_E_IMPL xyz

TEST(ComponentExportTest, ImportExport) {
  // Defined as 1. Treat as export.
  EXPECT_EQ(1, INSIDE_COMPONENT_IMPL(TEST_COMPONENT_A));

  // Defined, but empty. Treat as import.
  EXPECT_EQ(0, INSIDE_COMPONENT_IMPL(TEST_COMPONENT_B));

  // Defined, but 0. Treat as import.
  EXPECT_EQ(0, INSIDE_COMPONENT_IMPL(TEST_COMPONENT_C));

  // Defined, but some other arbitrary thing that isn't 1. Treat as import.
  EXPECT_EQ(0, INSIDE_COMPONENT_IMPL(TEST_COMPONENT_D));
  EXPECT_EQ(0, INSIDE_COMPONENT_IMPL(TEST_COMPONENT_E));

  // Undefined. Treat as import.
  EXPECT_EQ(0, INSIDE_COMPONENT_IMPL(TEST_COMPONENT_F));

  // And just for good measure, ensure that the macros evaluate properly in the
  // context of preprocessor #if blocks.
#if INSIDE_COMPONENT_IMPL(TEST_COMPONENT_A)
  EXPECT_TRUE(true);
#else
  EXPECT_TRUE(false);
#endif

#if !INSIDE_COMPONENT_IMPL(TEST_COMPONENT_B)
  EXPECT_TRUE(true);
#else
  EXPECT_TRUE(false);
#endif

#if !INSIDE_COMPONENT_IMPL(TEST_COMPONENT_C)
  EXPECT_TRUE(true);
#else
  EXPECT_TRUE(false);
#endif

#if !INSIDE_COMPONENT_IMPL(TEST_COMPONENT_D)
  EXPECT_TRUE(true);
#else
  EXPECT_TRUE(false);
#endif

#if !INSIDE_COMPONENT_IMPL(TEST_COMPONENT_E)
  EXPECT_TRUE(true);
#else
  EXPECT_TRUE(false);
#endif

#if !INSIDE_COMPONENT_IMPL(TEST_COMPONENT_F)
  EXPECT_TRUE(true);
#else
  EXPECT_TRUE(false);
#endif
}

#undef IS_TEST_COMPONENT_A_IMPL
#undef IS_TEST_COMPONENT_B_IMPL
#undef IS_TEST_COMPONENT_C_IMPL
#undef IS_TEST_COMPONENT_D_IMPL
#undef IS_TEST_COMPONENT_E_IMPL

}  // namespace
}  // namespace base
