1d8c6290bSPavel Labath //===- VersionTupleTests.cpp - Version Number Handling Tests --------------===//
2d8c6290bSPavel Labath //
3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6d8c6290bSPavel Labath //
7d8c6290bSPavel Labath //===----------------------------------------------------------------------===//
8d8c6290bSPavel Labath
9d8c6290bSPavel Labath #include "llvm/Support/VersionTuple.h"
10d8c6290bSPavel Labath #include "gtest/gtest.h"
11d8c6290bSPavel Labath
12d8c6290bSPavel Labath using namespace llvm;
13d8c6290bSPavel Labath
TEST(VersionTuple,getAsString)14d8c6290bSPavel Labath TEST(VersionTuple, getAsString) {
15d8c6290bSPavel Labath EXPECT_EQ("0", VersionTuple().getAsString());
16d8c6290bSPavel Labath EXPECT_EQ("1", VersionTuple(1).getAsString());
17d8c6290bSPavel Labath EXPECT_EQ("1.2", VersionTuple(1, 2).getAsString());
18d8c6290bSPavel Labath EXPECT_EQ("1.2.3", VersionTuple(1, 2, 3).getAsString());
19d8c6290bSPavel Labath EXPECT_EQ("1.2.3.4", VersionTuple(1, 2, 3, 4).getAsString());
20d8c6290bSPavel Labath }
21d8c6290bSPavel Labath
TEST(VersionTuple,tryParse)22d8c6290bSPavel Labath TEST(VersionTuple, tryParse) {
23d8c6290bSPavel Labath VersionTuple VT;
24d8c6290bSPavel Labath
25d8c6290bSPavel Labath EXPECT_FALSE(VT.tryParse("1"));
26d8c6290bSPavel Labath EXPECT_EQ("1", VT.getAsString());
27d8c6290bSPavel Labath
28d8c6290bSPavel Labath EXPECT_FALSE(VT.tryParse("1.2"));
29d8c6290bSPavel Labath EXPECT_EQ("1.2", VT.getAsString());
30d8c6290bSPavel Labath
31d8c6290bSPavel Labath EXPECT_FALSE(VT.tryParse("1.2.3"));
32d8c6290bSPavel Labath EXPECT_EQ("1.2.3", VT.getAsString());
33d8c6290bSPavel Labath
34d8c6290bSPavel Labath EXPECT_FALSE(VT.tryParse("1.2.3.4"));
35d8c6290bSPavel Labath EXPECT_EQ("1.2.3.4", VT.getAsString());
36d8c6290bSPavel Labath
37d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse(""));
38d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1."));
39d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1.2."));
40d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1.2.3."));
41d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1.2.3.4."));
42d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1.2.3.4.5"));
43d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1-2"));
44d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1+2"));
45d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse(".1"));
46d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse(" 1"));
47d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("1 "));
48d8c6290bSPavel Labath EXPECT_TRUE(VT.tryParse("."));
49d8c6290bSPavel Labath }
50