| //===- VersionTupleTests.cpp - Version Number Handling Tests --------------===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "llvm/Support/VersionTuple.h" |
| #include "gtest/gtest.h" |
| |
| using namespace llvm; |
| |
| TEST(VersionTuple, getAsString) { |
| EXPECT_EQ("0", VersionTuple().getAsString()); |
| EXPECT_EQ("1", VersionTuple(1).getAsString()); |
| EXPECT_EQ("1.2", VersionTuple(1, 2).getAsString()); |
| EXPECT_EQ("1.2.3", VersionTuple(1, 2, 3).getAsString()); |
| EXPECT_EQ("1.2.3.4", VersionTuple(1, 2, 3, 4).getAsString()); |
| } |
| |
| TEST(VersionTuple, tryParse) { |
| VersionTuple VT; |
| |
| EXPECT_FALSE(VT.tryParse("1")); |
| EXPECT_EQ("1", VT.getAsString()); |
| |
| EXPECT_FALSE(VT.tryParse("1.2")); |
| EXPECT_EQ("1.2", VT.getAsString()); |
| |
| EXPECT_FALSE(VT.tryParse("1.2.3")); |
| EXPECT_EQ("1.2.3", VT.getAsString()); |
| |
| EXPECT_FALSE(VT.tryParse("1.2.3.4")); |
| EXPECT_EQ("1.2.3.4", VT.getAsString()); |
| |
| EXPECT_TRUE(VT.tryParse("")); |
| EXPECT_TRUE(VT.tryParse("1.")); |
| EXPECT_TRUE(VT.tryParse("1.2.")); |
| EXPECT_TRUE(VT.tryParse("1.2.3.")); |
| EXPECT_TRUE(VT.tryParse("1.2.3.4.")); |
| EXPECT_TRUE(VT.tryParse("1.2.3.4.5")); |
| EXPECT_TRUE(VT.tryParse("1-2")); |
| EXPECT_TRUE(VT.tryParse("1+2")); |
| EXPECT_TRUE(VT.tryParse(".1")); |
| EXPECT_TRUE(VT.tryParse(" 1")); |
| EXPECT_TRUE(VT.tryParse("1 ")); |
| EXPECT_TRUE(VT.tryParse(".")); |
| } |