================
@@ -0,0 +1,100 @@
+//===- ModelStringConversionsTest.cpp 
-------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "ModelStringConversions.h"
+#include "gtest/gtest.h"
+
+using namespace clang::ssaf;
+
+namespace {
+
+//===----------------------------------------------------------------------===//
+// BuildNamespaceKind
+//===----------------------------------------------------------------------===//
+
+TEST(BuildNamespaceKindStringTest, ToStringCompilationUnit) {
+  EXPECT_EQ(buildNamespaceKindToString(BuildNamespaceKind::CompilationUnit),
+            "CompilationUnit");
+}
+
+TEST(BuildNamespaceKindStringTest, ToStringLinkUnit) {
+  EXPECT_EQ(buildNamespaceKindToString(BuildNamespaceKind::LinkUnit),
+            "LinkUnit");
+}
+
+TEST(BuildNamespaceKindStringTest, FromStringCompilationUnit) {
+  EXPECT_EQ(buildNamespaceKindFromString("CompilationUnit"),
+            BuildNamespaceKind::CompilationUnit);
+}
+
+TEST(BuildNamespaceKindStringTest, FromStringLinkUnit) {
+  EXPECT_EQ(buildNamespaceKindFromString("LinkUnit"),
+            BuildNamespaceKind::LinkUnit);
+}
+
+TEST(BuildNamespaceKindStringTest, FromStringUnknown) {
+  EXPECT_EQ(buildNamespaceKindFromString("compilation_unit"), std::nullopt);
+  EXPECT_EQ(buildNamespaceKindFromString("link_unit"), std::nullopt);
+  EXPECT_EQ(buildNamespaceKindFromString(""), std::nullopt);
+  EXPECT_EQ(buildNamespaceKindFromString("unknown"), std::nullopt);
+}
+
+TEST(BuildNamespaceKindStringTest, RoundTrip) {
+  for (auto Kind :
+       {BuildNamespaceKind::CompilationUnit, BuildNamespaceKind::LinkUnit}) {
+    EXPECT_EQ(buildNamespaceKindFromString(buildNamespaceKindToString(Kind)),
+              Kind);
+  }
+}
+
+//===----------------------------------------------------------------------===//
+// EntityLinkageType
+//===----------------------------------------------------------------------===//
+
+TEST(EntityLinkageTypeStringTest, ToStringNone) {
+  EXPECT_EQ(entityLinkageTypeToString(EntityLinkageType::None), "None");
+}
+
+TEST(EntityLinkageTypeStringTest, ToStringInternal) {
+  EXPECT_EQ(entityLinkageTypeToString(EntityLinkageType::Internal), 
"Internal");
+}
+
+TEST(EntityLinkageTypeStringTest, ToStringExternal) {
+  EXPECT_EQ(entityLinkageTypeToString(EntityLinkageType::External), 
"External");
+}
+
+TEST(EntityLinkageTypeStringTest, FromStringNone) {
+  EXPECT_EQ(entityLinkageTypeFromString("None"), EntityLinkageType::None);
+}
+
+TEST(EntityLinkageTypeStringTest, FromStringInternal) {
+  EXPECT_EQ(entityLinkageTypeFromString("Internal"),
+            EntityLinkageType::Internal);
+}
+
+TEST(EntityLinkageTypeStringTest, FromStringExternal) {
+  EXPECT_EQ(entityLinkageTypeFromString("External"),
+            EntityLinkageType::External);
+}
+
+TEST(EntityLinkageTypeStringTest, FromStringUnknown) {
+  EXPECT_EQ(entityLinkageTypeFromString("none"), std::nullopt);
+  EXPECT_EQ(entityLinkageTypeFromString("internal"), std::nullopt);
+  EXPECT_EQ(entityLinkageTypeFromString("external"), std::nullopt);
+  EXPECT_EQ(entityLinkageTypeFromString(""), std::nullopt);
+  EXPECT_EQ(entityLinkageTypeFromString("unknown"), std::nullopt);
+}
+
+TEST(EntityLinkageTypeStringTest, RoundTrip) {
+  for (auto LT : {EntityLinkageType::None, EntityLinkageType::Internal,
+                  EntityLinkageType::External}) {
----------------
steakhal wrote:

Same here.

https://github.com/llvm/llvm-project/pull/183390
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to