Bundle::Bundle(Bundle&& b) noexcept {
impl_ = std::move(b.impl_);
impl_->parent_ = this;
+ b.impl_.reset(new Impl(&b));
+ b.impl_->handle_ = bundle_create();
}
Bundle& Bundle::operator = (Bundle&& b) noexcept {
Bundle b2(bundle);
EXPECT_EQ(b2.GetString("TestKey"), "TestVal");
+ EXPECT_EQ(bundle.GetString("TestKey"), "TestVal");
}
TEST(Bundle, MoveCtor) {
Bundle b2(std::move(bundle));
EXPECT_EQ(b2.GetString("TestKey"), "TestVal");
+ EXPECT_EQ(bundle.GetString("TestKey"), "");
+}
+
+TEST(Bundle, CopyAssignOp) {
+ Bundle bundle;
+ bundle.Add("TestKey", "TestVal");
+
+ Bundle b2;
+ b2 = bundle;
+ EXPECT_EQ(b2.GetString("TestKey"), "TestVal");
+ EXPECT_EQ(bundle.GetString("TestKey"), "TestVal");
+}
+
+TEST(Bundle, MoveAssignOp) {
+ Bundle bundle;
+ bundle.Add("TestKey", "TestVal");
+
+ Bundle b2;
+ b2 = std::move(bundle);
+ EXPECT_EQ(b2.GetString("TestKey"), "TestVal");
+ EXPECT_EQ(bundle.GetString("TestKey"), "");
+}
+
+TEST(Bundle, MoveAndAssign) {
+ Bundle bundle;
+ bundle.Add("TestKey", "TestVal");
+
+ Bundle b2(std::move(bundle));
+ bundle = std::move(b2);
+ EXPECT_EQ(b2.GetString("TestKey"), "");
+ EXPECT_EQ(bundle.GetString("TestKey"), "TestVal");
}
TEST(Bundle, AddStringGetString) {