Allow Optionals to be compared to None
[oota-llvm.git] / unittests / ADT / OptionalTest.cpp
index 92c4eec487a6755bd6ba088414dba0fd3abf4ce5..18b59e315818eaa84eb35464e702b131c9099c1d 100644 (file)
@@ -377,5 +377,18 @@ TEST_F(OptionalTest, MoveGetValueOr) {
 
 #endif // LLVM_HAS_RVALUE_REFERENCE_THIS
 
 
 #endif // LLVM_HAS_RVALUE_REFERENCE_THIS
 
+TEST_F(OptionalTest, NoneComparison) {
+  Optional<int> o;
+  EXPECT_EQ(o, None);
+  EXPECT_EQ(None, o);
+  EXPECT_FALSE(o != None);
+  EXPECT_FALSE(None != o);
+  o = 3;
+  EXPECT_FALSE(o == None);
+  EXPECT_FALSE(None == o);
+  EXPECT_TRUE(o != None);
+  EXPECT_TRUE(None != o);
+}
+
 } // end anonymous namespace
 
 } // end anonymous namespace