#include "absl/meta/internal/constexpr_testing.h"
#include <map>
#include <string_view>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
namespace {
TEST(ConstexprTesting, Basic) {
using absl::meta_internal::HasConstexprEvaluation;
EXPECT_TRUE(HasConstexprEvaluation([] {}));
static constexpr int const_global = 7;
EXPECT_TRUE(HasConstexprEvaluation([] { return const_global; }));
EXPECT_TRUE(HasConstexprEvaluation([] { return 0; }));
EXPECT_TRUE(HasConstexprEvaluation([] { return std::string_view{}; }));
static int nonconst_global;
EXPECT_FALSE(HasConstexprEvaluation([] { return nonconst_global; }));
EXPECT_FALSE(HasConstexprEvaluation([] { std::abort(); }));
EXPECT_FALSE(HasConstexprEvaluation([] { return std::map<int, int>(); }));
}
}