Prevent bodies from overwriting the frame names in xml_native_writer.

PiperOrigin-RevId: 625632369
Change-Id: If3bd048ac40e116fcb97beb3dca3d99826fe4ad0
This commit is contained in:
Alessio Quaglino
2024-04-17 04:06:40 -07:00
committed by Copybara-Service
parent b33230210a
commit 4b6c07cd7d
3 changed files with 19 additions and 7 deletions
+5 -2
View File
@@ -736,7 +736,7 @@ TEST_F(XMLWriterTest, WritesFrameDefaults) {
<geom size=".5" euler="0 0 20"/>
</frame>
<body>
<body name="body">
<frame pos="0 1 0" name="f2" childclass="dframe">
<geom pos="0 1 0"/>
<body pos="1 0 0">
@@ -752,7 +752,10 @@ TEST_F(XMLWriterTest, WritesFrameDefaults) {
EXPECT_THAT(model, NotNull()) << error.data();
std::string saved_xml = SaveAndReadXml(model);
EXPECT_THAT(saved_xml, HasSubstr("frame name=\"f1\""));
EXPECT_THAT(saved_xml, HasSubstr("frame name=\"f2\" childclass=\"dframe\""));
EXPECT_THAT(saved_xml, HasSubstr("frame name=\"f2\" childclass=\"dframe\">"));
EXPECT_THAT(saved_xml, HasSubstr("geom pos=\"0 2 0\""));
EXPECT_THAT(saved_xml, HasSubstr("body pos=\"1 1 0\""));
EXPECT_THAT(saved_xml, HasSubstr("geom pos=\"0 0 1\""));
EXPECT_THAT(saved_xml, Not(HasSubstr("<frame>")));
mj_deleteModel(model);
}