diff --git a/test/xml/xml_api_test.cc b/test/xml/xml_api_test.cc
index ade892f9..8988b851 100644
--- a/test/xml/xml_api_test.cc
+++ b/test/xml/xml_api_test.cc
@@ -64,7 +64,34 @@ TEST_F(LoadXmlTest, InvalidXmlFailsToLoad) {
mj_deleteModel(model);
}
}
-// TODO(nimrod): Add more tests for mj_loadXML.
+
+TEST_F(LoadXmlTest, MultipleBodies) {
+ static constexpr char xml[] = R"(
+
+
+
+
+
+
+
+
+
+
+
+
+ )";
+ std::array error;
+ mjModel* model = LoadModelFromString(xml, error.data(), error.size());
+
+ ASSERT_THAT(model, NotNull()) << "Failed to load model: " << error.data();
+ EXPECT_EQ(model->nbody, 3);
+
+ mjData* data = mj_makeData(model);
+ EXPECT_THAT(data, NotNull());
+ mj_step(model, data);
+ mj_deleteData(data);
+ mj_deleteModel(model);
+}
using SaveLastXmlTest = MujocoTest;