From 4ea70ecda8802f8472459c6564b6a0769eb1b534 Mon Sep 17 00:00:00 2001 From: Ilya Biryukov Date: Thu, 25 Apr 2019 09:03:32 +0000 Subject: [Support] Add a GTest matcher for Optional Reviewers: sammccall Reviewed By: sammccall Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61071 llvm-svn: 359174 --- llvm/unittests/Support/CMakeLists.txt | 1 + llvm/unittests/Support/MatchersTest.cpp | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 llvm/unittests/Support/MatchersTest.cpp (limited to 'llvm/unittests') diff --git a/llvm/unittests/Support/CMakeLists.txt b/llvm/unittests/Support/CMakeLists.txt index 70fc40d883a..fd839bc90b4 100644 --- a/llvm/unittests/Support/CMakeLists.txt +++ b/llvm/unittests/Support/CMakeLists.txt @@ -39,6 +39,7 @@ add_llvm_unittest(SupportTests LEB128Test.cpp LineIteratorTest.cpp LockFileManagerTest.cpp + MatchersTest.cpp MD5Test.cpp ManagedStatic.cpp MathExtrasTest.cpp diff --git a/llvm/unittests/Support/MatchersTest.cpp b/llvm/unittests/Support/MatchersTest.cpp new file mode 100644 index 00000000000..3248686fba9 --- /dev/null +++ b/llvm/unittests/Support/MatchersTest.cpp @@ -0,0 +1,25 @@ +//===----- unittests/MatchersTest.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 "llvm/ADT/Optional.h" +#include "llvm/Testing/Support/SupportHelpers.h" +#include "gmock/gmock-matchers.h" + +using ::testing::_; +using ::testing::AllOf; +using ::testing::Gt; +using ::testing::Lt; +using ::testing::Not; + +namespace { +TEST(MatchersTest, Optional) { + EXPECT_THAT(llvm::Optional(llvm::None), Not(llvm::ValueIs(_))); + EXPECT_THAT(llvm::Optional(10), llvm::ValueIs(10)); + EXPECT_THAT(llvm::Optional(10), llvm::ValueIs(AllOf(Lt(11), Gt(9)))); +} +} // namespace -- cgit v1.2.3