VersionTupleTest.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //===- VersionTupleTests.cpp - Version Number Handling Tests --------------===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. #include "llvm/Support/VersionTuple.h"
  10. #include "gtest/gtest.h"
  11. using namespace llvm;
  12. TEST(VersionTuple, getAsString) {
  13. EXPECT_EQ("0", VersionTuple().getAsString());
  14. EXPECT_EQ("1", VersionTuple(1).getAsString());
  15. EXPECT_EQ("1.2", VersionTuple(1, 2).getAsString());
  16. EXPECT_EQ("1.2.3", VersionTuple(1, 2, 3).getAsString());
  17. EXPECT_EQ("1.2.3.4", VersionTuple(1, 2, 3, 4).getAsString());
  18. }
  19. TEST(VersionTuple, tryParse) {
  20. VersionTuple VT;
  21. EXPECT_FALSE(VT.tryParse("1"));
  22. EXPECT_EQ("1", VT.getAsString());
  23. EXPECT_FALSE(VT.tryParse("1.2"));
  24. EXPECT_EQ("1.2", VT.getAsString());
  25. EXPECT_FALSE(VT.tryParse("1.2.3"));
  26. EXPECT_EQ("1.2.3", VT.getAsString());
  27. EXPECT_FALSE(VT.tryParse("1.2.3.4"));
  28. EXPECT_EQ("1.2.3.4", VT.getAsString());
  29. EXPECT_TRUE(VT.tryParse(""));
  30. EXPECT_TRUE(VT.tryParse("1."));
  31. EXPECT_TRUE(VT.tryParse("1.2."));
  32. EXPECT_TRUE(VT.tryParse("1.2.3."));
  33. EXPECT_TRUE(VT.tryParse("1.2.3.4."));
  34. EXPECT_TRUE(VT.tryParse("1.2.3.4.5"));
  35. EXPECT_TRUE(VT.tryParse("1-2"));
  36. EXPECT_TRUE(VT.tryParse("1+2"));
  37. EXPECT_TRUE(VT.tryParse(".1"));
  38. EXPECT_TRUE(VT.tryParse(" 1"));
  39. EXPECT_TRUE(VT.tryParse("1 "));
  40. EXPECT_TRUE(VT.tryParse("."));
  41. }