| Index: mojo/public/cpp/bindings/tests/struct_unittest.cc
|
| diff --git a/mojo/public/cpp/bindings/tests/struct_unittest.cc b/mojo/public/cpp/bindings/tests/struct_unittest.cc
|
| index 61ef96f02a03105b5885637d910179e0fa273ee6..7d744986c43ed6ee5e85f1c28d8b82ee7ae5e822 100644
|
| --- a/mojo/public/cpp/bindings/tests/struct_unittest.cc
|
| +++ b/mojo/public/cpp/bindings/tests/struct_unittest.cc
|
| @@ -51,6 +51,34 @@ TEST_F(StructTest, Rect) {
|
| CheckRect(*rect);
|
| }
|
|
|
| +TEST_F(StructTest, Clone) {
|
| + NamedRegionPtr region;
|
| +
|
| + NamedRegionPtr clone_region = region.Clone();
|
| + EXPECT_TRUE(clone_region.is_null());
|
| +
|
| + region = NamedRegion::New();
|
| + clone_region = region.Clone();
|
| + EXPECT_TRUE(clone_region->name.is_null());
|
| + EXPECT_TRUE(clone_region->rects.is_null());
|
| +
|
| + region->name = "hello world";
|
| + clone_region = region.Clone();
|
| + EXPECT_EQ(region->name, clone_region->name);
|
| +
|
| + region->rects = Array<RectPtr>(2);
|
| + region->rects[1] = MakeRect();
|
| + clone_region = region.Clone();
|
| + EXPECT_EQ(2u, clone_region->rects.size());
|
| + EXPECT_TRUE(clone_region->rects[0].is_null());
|
| + CheckRect(*clone_region->rects[1]);
|
| +
|
| + // NoDefaultFieldValues contains handles, so Clone() is not available, but
|
| + // NoDefaultFieldValuesPtr should still compile.
|
| + NoDefaultFieldValuesPtr no_default_field_values(NoDefaultFieldValues::New());
|
| + EXPECT_FALSE(no_default_field_values->f13.is_valid());
|
| +}
|
| +
|
| // Serialization test of a struct with no pointer or handle members.
|
| TEST_F(StructTest, Serialization_Basic) {
|
| RectPtr rect(MakeRect());
|
|
|