| //===- VersionTupleTests.cpp - Version Number Handling Tests --------------===// |
| // |
| // 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 "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(".")); |
| } |