Index: base/tuple_unittest.cc |
diff --git a/base/tuple_unittest.cc b/base/tuple_unittest.cc |
index 815b43bb1b3236b10cc5a142b4d5ef1e264d84b1..b703671d1c63188eda40ccee973557c3fccc8bb0 100644 |
--- a/base/tuple_unittest.cc |
+++ b/base/tuple_unittest.cc |
@@ -114,4 +114,20 @@ TEST(TupleTest, Copying) { |
EXPECT_EQ(2, CopyLogger::TimesCopied); |
} |
+TEST(TupleTest, Get) { |
+ int i = 1; |
+ int j = 2; |
+ std::tuple<int, int&, int&&> t(3, i, std::move(j)); |
+ EXPECT_TRUE((std::is_same<int&, decltype(base::get<0>(t))>::value)); |
+ EXPECT_TRUE((std::is_same<int&, decltype(base::get<1>(t))>::value)); |
+ EXPECT_TRUE((std::is_same<int&, decltype(base::get<2>(t))>::value)); |
+ |
+ EXPECT_TRUE((std::is_same<int&&, |
+ decltype(base::get<0>(std::move(t)))>::value)); |
+ EXPECT_TRUE((std::is_same<int&, |
+ decltype(base::get<1>(std::move(t)))>::value)); |
+ EXPECT_TRUE((std::is_same<int&&, |
+ decltype(base::get<2>(std::move(t)))>::value)); |
+} |
+ |
} // namespace base |